问题2 机器学习篇 正则化L1和L2有什么区别?

问题:正则化L1和L2有什么区别?

先要知道什么是正则化,再谈他们的区别。后面引用区《机器学习损失函数、L1-L2正则化的前世今生》很值得看。

答:
1)什么是正则化
在机器学习中,L1和L2被称为正则化。
他们在其他学科中的叫法不一样,在统计学中称为罚项,数学中对应的是范数,本质是相同的。
2)正则化的提出
在《机器学习损失函数、L1-L2正则化的前世今生》中提到的Lasso Regression和Ridge Regression在求整体损失最小时分别使用了L1正则化和L2正则化。
3)为什么要正则化
正则化的提出是为了使模型更好的拟合实际情况。这里说得不明确,继续往下读。
4)正则化的一般形式
在李航的书中说到结构风险化策略如下式,一般形式为

minfF1Ni=1NL(yi,f(x))+λJ(f)

其中第一项为损失函数,第二项为正则化项。
在线性回归问题中,损失函数是平方损失,正则化项是参数向量的L2范数;
另外还有Hinge loss,exp-loss, log-Loss等等。

4)J(f)常用距离度量表示
最常用的是闵可夫斯基距离(Minkowski distance)

distmk(xi,xj)=(u=1n|xiuxju|p)1/p

简单说说三种情况:
a) p =1, 为曼哈顿距离
distman(xi,xj)=u=1n|xiuxju|=||xixj||1

b) p =2, 为欧氏距离

distman(xi,xj)=u=1n|xiuxju|2=||xixj||2

c) p 趋于无穷大为切比雪夫距离

上面a)b)两种情况中的表达式已经写成了范数的形式,也就是L1和L2。

5) 其他范数


机器学习损失函数、L1-L2正则化的前世今生: https://blog.csdn.net/kicilove/article/details/78051533
周志华 《机器学习》
0 范数、1 范数、2 范数有什么区别? - 魏通的回答 - 知乎
https://www.zhihu.com/question/20473040/answer/102907063
0 范数、1 范数、2 范数有什么区别? - 凌空的回答 - 知乎
https://www.zhihu.com/question/20473040/answer/175915374
校招算法工程师常见面试题及答案总结01——L1和L2正则化
https://blog.csdn.net/LuckyJune34/article/details/54599655

原文地址:https://www.cnblogs.com/siucaan/p/9623172.html