我在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表示一行特征值吗?如果是这样,我怎么能这样做而不索引所有这些行?
答案 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 向量。