矢量化梯度下降函数

问题描述 投票:0回答:1

我对线性代数还很陌生,目前正在参加Andrew Ng的机器学习课程。我正在努力了解以下两个功能是如何相同的。我正在对梯度下降进行矢量化处理,以进行线性/逻辑回归。

theta = theta - (alpha/m)*(X')*(X*theta - y)

theta = theta - (alpha/m)*sum(X*theta -y)*x(i)

[我的想法是x(i)是一个向量,为了进行向量乘法,我需要对其进行转置,但是当尝试模拟一个示例时,我没有看到这是多么必要。任何帮助或解释将不胜感激。

machine-learning vectorization octave linear-regression gradient-descent
1个回答
0
投票

假设您正在参考底部的等式,第4讲,第8页,则求和错误。术语x [(i)的意思是内部,而不是外部。在“向量化”的情况下,您的输入X包含所有单个观测值x(i)(大概)为列向量(请确保与您的代码确认)。因此,正确的等效较低表达式应为:

theta = theta - (alpha/m)*sum(X*theta -y .* X)

它的确等价于顶部的其他向量化表达式,因为通常,对于任何两个vectors aba * b等同于sum(a .* b)]是正确的>

© www.soinside.com 2019 - 2024. All rights reserved.