曲线拟合是一个经典的问题,将其数学化后是:已知训练数据x\bf{x}和对应的目标值t\bf{t}。通过构建参数为w\bf{w}的模型,当新的xx出现,对应的tt是多少。
本文将从误差和概率的角度探讨如何解决曲线拟合的问题,具体地,将阐述以下概念:
直观的解决思路是最小化训练误差,公式如下:
minw12∑n=1N{y(xn,w)−tn}2
\min_w \frac{1}{2}\sum_{n=1}^N\{ y(x_n,\textbf{w}) -t_n\}^2
上面的方法会遇到过拟合的问题,所以可以加上正则化的参数避免过拟合,改进后的公式如下:
minw12∑n=1N{y(xn,w)−tn}2+λ2∥w∥2
\min_w \frac{1}{2}\sum_{n=1}^N\{ y(x_n,\textbf{w}) -t_n\}^2+\frac{\lambda}{2} \Vert \textbf{w} \Vert ^2
假设每个点都服从均值不一样方差一样的高斯分布,均值为y(xn,w) y(x_n,\textbf{w}),方差为β−1\beta^{-1}。那么,每个点的的概率分布是:
p(t|x,w,β)=N(y(xn,w),β−1)
p(t|x,\textbf{w},\beta) =N(y(x_n,\textbf{w}),\beta^{-1})
为了求出上面的概率分布,首先要求出模型w\textbf{w}的值,假设每个点之间相互独立,那么似然函数为:
p(t|x,w,β)=∏n=1NN(tn|y(xn,w),β−1)
p(\textbf{t}|\textbf{x},\textbf{w},\beta) =\prod_{n=1}^N N(t_n|y(x_n,\textbf{w}),\beta^{-1})
对上式取log,并最大化,得到:
maxwlnp(t|x,w,β)=−β2∑n=1N{y(xn,w)−tn}2+N2lnβ−N2ln(2π)
\max_{\textbf{w}} \ln p(\textbf{t}|\textbf{x},\textbf{w},\beta) = -\frac{\beta}{2}\sum_{n=1}^N\{ y(x_n,\textbf{w}) -t_n\}^2 + \frac{N}{2}\ln\beta-\frac{N}{2} \ln (2\pi)
计算w\textbf{w}只和上式右边的第一项有关,可以看到,最大似然的结果等同于误差函数的结果,也就是MLE等同于sum squared error function。
根据MLE,我们可以得到模型w\textbf{w}的参数,并且可以计算出p(t|x,w,β)p(\textbf{t}|\textbf{x},\textbf{w},\beta)似然函数进而求得对应点的值,可是这样同样存在过拟合的问题,为了解决这个问题,我们引入了先验估计,并结合似然函数计算出了后验估计。
假设w\textbf{w}的先验估计如下:
p(w|α)=N(w|0,α−1I)
p(\textbf{w} | \alpha) = N(\textbf{w}|\textbf{0},\alpha^{-1}\textbf{I})
根据后验估计等于似然函数乘以先验估计,也就是
p(w|x,t,α,β)∝$p(t|x,w,β)p(w|α)
p(\textbf{w}|\textbf{x},\textbf{t},\alpha,\beta) \propto $p(\textbf{t}|\textbf{x},\textbf{w},\beta) p(\textbf{w} | \alpha)
同样适用最大似然估计的方法,不过这里不是作用在似然函数上,而是作用在后验分布上,我们得到:
minwβ2∑n=1N{y(xn,w)−tn}2+α2∥w∥2
\min_w \frac{\beta}{2}\sum_{n=1}^N\{ y(x_n,\textbf{w}) -t_n\}^2+\frac{\alpha}{2} \Vert \textbf{w} \Vert ^2
因此可以看到:
所谓贝叶斯,就是多次重复使用概率中的和规则和积规则。
为了方便,下文中认为α,β\alpha,\beta是固定的,在公式中省略了这两者,公式如下:
p(t|x,x,t)=∫p(t|x,w)p(w|x,t)dw
p(t|x,\textbf{x,t}) =\int p(t|x,\textbf{w}) p(\textbf{w}|\textbf{x},\textbf{t}) \textbf{dw}