Linear Models for Regression(2)
回归的线性模型(2)
其实越往后面越发现自己之前认识的片面性,但是对我这种记性不好的人来说还是要写一点东西总结一下,以便之后翻查,审视自己当初的思路有没有错误。不当之处还请各位及时批评。
接前文
前文已经看到,采用最大似然方法对目标变量的分布进行点估计时,容易产生过拟合现象, 通过引入分布参数的先验概率来引入正则化项,来限制模型复杂度,消除过拟合。
那么为什么限制模型复杂度,即让我们选择较为简单的模型是正确的做法呢?
为了寻找背后直觉,翻看了一些经典
MLAPP上面有这样一个例子——猜数字规则,通过已知数字来猜测产生这组数字的规则是什么。
例如,先给了我们一个16,我们脑海中会浮现以下一些规则:
* 偶数
* 2的n次幂
* 个位带6的数字
* 十位是1的数字
* 4的n次幂
…
当再给我们4,64,2时,我们就会肯定的说:是2的n次幂。
我们为什么不会说:是2的n次幂,除了32
…
我们得到的样本数据是有噪声的,当完美的拟合了样本数据之后,我们也完美的拟合了这些随机噪声。
PRML第三章后半段还涉及了对模型证据和超参选择的讨论,只看了计算过程,理解不深,后面慢慢理解后再添加这部分内容
还是前文的假设:
- 考虑数据集 X={x1,...,xN}T ,对应目标值 t={t1,...,tn}
- Φ(xn) 是一个函数,输入是数据集中某一向量 xn 输出是 xn 在我们选择的基函数的映射下,形成的一个新向量(我理解就是换一组更好的基)。所有样本经过 Φ 函数的映射后,形成了我们后面用的特征矩阵 Φ 。
之前我们的方法是直接用 y(x,w)=wTΦ+ϵ 拟合目标变量分布
其中
ϵ
是我们假设的一个均值为0,精度为
β
的高斯噪声
然后,
y(x,w)
自然也就变成了一个高斯分布
前文我们的方法是通过估计
w
的后验分布,选出使后验分布最大化的
w
来当作我们预测分布的参数,其实就是对
w
进行点估计
贝叶斯方法说我不进行点估计,我不是估计出了
w
的后验分布了吗,我再根据这个后验分布去估计目标变量
t
的分布
(*注意:这几个公式一定要看清里面的参数是标量还是向量,不然容易搞混公式意义)
先来看对
w
的分布的估计
观察公式
更符合假设一点的写法:
- 其中的似然函数
p(t | w,X,β)
好办
p(t | w,X,β)=∏n=1Np(tn | w,xn,β)
p(tn | w,xn,β) 是啥:
p(t | x,w,β)=(t | wTΦ(xn),β−1)
所以
p(t | w,X,β)=∏n=1N(tn | wTΦ(xn),β−1)
由于我们是对
w
进行估计(注意,对不同参数进行估计选择的共轭先验是不同的),似然函数是
w
的二次函数的指数形式,于是对应的先验分布是高斯分布:
所以得
w
的后验分布为:
其中
至此,后验分布确定(其实还有超参 α —— w 的先验分布精度、 β ——高斯噪声精度,没有被确定,可以通过交叉验证或后面的证据近似来确定)
注意,这里的 x 是我们要进行预测的新特征向量。
这里要求俩个分布的卷积,由高斯边缘密度公式的:
其中预测分布的方差
σ2N(x)
为:
MLAPP中还介绍了利用Laplace distribution做likelihood的方法
利用split variable trick转化成线性规划问题(linear program)
另介绍了一种神奇的损失函数——Huber loss function
当误差较小时,等价于 ℓ2 范数,误差较大时,等价于 ℓ1 范数,此函数处处可微,可以用牛顿法等计算而非线性规划。
还有一张非常直观的表
Likelihood | Prior | Name |
---|---|---|
Gaussian | Uniform | Least squares |
Gaussian | Gaussian | Ridge |
Gaussian | Laplace | Lasso |
Laplace | Uniform | Robust regression |
Student | Uniform | Robust regression |