参数估计(Parameter Estimate)就是通过一系列算法,来求出模型的最优参数。在各个机器学习深度学习的框架里,都变成了optimizer的活了。
其实这个名字很奇怪,但是在比较早的机器学习论文里都是这么叫的,我们重点来关注下里面涉及的一些算法。
这里主要关注的是
- 最小二乘法
- 梯度下降
- 牛顿法
- 拟牛顿法(未完成)
最小二乘法 Least Squares Method
二乘是平方的意思,感觉最小二乘法就相当于均方误差(MSE)了,最小二乘法的思想是找到一组参数 θ = ( θ 0 , θ 1 , . . . , θ n ) \theta=(\theta_0, \theta_1, ..., \theta_n) θ=(θ0,θ1,...,θn)使得 ∑ i = 1 n ( h θ ( x i ) − y i ) 2 \sum_{i=1}^n(h_\theta(x_i)-y_i)^2 ∑i=1n(hθ(xi)−yi)2最小
具体求解时,通过代数法求解,假设模型为 h θ ( x ) = X θ h_\theta(x) = X\theta hθ(x)=Xθ,那么定义损失函数为 J ( θ ) = 1 2 ( X θ − Y ) T ( X θ − Y ) J(\theta) = \frac{1}{2}(X\theta-Y)^T(X\theta-Y) J(θ)=21(Xθ−Y)T(Xθ−Y),这里二分之一是为了计算方便。那么求解步骤如下:
∂ J ( θ ) ∂ θ = X T ( X θ − Y ) = 0 θ = ( X T X ) − 1 X T Y \frac{\partial J(\theta)}{\partial \theta} = X^T(X\theta-Y) = 0\\ \theta = (X^TX)^{-1}X^TY ∂θ∂J(θ)=XT(Xθ−Y)=0θ=(XTX