向量范数与机器学习中的正则项

前端之家收集整理的这篇文章主要介绍了向量范数与机器学习中的正则项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.向量范数

范数,norm,是数学中是一种类似“长度”的概念,其实也就是一类函数.
在机器学习中的正则化(Regularization)以及稀疏编码(Sparse Coding)有非常有趣的应用.
对于向量 aRn ,它的Lp范数为

||a||p=(in|ai|p)1p(1)

常用的有:
  • L0范数
    向量中非0的元素的个数.
  • L1范数
    向量中各个元素绝对值之和.
  • L2范数
    向量各元素的平方和然后求平方根.

2. 对比

向量表示的是点与点之间的大小与方向,那么不同的范数就对应着不同的距离.
常用的有曼哈顿距离与欧氏距离. 当向量为2维时,可以方便地图形化表达:

  • Manhattan distance
    曼哈顿距离,对应L1范数.
    曼哈顿是一座城市,可以想象为围棋棋盘,从点A到点B的路程,只能沿着棋盘上的路线左右走或上下走.
    以L1距离做度量,距离原点路程为1的点的集合见图2-1 的上图.
  • Euclidean distance
    欧氏距离,也叫欧几里得距离,对应L2范数.
    以L2距离做度量,距离原点路程为1的点的集合见图2-1 的中图.


图2-1 拥有不同范数的单位圆

3.正则化

正则化,regularization,就是正则表达式中那个正则. 注意它不同于 正规化 .
正则化用来防止过拟合,提升模型的泛化能力.

回归问题中,损失函数为 差平方

L(x;θ)=i(θTxiyi@H_976_403@)2(3-1)

目标函数就是求它的最小值.
根据向量 θ 中非0元素个数的不同,会得到下图中三种拟合曲线:


图3-1 欠拟合,理想情况 与 过拟合

参数越复杂,表达能力越强,但容易出现上图中的过拟合现象,特别是训练集中有噪音的时候,我们不期望自己的模型去把一些噪声离群点也拟合掉,这样会加大测试集中的误差.
所以我们会把目标函数添加 θ @H_909_502@\theta 的L2范数作正则项:

L(x;θ)=i(θTxiyi)2+λ||θ||2(3-2)

其中 λ 为正则项的系数. 这样,参数约复杂,它的L2范数就越大,所以(3-2) 的表达式可以约束参数的复杂度.

猜你在找的正则表达式相关文章