为啥L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布

为啥L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布

问题引入

大家都知道L1和L2正则化,也知道L0正则化,但是大多数人知道L1和L2正则先验分别服从什么分布吗?在面试或者我们网上进行答题的时候经常会有这么一道题,让人懵逼。

问题解答

L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布。接下来从最大后验概率的角度进行推导和分析。在机器学习建模中,我们知道了 xy 以后,需要对参数 w 进行建模。那么后验概率表达式如下:

MAP = \log P(y|X,w)P(w) = \log P(y|X,w) + \log P(w)

可以看出来后验概率函数为在似然函数的基础上增加了 logP(w)P(w) 的意义是对权重系数 w 的概率分布的先验假设,在收集到训练样本 {X,y} 后,则可根据 w{X,y} 下的后验概率对 w 进行修正,从而做出对 w 的更好地估计。若假设 w 的先验分布为0均值的高斯分布,即

w \sim N(0,{\sigma ^2})

则有

\begin{array}{l} \log P(w) = \log \prod\limits_j {P({w_j})} = \\ \log \prod\limits_j {[\frac{1}{{\sqrt {2\pi } \sigma }}{e^{ - \frac{{{{({w_j})}^2}}}{{2{\sigma ^2}}}}}]} \\ = - \frac{1}{{2{\sigma ^2}}}\sum\limits_j {{w_j}^2 + C} \end{array}

可以看到,在高斯分布下 logP(w) 的效果等价于在代价函数中增加L2正则项。若假设 w 服从均值为0,参数为 a 的拉普拉斯分布,即

P({w_j}) = \frac{1}{{\sqrt {2a} }}{e^{\frac{{\left| {{w_j}} \right|}}{a}}}

则有

\begin{array}{l} \log P(w) = \log \prod\limits_j {P({w_j})} = \\ \log \prod\limits_j {[\frac{1}{{\sqrt {2a} \sigma }}{e^{ - \frac{{{w_j}}}{a}}}]} \\ = - \frac{1}{{2a}}\sum\limits_j {|{w_j}| + C} \end{array}

可以看到,在拉普拉斯分布下 logP(w) 的效果等价在代价函数中增加L1正项。

L1正则化可通过假设权重w的先验分布为拉普拉斯分布,由最大后验概率估计导出。

L2正则化可通过假设权重w的先验分布为高斯分布,由最大后验概率估计导出。


欢迎关注公众号“百面机器学习”,也欢迎提出新的问题和总结~~


参考

blog.csdn.net/weixin_38
blog.csdn.net/m0_380454
zhuanlan.zhihu.com/p/65





编辑于 2022-05-04 15:43