机器学习基础-损失函数,范数

一、统计学中常见的损失函数有以下几种:

1.0-1损失函数(0-1 loss function)

L(Y,f(x))={1,Yf(X)0,Y=f(X)

2.平方损失函数(quadratic loss function)
L(Y,f(x))=(Yf(X))2

3,绝对值损失函数(absolute loss function)
L(Y,f(x))=|Yf(X)|

4.对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function)
L(Y,P(Y|X))=logP(Y|X)

5.交叉熵损失函数:交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵,则:
参考:理解交叉熵作为损失函数在神经网络中的作用
H(p,q)=xp(x)logq(x)

损失函数值越小也好,由于输入输出(X,Y)是随机变量,遵从联合分布P(X,Y)所以损失函数的期望为:

Rexp(f)=EP[L(Y,f(X))]=x,yL(y,f(x))P(x,y)dxdy

这个就是期望损失。

上面的加上结构挂风险就和总体写成如下式子:

Rsrm(f)=1Ni=1NL(yi,f(xi))+λJ(f)

当上面的式子最小的时候就是最优的函数参数。就是:
Rsrm(f)min=1Ni=1NL(yi,f(xi))+λJ(f)

这个就是经验风险和结构风险最优化的目标函数。

二、正则化(regularization)

正则化是结构风险最小化测量的实现,是在经验风险上加上一个正则化项,正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。常见的正则化可以是模型参数向量的范数。

一般正则化具有如下形式:

minfF=1Ni=1NL(yi,f(xi))+λJ(f)

其中λ0调整经验损失和结构损失关系的系数。

正则化可以取不同的形式。例如回归问题,损失函数是平方损失,正则化可以是参数向量的L2范数:

minfF=1Ni=1NL(yi,f(xi))+λ2||w||2
,其中||w||2表示参数w的L2范数。
也可以是L1 范数,如下:
minfF=1Ni=1NL(yi,f(xi))+λ||w||1

三、 岭回归(ridge regression)和 LASSO(Least Absolute Shrinkage and Selection Operator)

其中,对简单线性回归模型,给定数据集D={(x1,y1),(x3,y2)...,(xm,ym)},使用平方损失函数(quadratic loss function)引入了 L2 正则化称为岭回归

(1)L(Y,f(x))=(Yf(X))2+λ||w||22=minwi=1m(yiwTxi)2+λ||w||22

对引入了L1正则化称为LASSO回归
(2)L(Y,f(x))=(Yf(X))2+λ||w||1=minwi=1m(yiwTxi)2+λ||w||1

             这里就会有一个疑问,L1L2都可以做正则化项去结构化最小,那这两个在什么情况下选取呢?怎么选取是合适的呢?这个问题首先要看什么是范数。

四、范数(norm)

数学上,范数是一个向量空间或矩阵上所有向量的长度和大小的求和。简单一点,我们可以说范数越大,矩阵或者向量就越大。范数有许多种形式和名字,包括最常见的:欧几里得距离(Euclideandistance),最小均方误差(Mean-squared Error)等等。
范数参考博客:L1正则和L2正则的比较分析详解 ——-是真的详尽,本节就是引用这篇博文。
大多数时间,你会在等式中看见范数像下面那样:
如一个向量a=[3,2,1]T,其欧几里得范数L2范数为:||a||2=32+(2)2+12=14=3.742
即向量a的模的大小。上面的例子展示了怎样计算欧几里得范数,或者叫做l2-norm.

X的Lp-norm的规范定义如下||x||p=i|xi|pp
有趣的是,lp-norm看起来非常相似,但是他们的数学特性非常不同,结果应用场景也不一样。因此,这里详细介绍了几种范式。

L1-norm:

这个范数在范数家族中相当常见,它有很多名字和许多种形式,它的昵称是曼哈顿范数(Manhattannorm)。两个向量或矩阵的l1-norm为:

||x||1=i|xi|

n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的曼哈顿距离:d12=k=1n|x1kx2k|

在计算机视觉科学家眼中,它叫做绝对偏差和(Sum of AbsoluteDifference,SAD)。

SAD(x1,x2)=||x1x2||1=|x1x2|

在一般情况下,它可以用于一个单元的偏差计算:它叫做平均绝对误差(Mean-Absolute Error,MAE).

MAE(x1,x2)=1n||x1x2||1=1n|x1ix2i|

L2-norm:

所有范数中最流行的是l2-norm。总体上,它用于工程和科学领域的方方面面。基本定义如下,l2-norm:

||x||2=ixi2

它的平方形式,在计算机视觉领域为平方差的和(Sumof Squared Difference,SSD):
SSD(x1,x2)=||x1x2||22=i(x1ix2i)2

它最出名的应用是在信号处理领域,为均方误差(Mean-SquaredError,MSE),它被用来计算两个信号的相似度,质量(quality)和关系。MSE为:
MSE(x1,x2)=1n||x1x2||22=1n(x1ix2i)22

五、L1和L2正则化的关系

L1和L2正则化比较经典的两张图之间的关系:

通过两个图来查看:
误差参数对L1和L2的影响:
机器学习基础-损失函数,范数

正则化约束下最佳参数的求解:
机器学习基础-损失函数,范数

正则化参数的模型:机器学习中的正则化技术L0,L1与L2范数 —详细清晰