这一次推导一下采用最小二乘法进行曲线拟合,以及在高斯假设下采用最大似然估计和最大后验估计的曲线拟合。这也是《Pattern Recognition and Machine Learning》书中第一章的内容,相关公式编号与原书一致。
通过这个推导可以使我们看到最小二乘法与高斯假设下的最大似然估计之间的联系,以及带有系数的 l 2 \mathcal{l}_2 l2 范数正则项的最小二乘法与高斯假设下的最大后验估计之间的联系。
训练集包含 x x x 的 N N N 个观测值 X = { x 1 , … , x N } \mathcal{X}=\{ x_1,\dots,x_N \} X={x1,…,xN} 及它们对应的目标值 T = { t 1 , … , t N } \mathcal{T}=\{ t_1,\dots,t_N \} T={t1,…,tN}。
使用 M M M 阶多项式
(1.1) y ( x , w ) = w 0 + w 1 x + w 2 x 2 + ⋯ + w M x M = ∑ j = 0 M w j x j = x T w y(x,\mathbf{w}) = w_0 + w_1x + w_2x^2 + \cdots + w_Mx^M = \sum_{j=0}^M w_jx^j = \mathbf{x}^T\mathbf{w} \tag{1.1} y(x,w)=w0+w1x+w2x2+⋯+wMxM=j=0∑Mwjxj=xTw(1.1)
进行拟合。
设数据矩阵 X ∈ R N × ( M + 1 ) X \in \mathbb{R}^{N \times (M+1)} X∈RN×(M+1),系数向量 w ∈ R ( M + 1 ) × 1 \mathbf{w} \in \mathbb{R}^{(M+1) \times 1} w∈R(M+1)×1,目标向量 t ∈ R N × 1 \mathbf{t} \in \mathbb{R}^{N \times 1} t∈RN×1,预测向量 y ∈ R N × 1 \mathbf{y} \in \mathbb{R}^{N \times 1} y∈RN×1 ,其中
X = [ x 1 0 x 1 1 ⋯ x 1 M x 2 0 x 2 1 ⋯ x 2 M ⋮ ⋮ ⋮ ⋮ x N 0 x N 1 ⋯ x N M ] \mathbf{X} = \begin{bmatrix} x_1^0&x_1^1&\cdots&x_1^M \\ x_2^0&x_2^1&\cdots&x_2^M \\ \vdots&\vdots&\vdots&\vdots \\ x_N^0&x_N^1&\cdots&x_N^M \end{bmatrix} X=⎣⎢⎢⎢⎡x10x20⋮xN0x11x21⋮xN1⋯⋯⋮⋯x1Mx2M⋮xNM⎦⎥⎥⎥⎤
w = [ w 0 w 1 ⋮ w M ] t = [ t 1 t 2 ⋮ t M ] y = [ y 1 y 2 ⋮ y M ] \mathbf{w} = \begin{bmatrix} w_0 \\ w_1 \\ \vdots \\w_M \end{bmatrix} \qquad \mathbf{t} = \begin{bmatrix} t_1 \\ t_2 \\ \vdots \\t_M \end{bmatrix} \qquad \mathbf{y} = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\y_M \end{bmatrix} w=⎣⎢⎢⎢⎡w0w1⋮wM⎦⎥⎥⎥⎤t=⎣⎢⎢⎢⎡t1t2⋮tM⎦⎥⎥⎥⎤y=⎣⎢⎢⎢⎡y1y2⋮yM⎦⎥⎥⎥⎤
那么,有
y = X w \mathbf{y}=\mathbf{X}\mathbf{w} y=Xw
损失函数采用平方和误差函数
(1.2) E ( w ) = 1 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 \mathrm{E}(\mathbf{w}) = \frac{1}{2} \sum_{n=1}^N\left\{ y(x_n,\mathbf{w})-t_n \right\}^2 \tag{1.2} E(w)=21n=1∑N{y(xn,w)−tn}2(1.2)
该损失函数写为向量形式,为
E ( w ) = 1 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 = 1 2 ( y − t ) T ( y − t ) = 1 2 ( X w − t ) T ( X w − t ) \begin{aligned} \mathrm{E}(\mathbf{w}) &= \frac{1}{2} \sum_{n=1}^N\left\{ y(x_n,\mathbf{w})-t_n \right\}^2 \\ &= \frac{1}{2} (\mathbf{y} - \mathbf{t})^T(\mathbf{y} - \mathbf{t}) \\ & = \frac{1}{2} (\mathbf{X} \mathbf{w} - \mathbf{t})^T (\mathbf{X} \mathbf{w} - \mathbf{t}) \end{aligned} E(w)=21n=1∑N{y(xn,w)−tn}2=21(y−t)T(y−t)=21(Xw−t)T(Xw−t)
令
∂ E ∂ w = 0 \frac{\partial\mathrm{E}}{\partial \mathbf{w}} = 0 ∂w∂E=0
即
∂ E ∂ w = 1 2 ∂ ∂ w ( X w − t ) T ( X w − t ) = X T ( X w − t ) = 0 \begin{aligned} \frac{\partial\mathrm{E}}{\partial \mathbf{w}} &= \frac{1}{2} \frac{\partial}{\partial \mathbf{w}} (\mathbf{X} \mathbf{w} - \mathbf{t})^T (\mathbf{X} \mathbf{w} - \mathbf{t}) \\ &= \mathbf{X}^T (\mathbf{X} \mathbf{w} - \mathbf{t}) \\ &= 0 \end{aligned} ∂w∂E=21∂w∂(Xw−t)T(Xw−t)=XT(Xw−t)=0
于是有
X T X w = X T t \mathbf{X}^T \mathbf{X} \mathbf{w} = \mathbf{X}^T \mathbf{t} XTXw=XTt
因而
w = ( X T X ) − 1 X t \mathbf{w} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X} \mathbf{t} w=(XTX)−1Xt
损失函数采用带有系数的 l 2 \mathcal{l}_2 l2 范数正则项的平方和误差函数
(1.4) E ( w ) = 1 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 + λ 2 ∥ w ∥ 2 \mathrm{E}(\mathbf{w}) = \frac{1}{2} \sum_{n=1}^N\left\{ y(x_n,\mathbf{w})-t_n \right\}^2 + \frac{\lambda}{2} \|\mathbf{w} \|^2 \tag{1.4} E(w)=21n=1∑N{y(xn,w)−tn}2+2λ∥w∥2(1.4)
同样,将损失函数写为向量形式 ,为
E ( w ) = 1 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 + λ 2 ∥ w ∥ 2 = 1 2 ( y − t ) T ( y − t ) + λ 2 ∥ w ∥ 2 = 1 2 ( X w − t ) T ( X w − t ) + λ 2 ∥ w ∥ 2 \begin{aligned} \mathrm{E}(\mathbf{w}) &= \frac{1}{2} \sum_{n=1}^N\left\{ y(x_n,\mathbf{w})-t_n \right\}^2 + \frac{\lambda}{2} \|\mathbf{w} \|^2 \\ &= \frac{1}{2} (\mathbf{y} - \mathbf{t})^T(\mathbf{y} - \mathbf{t}) + \frac{\lambda}{2} \|\mathbf{w} \|^2 \\ & = \frac{1}{2} (\mathbf{X} \mathbf{w} - \mathbf{t})^T (\mathbf{X} \mathbf{w} - \mathbf{t}) + \frac{\lambda}{2} \|\mathbf{w} \|^2 \end{aligned} E(w)=21n=1∑N{y(xn,w)−tn}2+2λ∥w∥2=21(y−t)T(y−t)+2λ∥w∥2=21(Xw−t)T(Xw−t)+2λ∥w∥2
同样, 令
∂ E ∂ w = 0 \frac{\partial\mathrm{E}}{\partial \mathbf{w}} = 0 ∂w∂E=0
即
∂ E ∂ w = 1 2 ∂ ∂ w ( X w − t ) T ( X w − t ) + λ 2 ∂ ∂ w ∥ w ∥ 2 = X T ( X w − t ) + λ w = 0 \begin{aligned} \frac{\partial\mathrm{E}}{\partial \mathbf{w}} &= \frac{1}{2} \frac{\partial}{\partial \mathbf{w}} (\mathbf{X} \mathbf{w} - \mathbf{t})^T (\mathbf{X} \mathbf{w} - \mathbf{t})+ \frac{\lambda}{2} \frac{\partial}{\partial \mathbf{w}} \|\mathbf{w} \|^2 \\ &= \mathbf{X}^T (\mathbf{X} \mathbf{w} - \mathbf{t}) + \lambda \mathbf{w} \\ &= 0 \end{aligned} ∂w∂E=21∂w∂(Xw−t)T(Xw−t)+2λ∂w∂∥w∥2=XT(Xw−t)+λw=0
于是有
( X T X + λ I ) w = X T t (\mathbf{X}^T \mathbf{X} + \lambda \mathbf{I}) \mathbf{w} = \mathbf{X}^T \mathbf{t} (XTX+λI)w=XTt
进而
w = ( X T X + λ I ) − 1 X T t \mathbf{w} = (\mathbf{X}^T \mathbf{X} + \lambda \mathbf{I})^{-1} \mathbf{X}^T \mathbf{t} w=(XTX+λI)−1XTt
训练集包含 x x x 的 N N N 个独立观测值 X = { x 1 , … , x N } \mathcal{X}=\{ x_1,\dots,x_N \} X={x1,…,xN} 及它们对应的目标值 T = { t 1 , … , t N } \mathcal{T}=\{ t_1,\dots,t_N \} T={t1,…,tN}。假设给定 x x x ,其对应的目标值 t t t 服从均值为 y ( x , w ) y(x,\mathbf{w}) y(x,w) ,精度为 β = 1 / σ 2 \beta = 1/\sigma^2 β=1/σ2 的高斯分布,即
(1.60) p ( t ∣ x , w , β ) = N ( t ∣ y ( x , w ) , β − 1 ) p(t|x,\mathbf{w},\beta) = \mathcal{N}(t|y(x,\mathbf{w}),\beta^{-1}) \tag{1.60} p(t∣x,w,β)=N(t∣y(x,w),β−1)(1.60)
似然函数:
(1.61) p ( T ∣ X , w , β ) = ∏ n = 1 N N ( t n ∣ y ( x n , w ) , β − 1 ) p(\mathcal{T}|\mathcal{X},\mathbf{w},\beta) = \prod_{n=1}^N \mathcal{N}(t_n|y(x_n,\mathbf{w}),\beta^{-1}) \tag{1.61} p(T∣X,w,β)=n=1∏NN(tn∣y(xn,w),β−1)(1.61)
对数似然函数:
(1.62) ln p ( T ∣ X , w , β ) = ∑ n = 1 N ln N ( t n ∣ y ( x n , w ) , β − 1 ) = ∑ n = 1 N { 1 2 ln β − 1 2 ln 2 π − β 2 [ t n − y ( x n , w ) ] 2 } = − β 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 + N 2 ln β − N 2 ln 2 π \begin{aligned} \ln p(\mathcal{T}|\mathcal{X},\mathbf{w},\beta) &= \sum_{n=1}^N \ln \mathcal{N}(t_n|y(x_n,\mathbf{w}),\beta^{-1})\\ &= \sum_{n=1}^N \left\{ \frac{1}{2} \ln \beta - \frac{1}{2} \ln 2\pi - \frac{\beta}{2}\left[t_n-y(x_n,\mathbf{w})\right]^2\right\}\\ &= - \frac{\beta}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 + \frac{N}{2} \ln \beta - \frac{N}{2} \ln 2\pi \tag{1.62} \end{aligned} lnp(T∣X,w,β)=n=1∑NlnN(tn∣y(xn,w),β−1)=n=1∑N{21lnβ−21ln2π−2β[tn−y(xn,w)]2}=−2βn=1∑N[tn−y(xn,w)]2+2Nlnβ−2Nln2π(1.62)
对于求取参数 w \mathbf{w} w 的最大似然估计,最大化式 ( 1.62 ) (1.62) (1.62) ,就相当于最小化
1 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 \frac{1}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 21n=1∑N[tn−y(xn,w)]2
也就是式 ( 1.2 ) (1.2) (1.2) 所示的平方和误差函数 E ( w ) \mathrm{E}(\mathbf{w}) E(w) 。可见,以平方和误差函数为目标函数等价于高斯假设下的最大似然估计。
再看参数 β \beta β 的最大似然估计:
∂ ln p ( T ∣ X , w , β ) ∂ β = − 1 2 ∑ n = 1 N [ t n − y ( x n , w M L ) ] 2 + N 2 β = 0 \frac{\partial \ln p(\mathcal{T}|\mathcal{X},\mathbf{w},\beta)}{\partial \beta} = - \frac{1}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w}_{ML})\right]^2 + \frac{N}{2\beta} = 0 ∂β∂lnp(T∣X,w,β)=−21n=1∑N[tn−y(xn,wML)]2+2βN=0
得
(1.63) 1 β M L = 1 N ∑ n = 1 N [ t n − y ( x n , w M L ) ] 2 \frac{1}{\beta_{ML}} = \frac{1}{N} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w}_{ML})\right]^2 \tag{1.63} βML1=N1n=1∑N[tn−y(xn,wML)]2(1.63)
进一步假设参数 w \mathbf{w} w 服从0均值,精度为 α \alpha α 的高斯分布,即
(1.65) p ( w ∣ α ) = N ( w ∣ 0 , α − 1 I ) = ( α 2 π ) ( M + 1 ) / 2 exp { − α 2 w T w } p(\mathbf{w}|\alpha) = \mathcal{N}(\mathbf{w}|\mathbf{0},\alpha^{-1}\mathbf{I}) = \left(\frac{\alpha}{2\pi}\right)^{(M+1)/2} \exp \left\{- \frac{\alpha}{2}\mathbf{w}^T\mathbf{w}\right\} \tag{1.65} p(w∣α)=N(w∣0,α−1I)=(2πα)(M+1)/2exp{−2αwTw}(1.65)
式中, M + 1 M+1 M+1 为向量 w \mathbf{w} w 中元素的个数。
因为
p o s t e r i o r ∝ l i k e l i h o o d × p r i o r posterior \propto likelihood \times prior posterior∝likelihood×prior
即
(1.66) p ( w ∣ X , T , α , β ) ∝ p ( T ∣ X , w , β ) p ( w ∣ α ) p(\mathbf{w}|\mathcal{X},\mathcal{T},\alpha,\beta) \propto p(\mathcal{T}|\mathcal{X},\mathbf{w},\beta) p(\mathbf{w}|\alpha) \tag{1.66} p(w∣X,T,α,β)∝p(T∣X,w,β)p(w∣α)(1.66)
令 h ( w ) = p ( T ∣ X , w , β ) p ( w ∣ α ) h(\mathbf{w})=p(\mathcal{T}|\mathcal{X},\mathbf{w},\beta) p(\mathbf{w}|\alpha) h(w)=p(T∣X,w,β)p(w∣α) ,则
h ( w ) = N ( w ∣ 0 , α − 1 I ) ∏ n = 1 N N ( t n ∣ y ( x n , w ) , β − 1 ) \begin{aligned} h(\mathbf{w}) = \mathcal{N}(\mathbf{w}|\mathbf{0},\alpha^{-1}\mathbf{I}) \prod_{n=1}^N \mathcal{N}(t_n|y(x_n,\mathbf{w}),\beta^{-1}) \end{aligned} h(w)=N(w∣0,α−1I)n=1∏NN(tn∣y(xn,w),β−1)
ln h ( w ) = ln N ( w ∣ 0 , α − 1 I ) + ln { ∏ n = 1 N N ( t n ∣ y ( x n , w ) , β − 1 ) } = M + 1 2 ln α − M + 1 2 ln 2 π − α 2 w T w − β 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 + N 2 ln β − N 2 ln 2 π = − β { 1 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 + α 2 β w T w } + M + 1 2 ln α + N 2 ln β − M + N + 1 2 ln 2 π \begin{aligned} \ln h(\mathbf{w}) &= \ln \mathcal{N}(\mathbf{w}|\mathbf{0},\alpha^{-1}\mathbf{I}) + \ln \left\{\prod_{n=1}^N \mathcal{N}(t_n|y(x_n,\mathbf{w}),\beta^{-1})\right\}\\ &= \frac{M+1}{2} \ln \alpha - \frac{M+1}{2} \ln 2\pi - \frac{\alpha}{2}\mathbf{w}^T\mathbf{w} - \frac{\beta}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 + \frac{N}{2} \ln \beta - \frac{N}{2} \ln 2\pi\\ &= -\beta \left\{ \frac{1}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 + \frac{\alpha}{2\beta}\mathbf{w}^T\mathbf{w}\right\} + \frac{M+1}{2} \ln \alpha + \frac{N}{2} \ln \beta - \frac{M+N+1}{2} \ln 2\pi \end{aligned} lnh(w)=lnN(w∣0,α−1I)+ln{n=1∏NN(tn∣y(xn,w),β−1)}=2M+1lnα−2M+1ln2π−2αwTw−2βn=1∑N[tn−y(xn,w)]2+2Nlnβ−2Nln2π=−β{21n=1∑N[tn−y(xn,w)]2+2βαwTw}+2M+1lnα+2Nlnβ−2M+N+1ln2π
对参数 w \mathbf{w} w ,最大化后验概率 p ( w ∣ X , T , α , β ) p(\mathbf{w}|\mathcal{X},\mathcal{T},\alpha,\beta) p(w∣X,T,α,β) 就等价于最小化
1 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 + α 2 β w T w \frac{1}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 + \frac{\alpha}{2\beta}\mathbf{w}^T\mathbf{w} 21n=1∑N[tn−y(xn,w)]2+2βαwTw
若令 λ = α / β \lambda = \alpha / \beta λ=α/β ,则上式写为
1 2 ∑ n = 1 N [ t n − y ( x n , w ) ] 2 + λ 2 w T w \frac{1}{2} \sum_{n=1}^N \left[t_n-y(x_n,\mathbf{w})\right]^2 + \frac{\lambda}{2}\mathbf{w}^T\mathbf{w} 21n=1∑N[tn−y(xn,w)]2+2λwTw
也就是式 ( 1.4 ) (1.4) (1.4) 所示的带正则项的平方和误差函数。可见,以带正则项的平方和误差函数为目标函数等价于高斯假设下的最大后验估计。
上述推导,如有失误,欢迎留言指正!为谢!