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正则化的更多相关文章

  1. L1正则化及其推导

    \(L1\)正则化及其推导 在机器学习的Loss函数中,通常会添加一些正则化(正则化与一些贝叶斯先验本质上是一致的,比如\(L2\)正则化与高斯先验是一致的.\(L1\)正则化与拉普拉斯先验是一致的等 ...

  2. 贝叶斯先验解释l1正则和l2正则区别

    这里讨论机器学习中L1正则和L2正则的区别. 在线性回归中我们最终的loss function如下: 那么如果我们为w增加一个高斯先验,假设这个先验分布是协方差为 的零均值高斯先验.我们在进行最大似然 ...

  3. L1正则化

    正则化项本质上是一种先验信息,整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式, ...

  4. 【深度学习】L1正则化和L2正则化

    在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况.正则化是机器学习中通过显式的控制模 ...

  5. L1正则化比L2正则化更易获得稀疏解的原因

    我们知道L1正则化和L2正则化都可以用于降低过拟合的风险,但是L1正则化还会带来一个额外的好处:它比L2正则化更容易获得稀疏解,也就是说它求得的w权重向量具有更少的非零分量. 为了理解这一点我们看一个 ...

  6. L2与L1正则化理解

    https://www.zhihu.com/question/37096933/answer/70507353 https://blog.csdn.net/red_stone1/article/det ...

  7. L1正则化和L2正则化

    L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择 L2正则化可以防止模型过拟合(overfitting):一定程度上,L1也可以防止过拟合 一.L1正则化 1.L1正则化 需注意, ...

  8. L1正则化与L2正则化的理解

    1. 为什么要使用正则化   我们先回顾一下房价预测的例子.以下是使用多项式回归来拟合房价预测的数据:   可以看出,左图拟合较为合适,而右图过拟合.如果想要解决右图中的过拟合问题,需要能够使得 $ ...

  9. 正则化--L1正则化(稀疏性正则化)

    稀疏矢量通常包含许多维度.创建特征组合会导致包含更多维度.由于使用此类高维度特征矢量,因此模型可能会非常庞大,并且需要大量的 RAM. 在高维度稀疏矢量中,最好尽可能使权重正好降至 0.正好为 0 的 ...

随机推荐

  1. 【Alpha阶段】第四次scrum meeting

    一.会议照片 二.会议内容 姓名 学号 负责模块 昨日任务完成度 今日任务 杨爱清 099 界面设计和交互功能 完成 百度合适的背景图片 杨立鑫 100 数据库搭建和其他 完成 开始编辑数据库 林 钊 ...

  2. 201521123015 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过? ...

  3. 201521123088《Java程序设计》第13周学习总结

    1.本周学习总结 2.书面作业 1. 网络基础1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ping cec. ...

  4. 201521123117 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  5. 201521123113《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  6. editplus的设置

    1, 下载editplus3软件并且进行安装, 我这里是 EditPlus_3.4.1.1123_XiaZaiBa 2, 进行相关设置: 工具-->参数设置-->常规--勾选 (把Edit ...

  7. geotrellis使用(三十四)矢量瓦片技术研究——矢栅一体化

    前言 本文所涉及技术与Geotrellis并无太大关系,仅是矢量瓦片前端渲染和加载技术,但是其实我这是在为Geotrellis的矢量瓦片做铺垫.很多人可能会说,Geotrellis为什么要搞矢量瓦片, ...

  8. [LeetCode] 415 Add Strings && 67 Add Binary && 43 Multiply Strings

    这些题目是高精度加法和高精度乘法相关的,复习了一下就做了,没想到难住自己的是C++里面string的用法. 原题地址: 415 Add Strings:https://leetcode.com/pro ...

  9. ArrayList 和 LinkedList 的实现与区别

    (转载请标明出处) 1.ArrayLis t的实现 2.LinkedLis t的实现 3.ArrayList 和 LinkedList 的区别 ArrayList 的实现: 1.MyArrayList ...

  10. BZOJ1207_打鼹鼠_KEY

    [HNOI2004]打鼹鼠 Time Limit: 10 Sec Memory Limit: 162 MB Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地 ...