1.向量范数
范数,norm,是数学中是一种类似“长度”的概念,其实也就是一类函数.
在机器学习中的正则化(Regularization)以及稀疏编码(Sparse Coding)有非常有趣的应用.
对于向量
常用的有:
- 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,就是正则表达式中那个正则. 注意它不同于 正规化 .
正则化用来防止过拟合,提升模型的泛化能力.
回归问题中,损失函数为 差平方
目标函数就是求它的最小值.
根据向量
图3-1 欠拟合,理想情况 与 过拟合
参数越复杂,表达能力越强,但容易出现上图中的过拟合现象,特别是训练集中有噪音的时候,我们不期望自己的模型去把一些噪声离群点也拟合掉,这样会加大测试集中的误差.
所以我们会把目标函数中添加
其中