标签:drop details 能力 利用 有一个 omega 随机 一个 推广
\(L_1,L_2\)正则化
在很多场景都遇到\(L_1,L_2\)正则化,但是一直不知道这二者具体是什么原理,最近看了相关教程,记录一下。希望也能帮到还不懂的朋友??。
前置技能
范数
数(norm)是数学中的一种基本概念。在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。
我们从向量范数开始。
向量范数
1-范数为向量各元素绝对值之和。
\[||X||_1 = \sum_{i=1}^n |x_i|
\]
2-范数为各元素平方和开根号。
\[||X||_2 = \sqrt{\sum_{i=1}^n x_i^2}
\]
\(\infty-\)范数为最大元素。
\[||X||_{\infty} = \max_{1 \leq i \leq n} |x_i|
\]
\(p-\)范数。
\[||X||_p = (\sum_{i=1}^n |x_i|^p)^{\frac{1}{p}}
\]
对比上面的几种情况,满足\(p-\)范数向1和无穷的推广。
矩阵范数
\(L_0\)范数,定义为矩阵中的非零元素个数。
\[L_0 = \sum_{i,j} [a_{ij} \neq 0]
\]
\(L_1\)范数,矩阵中的每个元素绝对值之和,它是\(L_0\)范数的最优凸近似,因此它也可以近似表示稀疏。
\[L_1 = \sum_{i,j}|a_{ij}|
\]
\(F\)范数,矩阵的各个元素平方之和再开平方根,它通常也叫做矩阵的\(L_2\)范数。
\[L_2 = \sqrt{\sum_{i,j}a_{ij}^2}
\]
矩阵1-范数,矩阵的每一列上的元素绝对值先求和,再从中取个最大的(列和最大)。
\[||A||_1 = \max_{1 \leq j \leq n} \sum_{i=1}^m |a_{ij}|
\]
矩阵2-范数,协方差矩阵的特征值的绝对值最大值开根号。
\[||A||_2 = \sqrt{\max_{1 \leq i \leq n} |\lambda_i|}
\]
其中\(\lambda\)为\(A^T A\)的特征值。
矩阵无穷范数,矩阵的每一行上的元素绝对值先求和,再从中取个最大的(行和最大)。
\[||A||_{\infty} = \max_{1 \leq i \leq n} \sum_{j=1}^{m} |a_{ij}|
\]
样本分布
高斯分布
高斯分布又称正态分布,其概率密度函数表示如下。
\[f(x) = \frac{1}{\sigma \sqrt{2 \pi} } e^{- \frac{(x-\mu)^2}{2 \sigma ^2}}
\]
可以用\(x \sim N(\mu, \sigma ^2)\)来表示,其中\(\mu, \sigma\)分别是均值和标准差。
当均值为0,方差为1时,称其为标准正态分布。
拉普拉斯分布
Laplace分布的概率密度函数的形式如下。
\[p(x) = \frac{1}{2 \lambda} e ^{- \frac{|x-\mu|}{\lambda}}
\]
它是由两个指数函数组成的,所以又叫做双指数函数分布。式中均值为\(\mu\),方差为\(2 \lambda ^2\)。
正则化
机器学习中,有一个常见的问题就是由于模型太复杂而引发的过拟合,大大降低了模型对未知数据的泛化能力,而解决过拟合的方法其实很多,比如dropout等。
正则化也是用来解决过拟合的,它会控制模型复杂度,基本方法是在原目标函数中加入一个惩罚项,目的是在最值化目标函数的同时减小模型复杂度,从而降低过拟合的程度。
\[\tilde{J}(w;X,y) = J(w; X,y) + \alpha \Omega(w)
\]
\(J\)为原目标函数,\(X,y\)分别是数据输入和数据标签,\(w\)为权重,\(\alpha\)系数用来控制在目标函数种惩罚项的比重,\(\tilde J\)为改进后的目标函数。根据\(\Omega\)函数选择不同,有\(L_1\)正则化、\(L_2\)正则化两种。
\(L_1\)正则化:
\[\Omega(w) = ||w||_1 = \sum_i |w_i|
\]
\(L_2\)正则化:
\[\Omega(w) = ||w||_2 = \sqrt{ \sum_i |w_i|^2}
\]
两种解释
基于约束条件的最优化
根据上述说法,我们希望在原本目标函数\(J\)最小化的同时也最小化模型复杂度。加入约束条件后:
\[\min_w J(w; X,y)\s.t.||w||_0 \leq C
\]
用来表示惩罚项的\(\Omega\)函数选择\(L_0\)范数是非常合适的,但是实际我们的权重很少会有0,我们应当将一些足够小的数字作0处理,可以使用\(L_1,L_2\)范数。为了方便,后面计算\(L_2\)正则化的时候将采用\(L_2^2\)。
\[\min_w J(w; X, y)\s.t.||w||_1 \leq C
\]
或者
\[\min_w J(w;X,y)\s.t. ||w||_2^2 \leq C
\]
利用拉格朗日乘子法构造拉格朗日函数。
\[L(w, \alpha) = J(w;X,y) + \alpha (||w||_1 - C)
\]
或
\[L(w, \alpha) = J(w;X,y) + \alpha (||w||_2^2 - C)
\]
要最小化\(L(w, \alpha)\),就等同于下面式子:
\[\min _w J(w; X,y) + \alpha^{*} ||w||_1
\]
或
\[\min _w J(w; X,y) + \alpha^{*} ||w||_2^2
\]
其中\(\alpha^{*}\)为\(\alpha\)的最优解。
最大后验概率估计
假设权重系数\(w\)是未知参数,\(y\)服从高斯分布,\(y^i \sim N(w^T x^i, \sigma ^2)\),那么
\[P(y|X,w) = \prod_i p(y^i|x^i,w) = \prod_i \frac{1}{\sigma \sqrt{2 \pi}}e^{- \frac{(y^i - w^T x^i)^2}{2 \sigma ^2}}
\]
求得对数似然函数
\[l(w) = \log P(y|X,w) = - \sum_i \frac{1}{2 \sigma ^2} (y^i - w^T x^i)^2 + C
\]
因为\(C\)为常数项,所以这一部分最小化\(-l(w)\),也就是原始的目标函数,最小平方差。
在最大后验概率中(MAP),将\(w\)看作随机变量。
\[P(w|X,y) = \frac{P(w, X, y)}{P(X,y)} = \frac{P(y|X,w) P(w)}{P(X,y)} \propto P(y|X,w)P(w)
\]
取对数后
\[MAP = \log P(y|X,w) + \log P(w)
\]
其中第一项已经计算出,我们对权重系数\(w\)作不同的分布假设可以得到不一样的正则化公式。
假设\(w\)服从正态分布
假设\(w\)服从正态分布,均值为0,方差为\(\sigma ^2\)。
\[P(w) = \prod_j p(w_j) = \prod_j \frac{1}{\sigma \sqrt{2 \pi}} e^{-\frac{w_j^2}{2 \sigma ^2}}
\]
取对数后
\[\log P(w) = - \frac{1}{2 \sigma^2} \sum_j w_j^2 + C‘
\]
那么最大化MAP等同于
\[\min_w l(w) + \frac{1}{2 \sigma^2} \sum_j w_j^2
\]
这是符合我们平方后的\(L_2\)范数形式的。
假设\(w\)服从拉普拉斯分布
若假设\(w\)服从均值为0、方差为\(2 \lambda^2\)的拉普拉斯分布。
\[p(w_j) = \frac{1}{2 \lambda} e ^{- \frac{|w_j|}{\lambda}}
\]
则
\[\log P(w) = \log \prod_j \frac{1}{2 \lambda} e^{- \frac{|w_j|}{\lambda}} = - \frac{1}{\lambda} \sum_j |w_j| + C‘
\]
最大化MAP等同于
\[\min_w l(w) + \alpha \sum_j |w_j|
\]
理论推导
实在抱歉由于我数学功底不够,还不能理解这一部分,暂且搁置,以后一定补??。?
参考
向量与矩阵的范数
拉普拉斯分布
深入理解L1、L2正则化
深入理解L1,L2正则化(Regularization)
Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning.
L1,L2正则化
标签:drop details 能力 利用 有一个 omega 随机 一个 推广
原文地址:https://www.cnblogs.com/TABball/p/12773833.html