为什么进行范数规则化
因为需要保证在最小化训练误差的同时,不发生过拟合,即保证模型不能过于复杂化,参数不能过多,所以需要规则化参数。这样得到的参数才具有好的泛化性能。
L0范数
- 指的向量中非0的元素的个数,由于是需要最小化损失和规则化项,因此希望向量中大部分元素都是0(即让参数W是稀疏的)
L1范数
- 向量中各个元素绝对值之和
- W的L1范数是绝对值,|w|在w=0处不可微
- L0和L1范数都可以实现稀疏(倾向于让大部分W元素接近0,趋向于产生少量的特征,而其他的特征都是0,可以实现特征的稀疏),但L1更容易优化求解
- 作用:1.在特征很多时,过滤掉一些无用特征 2.可以度量两个向量间的绝对误差和,对应于机器学习中的MAE(平均绝对误差)
L2范数
- 向量各元素的平方和求平方根
- L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0(L2会选择更多的特征,这些特征都会接近于0)。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象,提高泛化性。
- 作用:1.改善过拟合 2.可以度量两个向量的平方差和,对应于RMSE(均方根误差)
L1和L2的区别
- L1的最优解相对于L2较少,但往往是最优解,L2更倾向于是局部最优解
- 在比较两个向量的差异时,L2比L1更不能容忍这些差异
- 范数的指数越高,就越关注大的值而忽略小的值,因此RMSE比MAE对异常值更敏感
- L2具有更平滑的特性,在模型预测中具有更好的性能
Frobenius范数
- 矩阵中各项元素的绝对值平方的总和,再开方
- 等价于把矩阵拉长成向量,再计算他的L2范数