【问题标题】:Vectorization of mulivariable gradient descent多变量梯度下降的向量化
【发布时间】:2017-06-05 20:33:19
【问题描述】:

我一直在做 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代表一行特征值?如果是这样,我该如何在不对所有这些行进行索引的情况下做到这一点?

我特指这张图片:

【问题讨论】:

    标签: machine-learning gradient-descent


    【解决方案1】:

    我会用非向量化的实现来解释一下

    所以这会给我mx1矢量吗?然后必须从中减去 NX1载体?

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

    我知道 h(xi)-y(i) 可以重写为 theta*xi where xi 表示一行特征元素(1xn),theta 表示一个 列(NX1)产生标量

    你实际上已经回答了,theta * xi 产生一个标量,所以当你有 m 个样本时,它会给你一个 m x 1 向量。如果你在等式中仔细观察,h(xi) - y(i) 的标量结果也乘以一个标量,即样本 i 中的 x0 (x sup i子0)因此如果您有M样本,它会给您一个标量结果,或者 mx 1 em>矢量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-11
      • 2014-01-11
      • 2020-03-23
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      相关资源
      最近更新 更多