最小二乘法又称最小平方法,是一种数学优化方法,它通过最小化误差的平方和寻找数据的最佳函数匹配。经常用于回归问题,可以方便的求得未知参数。(曲线拟合,最小化能量或者最大化熵等问题)
- 数学定义
- 给定函数
f
(
x
;
α
0
,
α
1
,
α
2
,
⋯
,
α
m
)
f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})
f(x;α0,α1,α2,⋯,αm)及其在N个不同点
x
1
,
x
2
,
⋯
,
x
n
x_{1},x_{2},\cdots,x_{n}
x1,x2,⋯,xn的测量值
y
1
,
y
2
,
⋯
,
y
n
y_{1},y_{2},\cdots,y_{n}
y1,y2,⋯,yn,即
f
(
x
;
α
0
,
α
1
,
α
2
,
⋯
,
α
m
)
f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})
f(x;α0,α1,α2,⋯,αm)得值,那么确定位置参数集,可以通过使得下式最小获得(n>m时有解)
m i n α J ( α ) = 1 n ∑ i = 1 n [ f ( x ; α 0 , α 1 , α 2 , ⋯ , α m ) − y i ] 2 min_{\alpha}J(\alpha)=\frac{1}{n}\sum_{i=1}^{n}[f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})-y_{i}]^{2} minαJ(α)=n1∑i=1n[f(x;α0,α1,α2,⋯,αm)−yi]2 - f ( x ; α 0 , α 1 , α 2 , ⋯ , α m ) = α 0 + ∑ j = 1 m α j φ j ( x j ) , 若 φ j ( x j ) = x j f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})=\alpha_{0}+\sum_{j=1}^{m}\alpha_{j}\varphi_{j}(x_{j}),若\varphi_{j}(x_{j})=x_{j} f(x;α0,α1,α2,⋯,αm)=α0+∑j=1mαjφj(xj),若φj(xj)=xj,则f为线性函数
- 给定函数
f
(
x
;
α
0
,
α
1
,
α
2
,
⋯
,
α
m
)
f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})
f(x;α0,α1,α2,⋯,αm)及其在N个不同点
x
1
,
x
2
,
⋯
,
x
n
x_{1},x_{2},\cdots,x_{n}
x1,x2,⋯,xn的测量值
y
1
,
y
2
,
⋯
,
y
n
y_{1},y_{2},\cdots,y_{n}
y1,y2,⋯,yn,即
f
(
x
;
α
0
,
α
1
,
α
2
,
⋯
,
α
m
)
f(x;\alpha_{0},\alpha_{1},\alpha_{2},\cdots,\alpha_{m})
f(x;α0,α1,α2,⋯,αm)得值,那么确定位置参数集,可以通过使得下式最小获得(n>m时有解)
- 方程求解
- A α = y A\alpha=y Aα=y
- A T A α = A T y A^{T}A\alpha=A^{T}y ATAα=ATy
- α = ( A T A ) − 1 A T y \alpha=(A^{T}A)^{-1}A^{T}y α=(ATA)−1ATy
- 病态矩阵:如果对数据进行较小得扰动,则得出的结果具有很大的波动。
- 梯度下降法
- m i n α J ( α ) = ∥ A α − y ∥ 2 2 min_{\alpha}J(\alpha)=\left \| A\alpha -y \right \| _{2}^{2} minαJ(α)=∥Aα−y∥22
- for j in range(epochs)
\quad for ( x k , y k x_{k},y_{k} xk,yk) in traning set
α = α − λ ∂ J ( α ) ∂ α \quad \quad \alpha=\alpha-\lambda \frac{\partial J(\alpha )}{\partial \alpha } α=α−λ∂α∂J(α)
\quad end
end - 初始值会导致梯度下降法得到不同的局部最优解;学习率影响收敛速度,甚至是否收敛。