2017-01-20 141 views
1

我一直在Andrew Ng的机器学习课程中做作业1。但是,当我将矢量化多变量梯度下降的时候,我被困在了他正在谈论的内容上。多变量梯度下降的矢量化

他的方程被表示为如下: THETA:= THETA - α* F

f为应该由1/M *总和(H(XI) - 基)*僖其中i是被创建索引

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

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

Xi代表一行特征值吗?如果是的话,我怎么能做到这一点,而不索引所有这些行?

我专门提到这一形象: enter image description here

回答

0

我会与非矢量化实现

,这样会给我MX1矢量解释一下吗?然后必须从 减去一个nx1向量?

是的,它会给你米X 1个矢量,而是从的N×1矢量中减去,它必须从米X 1个矢量减去了。怎么样?

我知道H(XI)-y(ⅰ)可被重写为THETA * XI其中,xi 表示特征元件的行(1XN)和θ表示 柱(NX1)产生一个标量

你实际上已经回答这个问题,THETA *喜产生一个标量,所以当你有样本,它会给你一个MX 1载体。如果您在方程式中仔细看,则标量结果从h(xi) - y(i)乘以一个标量也是样本i(x sup i sub 0)的x0,所以它会给您一个标量结果或mx 1向量如果您有m个样本。