【第一章】《Pattern Recognition and Machine Learning》模式识别与机器学习—绪论

本专题为《Pattern Recognition and Machine Learning》(作者:Bishop)系列学习笔记,对于书中的内容不会全部涉及到。(目录后的页码为对应内容在书中的页码),有需要电子版书的我把链接放在最后了。

1.绪论

  • 最小平方回归 Least-Squares Regression
  • *多项式曲线拟合(P10)

最小平方回归 Least-Squares Regression

提出问题: 已知一个房屋一段时间内的价格,怎样去预测它未来的价格?
【第一章】《Pattern Recognition and Machine Learning》模式识别与机器学习—绪论_第1张图片
解决办法:

(1) 数据建模:
y ( x ‾ , w 0 ) = w 0 y(\overline{x},w_0)=w_0 y(x,w0)=w0(先采用最简单的模型——假设只有一个参数去表示全部的将要预测价格)
 用 _ yn 表示用该模型预测出来的价格。
(2) 误差函数:
E ( w 0 ) = 1 2 ∑ n = 1 N ( w 0 − t n ) 2 E(w_0)=\frac{1}{2}\sum_{n=1}^{N}(w_0-t_n)^2 E(w0)=21n=1N(w0tn)2
用最小平方来表示误差函数。其中, t n t_n tn是在 n 时的真实价格, N是数据的总数。
(3) 优化(最小化)误差函数:
w 0 ∗ = arg ⁡ min ⁡ { w 0 } 1 2 ∑ n = 1 N ( w 0 − t n ) 2 w_0^* ={\arg\min}_{\{w_0\}}\frac{1}{2}\sum_{n=1}^{N}(w_0-t_n)^2 w0=argmin{w0}21n=1N(w0tn)2  其中 { w 0 } \{w_0\} {w0}是所有可能的 w 0 w_0 w0 的集合, w ∗ w^* w w 0 w_0 w0 的最佳估计值。
 误差函数是二次函数,故对其求导可求最值:
∂ E ( w 0 ) ∂ w 0 = 0 = 1 2 ∑ n ∂ ( w 0 − t n ) 2 ∂ w 0 = ∑ n ( w 0 − t n ) 2 = 0 即: ∑ n w 0 = ∑ n t n w 0 = 1 N ∑ t n \begin{aligned} \dfrac{\partial E(w_0)}{\partial w_0} &=0\\ &=\frac{1}{2}\sum_{n}\dfrac{\partial (w_0-t_n)^2}{\partial w_0}\\ &=\sum_{n}(w_0-t_n)^2=0\\ 即:&\sum_{n}w_0 = \sum_{n}t_n\\ &w_0=\frac{1}{N}\sum{t_n}\\ \end{aligned} w0E(w0)即:=0=21nw0(w0tn)2=n(w0tn)2=0nw0=ntnw0=N1tn w 0 w_0 w0 是已知的所有价格的均值,如下图所示。

【第一章】《Pattern Recognition and Machine Learning》模式识别与机器学习—绪论_第2张图片
接下来用更合适的曲线进行拟合:

(1) 数据建模 (Data Modeling):
y ( x n , w ‾ ) = x n w 1 + w 0 其中 : w ‾ = [ w 0 w 1 ] \begin{aligned} & y(x_n,\overline{w})=x_nw_1+w_0\\ & 其中: \overline{w}=\begin{bmatrix} w_0 \\ w_1\end{bmatrix} \end{aligned} y(xn,w)=xnw1+w0其中:w=[w0w1]  采用线性模型,其中 w 0 , w 1 w_0,w_1 w0,w1 是模型参数。

(2) 误差函数 (Error Function):
E ( w ‾ ) = 1 2 ∑ n = 1 N ( y ( x n , w ‾ ) − t n ) 2 E(\overline{w})=\frac{1}{2}\sum_{n=1}^{N}(y(x_n,\overline{w})-t_n)^2 E(w)=21n=1N(y(xn,w)tn)2
(3) 优化(最小化)误差函数 (Optimization \ Minimization):
w ‾ ∗ = arg ⁡ min ⁡ { w ‾ } E ( w ‾ ) \overline{w}^* ={\arg\min}_{\{\overline{w}\}}E(\overline{w}) w=argmin{w}E(w)
 误差函数是二次函数,故对其求导可求最值:
∂ E ( w ‾ ) ∂ w ‾ = 0 ①  ∂ E ( w ‾ ) ∂ w 0 = ∑ n ( w 0 + x n w 1 − t n ) = 0 w 0 = 1 N ( ∑ n t n − ∑ n x n w 1 ) = 0 ②  ∂ E ( w ‾ ) ∂ w 1 = ∑ n ( w 0 + x n w 1 − t n ) x n = 0 w 1 = ∑ n t n x n − w 0 x n ∑ n x n 2 \begin{aligned} \dfrac{\partial E(\overline{w})}{\partial \overline{w}} &=0\\ ①\ \dfrac{\partial E(\overline{w})}{\partial {w_0}}=\sum_{n}(w_0+x_nw_1-t_n)=0\\ w_0 = \frac{1}{N}(\sum_{n}t_n-\sum_{n}x_nw_1)=0\\ ② \ \dfrac{\partial E(\overline{w})}{\partial {w_1}}=\sum_{n}(w_0+x_nw_1-t_n)x_n=0\\ w_1=\frac{\sum_{n}t_nx_n-w_0x_n}{\sum_{n}x_n^2}\\ \end{aligned} wE(w) w0E(w)=n(w0+xnw1tn)=0w0=N1(ntnnxnw1)=0 w1E(w)=n(w0+xnw1tn)xn=0w1=nxn2ntnxnw0xn=0
两个方程解两个未知数,可解。

*多项式曲线拟合(P10)

提出问题:若是不能提前知道数据分布的形状应该怎么做呢?

解决办法:

(1) 数据建模 (Data Modeling):
所有可能的函数类型:
h o r i z o n t a l   l i n e : y = w 0 horizontal \ line: y = w_0 horizontal line:y=w0 l i n e a r : y = w 0 + w 1 x linear: y=w_0+w_1x linear:y=w0+w1x q u a d r a t i c : y = w 0 + w 1 x + w 2 x 2 quadratic: y=w_0+w_1x+w_2x^2 quadratic:y=w0+w1x+w2x2 c u b i c : y = w 0 + w 1 x + w 2 x 2 + w 3 x 3 cubic: y=w_0+w_1x+w_2x^2+w_3x^3 cubic:y=w0+w1x+w2x2+w3x3 … … …… ……
多项式曲线的一般形式:
y ( x n , w ‾ ) = ∑ m = 0 M − 1 w m x n m y(x_n,\overline{w})=\sum_{m=0}^{M-1}w_mx_n^m y(xn,w)=m=0M1wmxnm 其中, w ‾ = [ w 0 w 1 … … w M − 1 ] 其中,\overline{w}=\begin{bmatrix} w_0 \\ w_1 \\ ……\\ w_{M-1} \end{bmatrix} 其中,w= w0w1……wM1 其大小为 M × 1 M×1 M×1 M M M 为模型复杂度。将其写成矢量形式 ( V e c t o r f o r m ) (Vector form) (Vectorform)为:
y n = w ‾ T x ‾ n y_n=\overline{w}^T\overline{x}_n yn=wTxn 其中, x n ‾ = [ x 0 x 1 … … x M − 1 ] 其中,\overline{x_n}=\begin{bmatrix} x^0 \\ x^1 \\ ……\\ x^{M-1} \end{bmatrix} 其中,xn= x0x1……xM1 其大小为 M × 1 M×1 M×1,故 w ‾ T \overline{w}^T wT的大小为 1 × M 1×M 1×M x n ‾ \overline{x_n} xn 的大小为 M × 1 M×1 M×1,故 y n y_n yn 的大小为 1 × 1. 1×1. 1×1. 将其写成矩阵形式 ( M a t r i x   f o r m ) (Matrix \ form) (Matrix form)为:
y ‾ = X w ‾ \overline{y}=\Chi\overline{w} y=Xw 其中, y ‾ = [ y 1 y 2 … … y M ] ;   X = [ x 1 0 … … x 1 M − 1 ⋮ ⋱ ⋮ x N 0 … … x N M − 1 ] 其中,\overline{y}=\begin{bmatrix} y_1 \\ y_2 \\ ……\\ y_M \end{bmatrix};\ \Chi=\begin{bmatrix} x_1^0 & ……& x_1^{M-1} \\ \vdots& \ddots& \vdots\\ x_N^0 & ……& x_N^{M-1} \end{bmatrix} 其中,y= y1y2……yM ; X= x10xN0…………x1M1xNM1 X \Chi X 的大小为 N × M N×M N×M, w ‾ \overline{w} w 的大小为 M × 1 M×1 M×1,故 y ‾ \overline{y} y 的大小为 N × 1 N×1 N×1.

(2) 误差函数 (Error Function):
E ( w ‾ ) = 1 2 ∑ n = 1 N ( y n − t n ) 2 E(\overline{w})=\frac{1}{2}\sum_{n=1}^{N}(y_n-t_n)^2 E(w)=21n=1N(yntn)2 矢量形式: E ( w ‾ ) = 1 2 ( y ‾ − t ‾ ) T ( y ‾ − t ‾ ) 矢量形式:E(\overline{w})=\frac{1}{2}(\overline{y}-\overline{t})^T(\overline{y}-\overline{t}) 矢量形式:E(w)=21(yt)T(yt) 其中, t ‾ = [ t 1 , t 2 , … … t N ] T 其中,\overline{t}=\begin{bmatrix} t_1, & t_2, & ……& t_N \end{bmatrix}^T 其中,t=[t1,t2,……tN]T 即, t ‾ \overline{t} t 的大小为 N × 1 N×1 N×1

(3) 优化(最小化)误差函数 (Optimization \ Minimization):
w ‾ ∗ = arg ⁡ min ⁡ { w ‾ } E ( w ‾ ) = arg ⁡ min ⁡ { w ‾ } 1 2 ∑ n = 1 N ( w ‾ T x n ‾ − t n ) 2 \overline{w}^* ={\arg\min}_{\{\overline{w}\}}E(\overline{w})={\arg\min}_{\{\overline{w}\}}\frac{1}{2}\sum_{n=1}^{N}(\overline{w}^T\overline{x_n}-t_n)^2 w=argmin{w}E(w)=argmin{w}21n=1N(wTxntn)2  误差函数是二次函数,故对其求导可求最值:
∂ E ( w ‾ ) ∂ w ‾ = 0   ∂ [ 1 2 ∑ n = 1 N ( w ‾ T x n ‾ − t n ) 2 ] ∂ w ‾ = ∑ n N x ‾ n ( w ‾ T x n ‾ − t n ) = ∑ n N x ‾ n ( w ‾ T x n ‾ ) − ∑ n N x ‾ n t n \begin{aligned} \dfrac{\partial E(\overline{w})}{\partial \overline{w}} &=0\\ &\ \dfrac{\partial [\frac{1}{2}\sum_{n=1}^N(\overline{w}^T\overline{x_n}-t_n)^2]} {\partial \overline{w}} \\ &= \sum_{n}^N\overline{x}_n(\overline{w}^T\overline{x_n}-t_n)= \sum_{n}^N\overline{x}_n(\overline{w}^T\overline{x_n})-\sum_{n}^N\overline{x}_nt_n\\ \end{aligned} wE(w)=0 w[21n=1N(wTxntn)2]=nNxn(wTxntn)=nNxn(wTxn)nNxntn 将其写成矩阵形式为:
∂ E ( w ‾ ) ∂ w ‾ = ∑ n N x ‾ n ( w ‾ T x n ‾ ) − ∑ n N x ‾ n t n = X T X w ‾ − X T t ‾ = 0 X T X w ‾ = X T t ‾ ,  故: w ‾ = ( X T X ) − 1 X T t ‾ 最后写为: w ‾ = X + t ‾ \begin{aligned} &\dfrac{\partial E(\overline{w})}{\partial \overline{w}} = \sum_{n}^N\overline{x}_n(\overline{w}^T\overline{x_n})-\sum_{n}^N\overline{x}_nt_n\\ &= \Chi^T\Chi\overline{w}-\Chi^T\overline{t}=0\\ & \Chi^T\Chi\overline{w}=\Chi^T\overline{t}, \ 故:\overline{w}= (\Chi^T\Chi)^{-1}\Chi^T\overline{t}\\ & 最后写为:\overline{w} = \Chi^+\overline{t} \end{aligned} wE(w)=nNxn(wTxn)nNxntn=XTXwXTt=0XTXw=XTt, 故:w=(XTX)1XTt最后写为:w=X+t 即得到了解。

你可能感兴趣的:(模式识别PRML,机器学习,算法,人工智能)