线性回归及其概率解释、正则化(转)

转自 kkwangburg的博客

 

1 线性回归的定义:
给定训练数据集线性回归及其概率解释、正则化,m为样本的个数,线性回归及其概率解释、正则化是样本i的m个特征线性回归及其概率解释、正则化排成的向量,,线性回归及其概率解释、正则化,是样本i对应的函数值,线性回归的目标是学习函数
线性回归及其概率解释、正则化,
使得代价函数
线性回归及其概率解释、正则化
最小。因为学习的函数是样本特征的线性组合,所以叫线性回归。这样对一个新来的样本,我们就可以通过输入x计算其函数值h(x)来预测其真实的y值。
 
2 求解
将代价函数用矩阵的方式表示,
将样本的输入特征向量作为行向量排成矩阵
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化

线性回归及其概率解释、正则化
求导得
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化

3. 概率解释
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化独立同分布,且线性回归及其概率解释、正则化
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化
线性回归及其概率解释、正则化
4. 正则化
对较复杂的数据建模的时候,普通线性回归会有一些问题:
(1)稳定性与可靠性: 当X列满秩的时候,使用线性回归有解析解,线性回归及其概率解释、正则化
如果n和m比较接近,则容易产生过拟合;如果n线性回归及其概率解释、正则化是奇异的,最小二乘回归得不到有意义的结果。因此线性回归缺少稳定性与可靠性。
(2)模型解释能力的问题 包括在一个多元线性回归模型里的很多变量可能是和响应变量无关的;也有可能产生多重共线性的现象:即多个预测变量之间明显相关。这些情况都会增加模型的复杂程度,削弱模型的解释能力。这时候需要进行变量选择(特征选择)。

4.1 Ridge Regression (岭回归或脊回归)
代价函数
线性回归及其概率解释、正则化
即在线性回归的代价函数后面加上一个惩罚项,对拟合函数进行平滑,防止过拟合。
同样求导可得
线性回归及其概率解释、正则化
岭回归通过引入2范数的惩罚项,损失了拟合的无偏性,但是此时在任何条件下都有解析解,换取了稳定性。
概率解释
上面对线性回归进行概率解释的时候,通过求解最大似然估计,得到普通线性回归的代价函数,如果不采用最大似然估计方式,如通过最大后验概率估计,引入合适的先验函数就可以得到岭回归的概率解释。
记训练集合线性回归及其概率解释、正则化,则后验概率
线性回归及其概率解释、正则化
通过最大后验概率求参数,即
线性回归及其概率解释、正则化

假设线性回归及其概率解释、正则化,则类似线性回归的推到可得到岭回归的代价函数。
 
4.2 Lasso
代价函数

线性回归及其概率解释、正则化
与岭回归不同的是,Lasso采用的惩罚项是1范数,因为1范数不可导,因此没有解析解,采用迭代求解,其求解方法有很多,如最小角回归,其形式和sparse coding中的编码过程一致,因此sparse coding常用的方法如 

feature-sign search算法。
Lasso得到的结果是稀疏的,因此相比于岭回归,Lasso还有特征选择的作用,从下图可以看出
线性回归及其概率解释、正则化
概率解释
与岭回归相同,采用极大后验概率估计的方法,只是此时的先验概率为:
线性回归及其概率解释、正则化
即参数是独立的,且先验为拉普拉斯概率。
 
4.3 Elastic net 
代价函数线性回归及其概率解释、正则化
Elastic net 将岭回归和Lasso的代价函数组合到一起。

5 三种正则化方式对比
Ridge Regression:
  • 岭回归能防止线性回归的过拟合,相对于普通的线性回归虽然估计的精度降低,但是通过损失无偏性,换取了稳定性,模型的泛化能力增强。
Lasso:
  • 岭回归得到的系数是稠密的,即系数都为非零值,因此做预测时,所有的特征都会用到,模型的可解释性不强
  • Lasso得到的系数是稀疏的,因此相对于岭回归,Lasso还有特征选择的作用
Elastic net:
  • 当n>m时,即特征的数目远大于样本的数目时,Lasso最多选择n个特征,即特征选择的数量受样本数量的限制
  • 在一组相似的特征中,Lasso只会选择其中一个,但是有时特征虽然相关但是对于模型都很重要,此时应采用Elastic net
  • Elastic net通过l1范数产生稀疏,l2范数来消除特征选择数量的限制,鼓励相似的特征组具有同样的稀疏性,类似于group sparse coding
线性回归及其概率解释、正则化
参考:
[2]Andrew N.G. 机器学习
 
原文地址:https://www.cnblogs.com/tonglin0325/p/6221484.html