机器学习算法Python实现目录一、1、代价函数其中:下面就是要求出theta,使代价最小,即代表我们拟合出来的方程距离真实值最近共有m条数据,其中代表我们要拟合出来的方程到真实值距离的平方,平方的原因是因为可能有负值,正负可能会抵消前面有系数2的原因是下面求梯度是对每个变量求偏导,2可以消去实现代码: #计算代价函数def computerCost(X,y,theta): m = len(y) J = 0 J = (np.transpose(Xtheta-y))(Xtheta-y)/(2m) #计算代价J return J注意这里的X是真实数据前加了一列1,因为有theta(0) 2、梯度下降算法代价函数对求偏导得到:所以对theta的更新可以写为:其中为学习速率,控制梯度下降的速度,一般取0.01,0.03,0.1,0.3.....为什么梯度下降可以逐步减小代价函数假设函数f(x)泰勒展开:f(x+△x)=f(x)+f'(x)△x+o(△x)令:△x=-αf'(x) ,即负梯度方向乘以一个很小的步长α将△x