多变量梯度下降的矢量化

时间:2017-01-20 19:01:43

标签: machine-learning gradient-descent

我在Andrew Ng的机器学习课程中一直在做作业1。但是,当我对多变量梯度下降进行矢量化时,我仍然坚持理解他所说的内容。

他的等式如下: theta:= theta - alpha * f

f应该由1 / m * sum(h(xi)-yi)* Xi创建,其中i是索引

现在这里我感到困惑,我知道h(xi)-y(i)可以重写为theta * xi,其中xi代表一行特征元素(1xn)而theta代表一列(nx1)生成然后我从y的单个值中减去一个标量,然后乘以Xi,其中Xi表示1个特征值的列?

这样会给我mx1载体吗?然后必须从nx1向量中减去?

是Xi表示一行特征值吗?如果是这样,我怎么能这样做而不索引所有这些行?

我具体指的是这张图片: enter image description here

1 个答案:

答案 0 :(得分:0)

我将用非矢量化实现来解释它

  

这样会给我mx1载体吗?然后必须从中减去   一个nx1向量?

是的它会给你 mx 1 向量,但是要从 nx 1 向量中减去它,它必须从 mx 1 矢量也。怎么样?

  

我知道h(xi)-y(i)可以改写为theta * xi,其中xi   表示一行特征元素(1xn),theta表示a   列(nx1)生成标量

你实际上已经回答了它,theta * xi产生了一个标量,所以当你有 m 样本时它会给你一个 m x 1 向量。如果你在方程中仔细看到,来自 h(xi) - y(i)的标量结果也会与标量相乘,即样本i x0 (x sup i sub 0)所以它会给你一个标量结果,如果你有m个样本,它会是 mx 1 向量。