【梯度下降】
1、本质:求解f'(x)=0
2、算法:起点X0按照步长α向f'(x)为0逼近(x(n+1) = x(n) - α*f'(x(n)))
3、结果:迭代操作,f'(x)满足期望精度
4、前提:梯度必须为递增(凸函数)
【线性回归梯度下降】
1、代数推导
(1)、预测函数:h(x)=θ(0)+θ(1)*x
(2)、损失函数:J(θ)=(1/2m)*∑(h(x(i))-y(i))**2
(3)、梯度:▽J(θ(0))=(1/m)*∑(h(x(i))-y(i))
▽J(θ(1))=(1/m)*∑(h(x(i))-y(i))*x(i)
(4)、代入x,y即可得到基于θ的2元梯度下降公司
2、矩阵推导
(1)、预测函数:y=X*θ
(2)、损失函数:J(θ) = (Xθ-y)ⁿ(Xθ-y)/2m
(3)、梯度:▽J(θ)=Xⁿ(Xθ-y)/m
矩阵求导:(AX)′=Aⁿ
(XⁿX)′=2X
注:Xⁿ为矩阵X的转置
【线性方程求解】
1、损失函数求导
J(θ) = (X*θ-y)ⁿ(X*θ-y)/2m
▽J(θ)=Xⁿ * (X*θ-y)/m = 0
Xⁿ * X*θ = Xⁿ * y
θ = pinv(Xⁿ * X ) * Xⁿ * y
2、矩阵乘法
X * θ = y
Xⁿ * X * θ = Xⁿ * y
θ = pinv(Xⁿ * X ) * Xⁿ * y