为啥L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布
问题引入
大家都知道L1和L2正则化,也知道L0正则化,但是大多数人知道L1和L2正则先验分别服从什么分布吗?在面试或者我们网上进行答题的时候经常会有这么一道题,让人懵逼。
问题解答
L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布。接下来从最大后验概率的角度进行推导和分析。在机器学习建模中,我们知道了 x 和 y 以后,需要对参数 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的先验分布为高斯分布,由最大后验概率估计导出。
欢迎关注公众号“百面机器学习”,也欢迎提出新的问题和总结~~
参考
https://blog.csdn.net/weixin_38592956/article/details/84880672
https://blog.csdn.net/m0_38045485/article/details/82147817
https://zhuanlan.zhihu.com/p/65094972