登录    注册      
    
  

News Message

loss function(损失函数)及regulation(正则化)



loss function(损失函数)及regulation(正则化)





  1. 常用几种loss function总结
  2. 常见几种regulation总结

PS:这里注意下regulation和regularization term为两种不一样的范畴,具体来说regulation包含增加regularization term这种方法

1.loss function:

  • Loss function一般分为两个部分:误差部分(loss term) + 正则化部分(regularization term)

[公式]

  • loss term有以下常见几个类别:
  1. Gold Standard (ideal case)-又称0-1损失函数
  2. Hinge (SVM, soft margin)
  3. Log (logistic regression, cross entropy loss error)
  4. Squared loss (linear regression)
  5. Exponential loss (Boosting)

1.1 Gold Standard Loss:

用来记录分类错误的次数:m为predition,若m<0,则分类错误,反之,分类正确

[公式]

1.2 Hinge Loss:

  • Hinge Loss常作为分类器训练时的损失函数。Hinge loss用于“最大间隔”分类,特别是针对于支持向量机(SVM)。For an intended output t = ±1 and a classifier score y, the hinge loss of the prediction y is defined as:(对于预期输出t =±1以及分类器y(二分类),预测y的Hinge Loss定义为:)

[公式]

注意:这里的y分类器决策函数的“原始”输出,而不是预测的类别标签。例如,在线性SVM中,y=wx+b,(w,b)是分类超平面的参数,x是要分类的点。可以看到,当t和y有相同的符号的时候(这意味着y的预测是正确的)并且 [公式] ,hinge loss的结果为L(y)=0,但是当出现错误的分类是,hinge loss的L(y)与y呈线性关系(一个线性误差)。

  • 带有regulation term的Hinge Loss(偷个懒不打公式了,所有J,w,y,x,m 标记全文一致):

1.3 Log Loss:

在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布)然,后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为: 最小化负的似然函数[公式] 。从损失函数的视角来看,它就成了log损失函数。

其定义式:

[公式]

然后我们可以得出其loss function:

[公式]

然后我们自然最大化其最大似然函数(log likelihood function):

[公式]

而这个恰恰就是最小化cross entropy。

至此我们顺便介绍下cross entropy:

熵(entropy)的概念来自物理中的热力学,表示热力学系统中的无序程度,我们说的熵是信息论中的熵,表示对不确定性的测量,熵越高,能传输的信息越多,熵越少,传输的信息越少。举个例子说,当你站在一条公路旁边,看着车流来来往往,然后,你想告诉你的朋友每个车型号,但是只有一个二进制的信道,仅仅可以传输0,1序列,然后这个通讯相当的昂贵,十元1bit。你需要很多个二进制序列来表示每一个车型号。那么你该怎么来编码这些车的型号呢?会使用相同长度的bit来表示丰田Camry和奥迪Q7么? 当然不会了,因为你知道丰田Camry比奥迪Q7普遍多了,所以你会用更少的bit来编码丰田。换成数学的角度来看,把随机过的一辆车辆品牌是丰田Camry还是奥迪Q7看成随机事件,用随机变量X表示,所以我们在做的就是用X的分布来减少我们发送的bit的平均长度。也就是我们现在有了观测到的概率分布y,y_i = P(X=x_i)。我们要使用平均最小的bit,所以我们应该为x_i 分配log(1/y_i) 个比特。对所有的x_i 我们都有一个对应的最小需要分配的bit长度,那么我们对这个log(1/y_i)求期望也就得到了X的熵的定义了:

Cross entropy:

假如说我们用这个分布来作为我们来对事件编码的一个工具,熵就衡量了我们用这个正确的分布y来对事件编码所能用的最小的bit 长度,我们不能用更短的bit来编码这些事件或者符号了。相对的,交叉熵是我们要对y这个分布去编码,但是我们用了一些模型估计分布y`。这里的话通过y`这个分布我们得到的关于x_i的最小编码长度就变成了log(1/y`_i),但是呢,我们的期望仍是关于真是分布y的。所以交叉熵的定义就变成了:

Cross entropy equation

交叉熵是大于等于熵的,因为我们使用了错误的分布y`会带来更多的bit使用。当y和y`相等的时候,交叉熵就等于熵了。

KL 松散度(KL Divergence):

KL松散度和交叉熵的区别比较小,KL松散度又叫做相对熵,从定义很好看出区别:

KL Divergence equation

这个意思就是说我们要编码一个服从y分布的随机变量,假设我们使用了一些数据估计出来这个随机变量的分布是y`,那么我们需要用比真实的最小bit多多少来编码这个随机变量。这个值是大于等于0的,并且当y和y`相等的时候才为0。注意这里对交叉熵求最小和对KL松散度求最小是一样的。也就是我们要调整参数使得交叉熵和熵更接近,KL松散度越接近0,也就是y`越接近y。

1.4 squared loss:

很简单了,就是prediction与label差值的平方求和:

squared loss equation

1.5 exponential loss:

指数误差通常用在boosting中,指数误差始终> 0,但是确保越接近正确的结果误差越小,反之越大。

exponential loss equation

1.6 regulation term:

  • 简单区分L1,L2 regulation term:

L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。

  • L1正则化和L2正则化的说明如下:
  1. L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 [公式]
  2. L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为 [公式]

一般都会在正则化项之前添加一个系数,Python中用α表示,一些文章也用λ表示。

  • L1正则化和L2正则化的作用:
  1. L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择
  2. L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

PS:稀疏模型与特征选择

上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合?

  • L1正则化和特征选择:

假设有如下带L1正则化的损失函数:

[公式]
其中 [公式] 是原始的损失函数,加号后面的一项是L1正则化项,α是正则化系数。注意到L1正则化是权值的绝对值之和, [公式] 是带有绝对值符号的函数,因此 [公式] 是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。当我们在原始损失函数 [公式] 后添加L1正则化项时,相当于对 [公式] 做了一个约束。令 [公式] ,则 [公式] ,此时我们的任务变成在L约束下求出 [公式] 取最小值的解。考虑二维的情况,即只有两个权值w1和w2,此时L=|w1|+|w2|对于梯度下降法,求解 [公式] 的过程可以画出等值线,同时L1正则化的函数L也可以在w1,w2的二维平面上画出来。如下图:

L1 regulation term

图中等值线是 [公式] 的等值线,黑色方形是L函数的图形。在图中,当 [公式] 等值线与L图形首次相交的地方就是最优解。上图中 [公式] 与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L函数有很多『突出的角』(二维情况下四个,多维情况下更多), [公式] 与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

而正则化前面的系数α,可以控制L图形的大小。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值(w1,w2)=(0,w)中的w可以取到很小的值。

假设有如下带L2正则化的损失函数,同样可以画出他们在二维平面上的图形,如下:

[公式]

L2 regulation term

二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此 [公式] 与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

  • L2正则化和过拟合:

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

那为什么L2正则化可以获得值很小的参数?

以线性回归中的梯度下降法为例。假设要求的参数为θ,hθ(x)是我们的假设函数,那么线性回归的代价函数如下:

[公式]

那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为:

[公式]

其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:

[公式]

其中λ就是正则化参数。从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代, [公式] 都要先乘以一个小于1的因子,从而使得 [公式] 不断减小,因此总得来看, [公式] 是不断减小的。

最开始也提到L1正则化一定程度上也可以防止过拟合。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小,可以达到和L2正则化类似的效果。


2. Regulation的常用方法:

  • Dropout
  • Batch Normalization
  • Data Augmentation
  • DropConnect
  • Fractional Max Pooling
  • Stochastic Depth(Resnet- shortcut)

--详细内容请传送至:zhuanlan.zhihu.com/p/40



-ref:

1.Loss function:损失函数(Loss Function)

2. Cross entropy 介绍

3.regulation term: 机器学习中正则化项L1和L2的直观理解 - CSDN

4. Regulation 常用方法:CS231n_lecture7_slides





  1. 常用几种loss function总结
  2. 常见几种regulation总结

PS:这里注意下regulation和regularization term为两种不一样的范畴,具体来说regulation包含增加regularization term这种方法

1.loss function:

  • Loss function一般分为两个部分:误差部分(loss term) + 正则化部分(regularization term)

[公式]

  • loss term有以下常见几个类别:
  1. Gold Standard (ideal case)-又称0-1损失函数
  2. Hinge (SVM, soft margin)
  3. Log (logistic regression, cross entropy loss error)
  4. Squared loss (linear regression)
  5. Exponential loss (Boosting)

1.1 Gold Standard Loss:

用来记录分类错误的次数:m为predition,若m<0,则分类错误,反之,分类正确

[公式]

1.2 Hinge Loss:

  • Hinge Loss常作为分类器训练时的损失函数。Hinge loss用于“最大间隔”分类,特别是针对于支持向量机(SVM)。For an intended output t = ±1 and a classifier score y, the hinge loss of the prediction y is defined as:(对于预期输出t =±1以及分类器y(二分类),预测y的Hinge Loss定义为:)

[公式]

注意:这里的y分类器决策函数的“原始”输出,而不是预测的类别标签。例如,在线性SVM中,y=wx+b,(w,b)是分类超平面的参数,x是要分类的点。可以看到,当t和y有相同的符号的时候(这意味着y的预测是正确的)并且 [公式] ,hinge loss的结果为L(y)=0,但是当出现错误的分类是,hinge loss的L(y)与y呈线性关系(一个线性误差)。

  • 带有regulation term的Hinge Loss(偷个懒不打公式了,所有J,w,y,x,m 标记全文一致):

1.3 Log Loss:

在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布)然,后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为: 最小化负的似然函数[公式] 。从损失函数的视角来看,它就成了log损失函数。

其定义式:

[公式]

然后我们可以得出其loss function:

[公式]

然后我们自然最大化其最大似然函数(log likelihood function):

[公式]

而这个恰恰就是最小化cross entropy。

至此我们顺便介绍下cross entropy:

熵(entropy)的概念来自物理中的热力学,表示热力学系统中的无序程度,我们说的熵是信息论中的熵,表示对不确定性的测量,熵越高,能传输的信息越多,熵越少,传输的信息越少。举个例子说,当你站在一条公路旁边,看着车流来来往往,然后,你想告诉你的朋友每个车型号,但是只有一个二进制的信道,仅仅可以传输0,1序列,然后这个通讯相当的昂贵,十元1bit。你需要很多个二进制序列来表示每一个车型号。那么你该怎么来编码这些车的型号呢?会使用相同长度的bit来表示丰田Camry和奥迪Q7么? 当然不会了,因为你知道丰田Camry比奥迪Q7普遍多了,所以你会用更少的bit来编码丰田。换成数学的角度来看,把随机过的一辆车辆品牌是丰田Camry还是奥迪Q7看成随机事件,用随机变量X表示,所以我们在做的就是用X的分布来减少我们发送的bit的平均长度。也就是我们现在有了观测到的概率分布y,y_i = P(X=x_i)。我们要使用平均最小的bit,所以我们应该为x_i 分配log(1/y_i) 个比特。对所有的x_i 我们都有一个对应的最小需要分配的bit长度,那么我们对这个log(1/y_i)求期望也就得到了X的熵的定义了:

Cross entropy:

假如说我们用这个分布来作为我们来对事件编码的一个工具,熵就衡量了我们用这个正确的分布y来对事件编码所能用的最小的bit 长度,我们不能用更短的bit来编码这些事件或者符号了。相对的,交叉熵是我们要对y这个分布去编码,但是我们用了一些模型估计分布y`。这里的话通过y`这个分布我们得到的关于x_i的最小编码长度就变成了log(1/y`_i),但是呢,我们的期望仍是关于真是分布y的。所以交叉熵的定义就变成了:

Cross entropy equation

交叉熵是大于等于熵的,因为我们使用了错误的分布y`会带来更多的bit使用。当y和y`相等的时候,交叉熵就等于熵了。

KL 松散度(KL Divergence):

KL松散度和交叉熵的区别比较小,KL松散度又叫做相对熵,从定义很好看出区别:

KL Divergence equation

这个意思就是说我们要编码一个服从y分布的随机变量,假设我们使用了一些数据估计出来这个随机变量的分布是y`,那么我们需要用比真实的最小bit多多少来编码这个随机变量。这个值是大于等于0的,并且当y和y`相等的时候才为0。注意这里对交叉熵求最小和对KL松散度求最小是一样的。也就是我们要调整参数使得交叉熵和熵更接近,KL松散度越接近0,也就是y`越接近y。

1.4 squared loss:

很简单了,就是prediction与label差值的平方求和:

squared loss equation

1.5 exponential loss:

指数误差通常用在boosting中,指数误差始终> 0,但是确保越接近正确的结果误差越小,反之越大。

exponential loss equation

1.6 regulation term:

  • 简单区分L1,L2 regulation term:

L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。

  • L1正则化和L2正则化的说明如下:
  1. L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 [公式]
  2. L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为 [公式]

一般都会在正则化项之前添加一个系数,Python中用α表示,一些文章也用λ表示。

  • L1正则化和L2正则化的作用:
  1. L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择
  2. L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

PS:稀疏模型与特征选择

上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合?

  • L1正则化和特征选择:

假设有如下带L1正则化的损失函数:

[公式]
其中 [公式] 是原始的损失函数,加号后面的一项是L1正则化项,α是正则化系数。注意到L1正则化是权值的绝对值之和, [公式] 是带有绝对值符号的函数,因此 [公式] 是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。当我们在原始损失函数 [公式] 后添加L1正则化项时,相当于对 [公式] 做了一个约束。令 [公式] ,则 [公式] ,此时我们的任务变成在L约束下求出 [公式] 取最小值的解。考虑二维的情况,即只有两个权值w1和w2,此时L=|w1|+|w2|对于梯度下降法,求解 [公式] 的过程可以画出等值线,同时L1正则化的函数L也可以在w1,w2的二维平面上画出来。如下图:

L1 regulation term

图中等值线是 [公式] 的等值线,黑色方形是L函数的图形。在图中,当 [公式] 等值线与L图形首次相交的地方就是最优解。上图中 [公式] 与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L函数有很多『突出的角』(二维情况下四个,多维情况下更多), [公式] 与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

而正则化前面的系数α,可以控制L图形的大小。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值(w1,w2)=(0,w)中的w可以取到很小的值。

假设有如下带L2正则化的损失函数,同样可以画出他们在二维平面上的图形,如下:

[公式]

L2 regulation term

二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此 [公式] 与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

  • L2正则化和过拟合:

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

那为什么L2正则化可以获得值很小的参数?

以线性回归中的梯度下降法为例。假设要求的参数为θ,hθ(x)是我们的假设函数,那么线性回归的代价函数如下:

[公式]

那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为:

[公式]

其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:

[公式]

其中λ就是正则化参数。从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代, [公式] 都要先乘以一个小于1的因子,从而使得 [公式] 不断减小,因此总得来看, [公式] 是不断减小的。

最开始也提到L1正则化一定程度上也可以防止过拟合。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小,可以达到和L2正则化类似的效果。


2. Regulation的常用方法:

  • Dropout
  • Batch Normalization
  • Data Augmentation
  • DropConnect
  • Fractional Max Pooling
  • Stochastic Depth(Resnet- shortcut)

--详细内容请传送至:zhuanlan.zhihu.com/p/40



-ref:

1.Loss function:损失函数(Loss Function)

2. Cross entropy 介绍

3.regulation term: 机器学习中正则化项L1和L2的直观理解 - CSDN

4. Regulation 常用方法:CS231n_lecture7_slides


https://zhuanlan.zhihu.com/p/40284001

  1. 常用几种loss function总结
  2. 常见几种regulation总结

PS:这里注意下regulation和regularization term为两种不一样的范畴,具体来说regulation包含增加regularization term这种方法

1.loss function:

  • Loss function一般分为两个部分:误差部分(loss term) + 正则化部分(regularization term)

[公式]

  • loss term有以下常见几个类别:
  1. Gold Standard (ideal case)-又称0-1损失函数
  2. Hinge (SVM, soft margin)
  3. Log (logistic regression, cross entropy loss error)
  4. Squared loss (linear regression)
  5. Exponential loss (Boosting)

1.1 Gold Standard Loss:

用来记录分类错误的次数:m为predition,若m<0,则分类错误,反之,分类正确

[公式]

1.2 Hinge Loss:

  • Hinge Loss常作为分类器训练时的损失函数。Hinge loss用于“最大间隔”分类,特别是针对于支持向量机(SVM)。For an intended output t = ±1 and a classifier score y, the hinge loss of the prediction y is defined as:(对于预期输出t =±1以及分类器y(二分类),预测y的Hinge Loss定义为:)

[公式]

注意:这里的y分类器决策函数的“原始”输出,而不是预测的类别标签。例如,在线性SVM中,y=wx+b,(w,b)是分类超平面的参数,x是要分类的点。可以看到,当t和y有相同的符号的时候(这意味着y的预测是正确的)并且 [公式] ,hinge loss的结果为L(y)=0,但是当出现错误的分类是,hinge loss的L(y)与y呈线性关系(一个线性误差)。

  • 带有regulation term的Hinge Loss(偷个懒不打公式了,所有J,w,y,x,m 标记全文一致):

1.3 Log Loss:

在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布)然,后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为: 最小化负的似然函数[公式] 。从损失函数的视角来看,它就成了log损失函数。

其定义式:

[公式]

然后我们可以得出其loss function:

[公式]

然后我们自然最大化其最大似然函数(log likelihood function):

[公式]

而这个恰恰就是最小化cross entropy。

至此我们顺便介绍下cross entropy:

熵(entropy)的概念来自物理中的热力学,表示热力学系统中的无序程度,我们说的熵是信息论中的熵,表示对不确定性的测量,熵越高,能传输的信息越多,熵越少,传输的信息越少。举个例子说,当你站在一条公路旁边,看着车流来来往往,然后,你想告诉你的朋友每个车型号,但是只有一个二进制的信道,仅仅可以传输0,1序列,然后这个通讯相当的昂贵,十元1bit。你需要很多个二进制序列来表示每一个车型号。那么你该怎么来编码这些车的型号呢?会使用相同长度的bit来表示丰田Camry和奥迪Q7么? 当然不会了,因为你知道丰田Camry比奥迪Q7普遍多了,所以你会用更少的bit来编码丰田。换成数学的角度来看,把随机过的一辆车辆品牌是丰田Camry还是奥迪Q7看成随机事件,用随机变量X表示,所以我们在做的就是用X的分布来减少我们发送的bit的平均长度。也就是我们现在有了观测到的概率分布y,y_i = P(X=x_i)。我们要使用平均最小的bit,所以我们应该为x_i 分配log(1/y_i) 个比特。对所有的x_i 我们都有一个对应的最小需要分配的bit长度,那么我们对这个log(1/y_i)求期望也就得到了X的熵的定义了:

Cross entropy:

假如说我们用这个分布来作为我们来对事件编码的一个工具,熵就衡量了我们用这个正确的分布y来对事件编码所能用的最小的bit 长度,我们不能用更短的bit来编码这些事件或者符号了。相对的,交叉熵是我们要对y这个分布去编码,但是我们用了一些模型估计分布y`。这里的话通过y`这个分布我们得到的关于x_i的最小编码长度就变成了log(1/y`_i),但是呢,我们的期望仍是关于真是分布y的。所以交叉熵的定义就变成了:

Cross entropy equation

交叉熵是大于等于熵的,因为我们使用了错误的分布y`会带来更多的bit使用。当y和y`相等的时候,交叉熵就等于熵了。

KL 松散度(KL Divergence):

KL松散度和交叉熵的区别比较小,KL松散度又叫做相对熵,从定义很好看出区别:

KL Divergence equation

这个意思就是说我们要编码一个服从y分布的随机变量,假设我们使用了一些数据估计出来这个随机变量的分布是y`,那么我们需要用比真实的最小bit多多少来编码这个随机变量。这个值是大于等于0的,并且当y和y`相等的时候才为0。注意这里对交叉熵求最小和对KL松散度求最小是一样的。也就是我们要调整参数使得交叉熵和熵更接近,KL松散度越接近0,也就是y`越接近y。

1.4 squared loss:

很简单了,就是prediction与label差值的平方求和:

squared loss equation

1.5 exponential loss:

指数误差通常用在boosting中,指数误差始终> 0,但是确保越接近正确的结果误差越小,反之越大。

exponential loss equation

1.6 regulation term:

  • 简单区分L1,L2 regulation term:

L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。

  • L1正则化和L2正则化的说明如下:
  1. L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 [公式]
  2. L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为 [公式]

一般都会在正则化项之前添加一个系数,Python中用α表示,一些文章也用λ表示。

  • L1正则化和L2正则化的作用:
  1. L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择
  2. L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

PS:稀疏模型与特征选择

上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合?

  • L1正则化和特征选择:

假设有如下带L1正则化的损失函数:

[公式]
其中 [公式] 是原始的损失函数,加号后面的一项是L1正则化项,α是正则化系数。注意到L1正则化是权值的绝对值之和, [公式] 是带有绝对值符号的函数,因此 [公式] 是不完全可微的。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值。当我们在原始损失函数 [公式] 后添加L1正则化项时,相当于对 [公式] 做了一个约束。令 [公式] ,则 [公式] ,此时我们的任务变成在L约束下求出 [公式] 取最小值的解。考虑二维的情况,即只有两个权值w1和w2,此时L=|w1|+|w2|对于梯度下降法,求解 [公式] 的过程可以画出等值线,同时L1正则化的函数L也可以在w1,w2的二维平面上画出来。如下图:

L1 regulation term

图中等值线是 [公式] 的等值线,黑色方形是L函数的图形。在图中,当 [公式] 等值线与L图形首次相交的地方就是最优解。上图中 [公式] 与L在L的一个顶点处相交,这个顶点就是最优解。注意到这个顶点的值是(w1,w2)=(0,w)。可以直观想象,因为L函数有很多『突出的角』(二维情况下四个,多维情况下更多), [公式] 与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。

而正则化前面的系数α,可以控制L图形的大小。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值(w1,w2)=(0,w)中的w可以取到很小的值。

假设有如下带L2正则化的损失函数,同样可以画出他们在二维平面上的图形,如下:

[公式]

L2 regulation term

二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。因此 [公式] 与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因。

  • L2正则化和过拟合:

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

那为什么L2正则化可以获得值很小的参数?

以线性回归中的梯度下降法为例。假设要求的参数为θ,hθ(x)是我们的假设函数,那么线性回归的代价函数如下:

[公式]

那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为:

[公式]

其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:

[公式]

其中λ就是正则化参数。从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代, [公式] 都要先乘以一个小于1的因子,从而使得 [公式] 不断减小,因此总得来看, [公式] 是不断减小的。

最开始也提到L1正则化一定程度上也可以防止过拟合。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小,可以达到和L2正则化类似的效果。


2. Regulation的常用方法:

  • Dropout
  • Batch Normalization
  • Data Augmentation
  • DropConnect
  • Fractional Max Pooling
  • Stochastic Depth(Resnet- shortcut)

--详细内容请传送至:zhuanlan.zhihu.com/p/40



-ref:

1.Loss function:损失函数(Loss Function)

2. Cross entropy 介绍

3.regulation term: 机器学习中正则化项L1和L2的直观理解 - CSDN

4. Regulation 常用方法:CS231n_lecture7_slides



https://zhuanlan.zhihu.com/p/40284001


https://blog.csdn.net/perfect1t/article/details/88199179



Share Http URL:  http://www.wittx.cn/get_news_message.do?new_id=457



请输入评论





























Best Last Month

电与磁的本质

电与磁的本质

Electronic electrician

by wittx


MemoNet:用codebook记住所有的交叉特征来做CTR估计Memorizing All Cross Features’ Representations Efficiently via



金融市场行情

金融市场行情

Information industry

by wittx


Linear Algebra and Differential Equation

Linear Algebra and Differential Equation

Information industry

by wittx


百度推广

百度推广

Information industry

by wittx


传感器数据滤波算法

传感器数据滤波算法

Information industry

by wittx


斯坦福Chat性能领先GPT4.0

斯坦福Chat性能领先GPT4.0

Information industry

by wittx


2020/10/20 全球疫情

2020/10/20 全球疫情

Information industry

by wittx


Decision Making Under Uncertainty

Decision Making Under Uncertainty

Information industry

by wittx


分子设计新策略,模型DiffLinker登Nature子刊