代码如下:
import numpy as np from numpy.linalg import inv from numpy import dot from numpy import mat X=mat([1,2,3]).reshape(3,1) Y=2*X #theta=theta-alpha*(theta*X-Y)*X theta=1 alpha=0.1 for i in range(100): theta=theta+np.sum(alpha*(Y-dot(X,theta))*X.reshape(1,3))/3. print(theta)梯度下降算法的作用:在机器学习算法中,对于很多监督学习模型,需要对原始的模型构建损失函数L,接下来便是通过优化算法对损失函数L进行优化,以便寻找到最优的参数W。在求解机器学习参数W的优化算法时,使用较多的是基于梯度下降的优化算法。