我正在尝试创建多变量梯度下降法的方程。方程图片:https://www.holehouse.org/mlclass/04_Linear_Regression_with_multiple_variables_files/Image%20[3].png
最终的解决方案是:
theta = theta - alpha *((np.dot((np.dot(X,theta)-y), X))*(1/m)).
我犯了一个错误,额外加了一个”np.sum”:
theta = theta - alpha *((`np.sum`(((np.dot((np.dot(X,theta)-y), X))*(1/m))))*(1/m))
我对为什么解决方案不需要np.sum
感到困惑,或者说求和到底在什么时候发生的?
回答:
np.dot
包含了乘积元素的求和。
dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
查看文档