梯度下降算法的给出如下:
(摘自Andres NG的Coursera课程)如果有超过两个theta参数(特征权重),该如何实现这个算法?
是否应该包含一个额外的theta值:
并重复直到收敛,换句话说,直到theta0, theta1, theta2不再变化?
回答:
或许可以将theta转换为矩阵表示法
big theta = big theta - alpha/m * sigma(h(big theta(X) - Y) * X .
Andrew Ng的表示法是为了让那些不太熟悉矩阵表示法的人更容易理解——我怀疑这不包括你自己。–
矩阵公式——一个单一的方程而不是多个方程——可能比原始问题中逐个展示的方程更清晰。单一的矩阵公式显示了更新实际上是设计矩阵中所有向量的原子操作。这是底层线性代数库的责任来实现这一点。