Laplace(拉普拉斯)先验与L1正则化
Laplace(拉普拉斯)先验与L1正则化
在之前的一篇博客中L1正则化及其推导推导证明了L1正则化是如何使参数稀疏化人,并且提到过L1正则化如果从贝叶斯的观点看来是Laplace先验,事实上如果从贝叶斯的观点,所有的正则化都是来自于对参数分布的先验。现在来看一下为什么Laplace先验会导出L1正则化,也顺便证明Gauss(高斯)先验会导出L2正则化。
最大似然估计
很多人对最大似然估计不明白,用最简单的线性回归的例子来说:如果有数据集\((X, Y)\),并且\(Y\)是有白噪声(就是与测量得到的\(Y\)与真实的\(Y_{real}\)有均值为零的高斯分布误差),目的是用新产生的\(X\)来得到\(Y\)。如果用线性模型来测量,那么有:
\[
f(X) = \sum_i(x_i\theta_i) + \epsilon = X\theta^T + \epsilon \tag{1.1}
\]
其中\(X=(x_1, x_2...x_n)\),\(\epsilon\)是白噪声,即\(\epsilon - N(0, \delta^2)\)。那么于一对数据集\((X_i, Y_i)\)来用,在这个模型中用\(X_i\)得到\(Y_i\)的概率是\(Y_i - N(f(X_i), \delta^2)\):
\[
P(Y_i|X_i, \theta) = \frac{1}{\epsilon\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2}) \tag{1.2}
\]
假设数据集中每一对数据都是独立的,那么对于数据集来说由\(X\)得到\(Y\)的概率是:
\[
P(Y|X,\theta)= \prod_i\frac{1}{\epsilon\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2}) \tag{1.3}
\]
根据决策论,就可以知道可以使概率\(P(Y|X,\theta)\)最大的参数\(\theta^*\)就是最好的参数。那么我们可以直接得到最大似然估计的最直观理解:对于一个模型,调整参数\(\theta\),使得用X得到Y的概率最大。那么参数\(\theta\)就可以由下式得到:
\[
\begin {split}
\theta^* &= argmax_{\theta} \left(\prod_i\frac{1}{\epsilon\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2})\right) \cr
&=argmax_{\theta} \left( -\frac{1}{2\delta^2} \sum_i \|f(X_i) - Y_i\|^2 + \sum_i ln(\delta\sqrt{2\pi}) \right) \cr
&=argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 \right)
\end {split} \tag{1.4}
\]
这个就是最小二乘计算公式。
Laplace分布
Laplace概率密度函数分布为:
\[
f(x|\mu, b) = \frac{1}{2b} \exp(-\frac{|x-\mu|}{b}) \tag{2.1}
\]
分布的图像如下所示:

图1 Laplace分布
可以看到Laplace分布集中在\(\mu\)附近,而且\(b\)越小,数据的分布就越集中。
Laplace先验导出L1正则化
先验的意思是对一种未知的东西的假设,比如说我们看到一个正方体的骰子,那么我们会假设他的各个面朝上的概率都是\(1/6\),这个就是先验。但事实上骰子的材质可能是密度不均的,所以还要从数据集中学习到更接近现实情况的概率。同样,在机器学习中,我们会根据一些已知的知识对参数的分布进行一定的假设,这个就是先验。有先验的好处就是可以在较小的数据集中有良好的泛化性能,当然这是在先验分布是接近真实分布的情况下得到的了,从信息论的角度看,向系统加入了正确先验这个信息,肯定会提高系统的性能。我们假设参数\(\theta\)是如下的Laplace分布的,这就是Laplace先验:
\[
P(\theta_i) = \frac{\lambda}{2} \exp(-\lambda|\theta_i|) \tag{3.1}
\]
其中\(\lambda\)是控制参数\(\theta\)集中情况的超参数,\(\lambda\)越大那么参数的分布就越集中在0附近。
在前面所说的最大似然估计事实上是假设了\(\theta\)是均匀分布的,也就是\(P(\theta)=Constant\),我们最大化的要后验估计,即是:
\[
\begin {split}
\theta^* &= argmax_{\theta} \left(\prod_i P(Y_i|X_i, \theta) \prod_i P(\theta_i)\right) \cr
&=argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \sum_i \ln(P(\theta_i))\right)
\end {split} \tag{3.2}
\]
如果是Laplace先验,将式\((3.1)\)代入到式\((3.2)\)中可得:
\[
\theta^* =argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \lambda \sum_i |\theta_i|)\right) \tag{3.3}
\]
这就是由Laplace导出L1正则化,我在之前的一篇博客中L1正则化及其推导分析过\(\lambda\)越大,那么参数的分布就越集中在0附近,这个与Laplace先验的分析是一致的。
Gauss先验导出L2正则化
到这里,我们可以很轻易地导出L2正则化,假设参数\(\theta\)的分布是符合以下的高斯分布:
\[
P(\theta_i) = \frac{\lambda}{\sqrt{\pi}} \exp(-\lambda\|\theta_i\|^2) \tag{3.4}
\]
代入式\((3.2)\)可以直接得到L2正则化:
\[
\theta^* =argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \lambda \sum_i \|\theta_i\|^2)\right) \tag{3.5}
\]
【防止爬虫转载而导致的格式问题——链接】:
http://www.cnblogs.com/heguanyou/p/7688344.html
Laplace(拉普拉斯)先验与L1正则化的更多相关文章
- L1正则化及其推导
\(L1\)正则化及其推导 在机器学习的Loss函数中,通常会添加一些正则化(正则化与一些贝叶斯先验本质上是一致的,比如\(L2\)正则化与高斯先验是一致的.\(L1\)正则化与拉普拉斯先验是一致的等 ...
- 贝叶斯先验解释l1正则和l2正则区别
这里讨论机器学习中L1正则和L2正则的区别. 在线性回归中我们最终的loss function如下: 那么如果我们为w增加一个高斯先验,假设这个先验分布是协方差为 的零均值高斯先验.我们在进行最大似然 ...
- L1正则化
正则化项本质上是一种先验信息,整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式, ...
- 【深度学习】L1正则化和L2正则化
在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况.正则化是机器学习中通过显式的控制模 ...
- L1正则化比L2正则化更易获得稀疏解的原因
我们知道L1正则化和L2正则化都可以用于降低过拟合的风险,但是L1正则化还会带来一个额外的好处:它比L2正则化更容易获得稀疏解,也就是说它求得的w权重向量具有更少的非零分量. 为了理解这一点我们看一个 ...
- L2与L1正则化理解
https://www.zhihu.com/question/37096933/answer/70507353 https://blog.csdn.net/red_stone1/article/det ...
- L1正则化和L2正则化
L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择 L2正则化可以防止模型过拟合(overfitting):一定程度上,L1也可以防止过拟合 一.L1正则化 1.L1正则化 需注意, ...
- L1正则化与L2正则化的理解
1. 为什么要使用正则化 我们先回顾一下房价预测的例子.以下是使用多项式回归来拟合房价预测的数据: 可以看出,左图拟合较为合适,而右图过拟合.如果想要解决右图中的过拟合问题,需要能够使得 $ ...
- 正则化--L1正则化(稀疏性正则化)
稀疏矢量通常包含许多维度.创建特征组合会导致包含更多维度.由于使用此类高维度特征矢量,因此模型可能会非常庞大,并且需要大量的 RAM. 在高维度稀疏矢量中,最好尽可能使权重正好降至 0.正好为 0 的 ...
随机推荐
- GUI(GroupLayout 分组布局)
组:一些组件的集合 连续组:一个接着一个摆放 并行组:一个组在另一个组的顶部 ...
- 201521123111《Java程序设计》第7周学习总结
1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 线性表,栈,队列,哈希表是常用的数据结构 在java.util包中有这些数据结构的实现类.比如:List接口,实现类Arra ...
- 201521123088《Java程序设计》第13周学习总结
1.本周学习总结 2.书面作业 1. 网络基础1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ping cec. ...
- 201521123036 《Java程序设计》第9周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中 ...
- Java十二周总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...
- 201521123018 《Java程序设计》第14周学习总结
1. 本章学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) 添 ...
- 201521123099 《Java程序设计》第9周学习总结
1. 本周学习总结 2. 书面作业 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 容易出现拼写错误还有数组越界的异 ...
- Mybatis第二篇【CRUD、分页】
完成CRUD操作 我们在上一篇中已经简单知道了Mybatis是怎么使用的以及工作流程了,这次我们使用Mybatis来完成CRUD的操作,再次巩固Mybatis的开发步骤以及一些细节 包与类之间的结构 ...
- 03标准对象-02-RegExp 正则表达式
1.基本概念 和 定义 用一种描述性的语言来给字符串定义一个规则,你可以形象地理解正则表达式是一个"框",凡是符合大小形状条件的字符串,都算是"匹配"了. JS ...
- Java单链表实现
/** * * 单链表基本操作 * * @author John * */ class LinkList { private Node first; private int pos = 0; publ ...