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

来源:互联网 发布:cacti监控mysql模板 编辑:程序博客网 时间:2024/06/14 16:38

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)2(3-1)

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


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

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

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

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

阅读全文
0 0
原创粉丝点击