机器学习中的范数理解(L0,L1,L2)

监督机器学习就是规则化参数的同时最小化误差

有监督学习的样本都是带有标签的样本,用 y y 来表示样本的标签,我们通过算法来提取样本特征并对其进行分类或回归,得到结果 y1=WTx y 1 = W T x , 这里 x x 为样本、 W W 即是参数,此时有目标函数 z=yy1 z = y − y 1 ,我们希望对于相同的样本,其结果输出与其标签一样,于是我们通过优化算法使得 z z 尽可能的小,即 min(z)=min(yWTx) m i n ( z ) = m i n ( y − W T x ) , 优化算法即是更新参数 W W 的值使得分类输出更加接近于标签 y y ,但是由于种种原因比如样本量过少的问题会导致过拟合,这里以简单的三个图示讲解过拟合。



假设我们根据特征分界,{男人X,女人O}
请看下面三个图:
机器学习中的范数理解(L0,L1,L2)_第1张图片

这三幅图很容易理解:
1、 图x1明显分类的有点欠缺,有很多的“男人”被分类成了“女人”。
2、 图x2虽然有两个点分类错误,但是能够理解,毕竟现实世界有噪音干扰,比如有些人男人留长发、化妆、人妖等等。
3、 图x3分类全部是正确的,但是看着这副图片,明显觉得过了,连人妖都区分的出来,可想而知,学习的时候需要更多的参数项,甚至将生殖器官的形状、喉结的大小、有没有胡须特征等都作为特征取用了,总而言之f(x)多项式的N特别的大,因为需要提供的特征多,或者提供的测试用例中我们使用到的特征非常多(一般而言,机器学习的过程中,很多特征是可以被丢弃掉的)。

好了,总结一下三幅图:
x1我们称之为【欠拟合】
x2我们称之为【恰好拟合】,随便取的名字,反正就是容错情况下刚好的意思。
x3我们称之为【过拟合】,这种情况是我们不希望出现的状况,为什么呢?很简单,它的分类只是适合于自己这个测试用例,对需要分类的真实样本而言,实用性可想而知的低。

通过以上的示例我们知道,过拟合导致参数向量 W W 变大, 我们可以给目标函数 z z 加上一个正则化项,常见的正则化项有 L0 L 0 范数、 L1 L 1 范数以及 L2 L 2 范数,下面简单的介绍一下范数的概念。



范数的一般化定义,对于实数 X X ,p-范数的定义为:
||X||p=(ni=0|xi|p)1p | | X | | p = ( ∑ i = 0 n | x i | p ) 1 p

其赋予某个向量空间中每个元素的以长度或大小。



L0 L 0 范数 ||X||0=ni=0X0i | | X | | 0 = ∑ i = 0 n X i 0

其表示向量中非零元素的个数。如果我们使用 L0 L 0 来规则化参数向量 W W ,就是希望 W W 的元素大部分都为零。 L0 L 0 范数的这个属性,使其非常适用于机器学习中的稀疏编码。在特征选择中,通过最小化 L0 L 0 范数来寻找最少最优的稀疏特征项。但是, L0 L 0 范数的最小化问题是NP难问题。 L1 L 1 范数是 L0 L 0 范数的最优凸近似,它比 L0 L 0 范数要更容易求解。因此, L0 L 0 优化过程将会被转换为更高维的范数(例如L1范数)问题。

机器学习中的范数理解(L0,L1,L2)_第2张图片



L1 L 1 范数 ||X||0=ni=0|Xi| | | X | | 0 = ∑ i = 0 n | X i |

L1 L 1 范数是向量中各个元素绝对值之和,也被称作“Lasso regularization”(稀疏规则算子)。



L2 L 2 范数 ||X||2=ni=0X2i | | X | | 2 = ∑ i = 0 n X i 2

Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方。
我们让 L2 L 2 的规则化项 ||W||2 | | W | | 2 最小,可以使 W W 中的每个元素都很小,但不像 L1 L 1 范数那样使元素等于0,而是接近于零。越小的参数说明模型越简单,越简单的模型越不容易产生过拟合的现象。即通过L2范数可以防止过拟合,提升模型的泛化能力。



我们给目标函数加上一个正则化项,那么我们需要优化的目标函数就变成了以下这样一个式子。
这里写图片描述
当我们最小化这个目标函数时,前一项的参数 W W 会变大,后一项正则化项的参数 W W 会变小,取个折中,参数 W W 不会变的很大or很小,即加入正则化项一定程度上避免了过拟合的发生。


本文大部分内容参考知乎和CSDN,下面已附带链接,只是为了方便自己以后查阅,若涉及侵权,请告知,谢谢。
参考:
https://www.zhihu.com/question/20924039
https://blog.csdn.net/zouxy09/article/details/24971995
https://blog.csdn.net/yinyu19950811/article/details/78243801
https://www.zhihu.com/question/20473040

你可能感兴趣的:(机器学习)