• 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 heta_i) + epsilon = X heta^T + epsilon ag{1.1} ]

    其中(X=(x_1, x_2...x_n))(epsilon)是白噪声,即(epsilon sim N(0, delta^2))。那么于一对数据集((X_i, Y_i))来用,在这个模型中用(X_i)得到(Y_i)的概率是(Y_i sim N(f(X_i), delta^2))

    [P(Y_i|X_i, heta) = frac{1}{deltasqrt{2pi}} exp(-frac{|f(X_i) - Y_i|^2}{2delta^2}) ag{1.2} ]

    假设数据集中每一对数据都是独立的,那么对于数据集来说由(X)得到(Y)的概率是:

    [P(Y|X, heta)= prod_ifrac{1}{deltasqrt{2pi}} exp(-frac{|f(X_i) - Y_i|^2}{2delta^2}) ag{1.3} ]

    根据决策论,就可以知道可以使概率(P(Y|X, heta))最大的参数( heta^*)就是最好的参数。那么我们可以直接得到最大似然估计的最直观理解:对于一个模型,调整参数( heta),使得用X得到Y的概率最大。那么参数( heta)就可以由下式得到:

    [egin {split} heta^* &= argmax_{ heta} left(prod_ifrac{1}{epsilonsqrt{2pi}} exp(-frac{|f(X_i) - Y_i|^2}{2delta^2}) ight) cr &=argmax_{ heta} left( -frac{1}{2delta^2} sum_i |f(X_i) - Y_i|^2 + sum_i ln(deltasqrt{2pi}) ight) cr &=argmin_{ heta} left(sum_i |f(X_i) - Y_i|^2 ight) end {split} ag{1.4} ]

    这个就是最小二乘计算公式。

    Laplace分布

    Laplace概率密度函数分布为:

    [f(x|mu, b) = frac{1}{2b} exp(-frac{|x-mu|}{b}) ag{2.1} ]

    分布的图像如下所示:

    图1 Laplace分布

    可以看到Laplace分布集中在(mu)附近,而且(b)越小,数据的分布就越集中。

    Laplace先验导出L1正则化

    先验的意思是对一种未知的东西的假设,比如说我们看到一个正方体的骰子,那么我们会假设他的各个面朝上的概率都是(1/6),这个就是先验。但事实上骰子的材质可能是密度不均的,所以还要从数据集中学习到更接近现实情况的概率。同样,在机器学习中,我们会根据一些已知的知识对参数的分布进行一定的假设,这个就是先验。有先验的好处就是可以在较小的数据集中有良好的泛化性能,当然这是在先验分布是接近真实分布的情况下得到的了,从信息论的角度看,向系统加入了正确先验这个信息,肯定会提高系统的性能。我们假设参数( heta)是如下的Laplace分布的,这就是Laplace先验:

    [P( heta_i) = frac{lambda}{2} exp(-lambda| heta_i|) ag{3.1} ]

    其中(lambda)是控制参数( heta)集中情况的超参数,(lambda)越大那么参数的分布就越集中在0附近。

    在前面所说的最大似然估计事实上是假设了( heta)是均匀分布的,也就是(P( heta)=Constant),我们最大化的要后验估计,即是:

    [egin {split} heta^* &= argmax_{ heta} left(prod_i P(Y_i|X_i, heta) prod_i P( heta_i) ight) cr &=argmin_{ heta} left(sum_i |f(X_i) - Y_i|^2 + sum_i ln(P( heta_i)) ight) end {split} ag{3.2} ]

    如果是Laplace先验,将式((3.1))代入到式((3.2))中可得:

    [ heta^* =argmin_{ heta} left(sum_i |f(X_i) - Y_i|^2 + lambda sum_i | heta_i|) ight) ag{3.3} ]

    这就是由Laplace导出L1正则化,我在之前的一篇博客中L1正则化及其推导分析过(lambda)越大,那么参数的分布就越集中在0附近,这个与Laplace先验的分析是一致的。

    Gauss先验导出L2正则化

    到这里,我们可以很轻易地导出L2正则化,假设参数( heta)的分布是符合以下的高斯分布:

    [P( heta_i) = frac{lambda}{sqrt{pi}} exp(-lambda| heta_i|^2) ag{3.4} ]

    代入式((3.2))可以直接得到L2正则化:

    [ heta^* =argmin_{ heta} left(sum_i |f(X_i) - Y_i|^2 + lambda sum_i | heta_i|^2) ight) ag{3.5} ]

    【防止爬虫转载而导致的格式问题——链接】:
    http://www.cnblogs.com/heguanyou/p/7688344.html

  • 相关阅读:
    JDBC 处理sql查询多个不确定参数
    网页跳转方法总结
    图片上传,直接在网页中显示(支持IE,谷歌,火狐浏览器)
    Oracle报 ORA-00054资源正忙的解决办法
    js对cookie的操作:读、写、删
    认识SignalR
    sql 查询结果用逗号分隔到一列里
    异步编程之await的使用
    应用程序池
    判断list重复扩展方法
  • 原文地址:https://www.cnblogs.com/heguanyou/p/7688344.html
Copyright © 2020-2023  润新知