机器学习中的损失函数与正则化

原创 2018年04月17日 16:03:13

        正则化是结构风险最小化的实现策略,形式是在经验风险最小化的后面加上正则项。(正则项一般是模型复杂度的单调递增函数,模型越复杂,正则项的值越大)。

                                                 

损失函数一般有一下几种:

1.  0-1损失函数(感知机)

                                                              

但一般情况下绝对相等比较困难,因此一般设定一个阈值,满足一定条件时即认为相等。

                                                             

2.  绝对值损失函数

                                                                     

3.  对数损失函数(逻辑回归)

                                                                  

        对数损失函数的有一个前提假设:即样本服从伯努利分布

4.  平方损失函数(回归问题)

        回归的问题转化为了凸优化的问题。最小二乘法的基本原则是:最优拟合曲线应该使得所有点到回归直线的距离和最小。通常用欧式距离进行距离的度量。平方损失的损失函数为:

                                                                                     

5.  指数损失函数(Adaboost)

                                                                                          

6.  Hinge损失函数(主用于最大间隔分类,SVM)

                                                                                             


 一般机器学习任务有分类问题与回归问题,二者的损失函数不相同。

       分类问题中模型输出经过softmax输出结果为预测概率,而回归问题得到的结果为预测数值。

  •        分类问题的损失函数为:交叉熵损失函数,其表达式为:

                                                                                

        假设有一个六分类问题,某个样本正确的答案为[0,0,0,1,0,0],模型经过 softmax 后获得的预测概率为[0,0.1,0.2,0.3,0.2,0.2].那么这个预测和正确答案之间的交叉熵为:H([0,0,0,1,0,0],[0,0.1,0.2,0.3,0.2,0.2])= - ( 0*log 0 + 0*log 0.1 + 0*log 0.2 + 1*log 0.3 + 0*log(0.2) + 0*log(0.2) ) ≈ 0.5229.

        若获得的预测概率为[0,0.1,0,0.85,0.02,0.03],那么这个预测和正确答案之间的交叉熵为:H([0,0,0,1,0,0],[0,0.1,0,0.85,0.02,0.03])= - ( 0*log 0 + 0*log 0.1 + 0*log 0+ 1*log 0.85 + 0*log(0.02) + 0*log(0.03) ) ≈ 0.0706.

从预测概率上来看,第二个模型的预测结果比第一个模型预测结果要好,而且交叉熵比第一个模型的小。因此可以说第二个模型比第一个模型更优。

     

  •      对于回归问题来说,损失函数定义为均方误差:


                                                

过拟合与欠拟合: 

  • 过拟合:

        模型过于复杂或者没有足够的数据支持模型的训练时,模型含有训练集的特有信息,对训练集过于依赖,即模型会对训练集高度敏感,这种现象称之为模型过拟合。对于同一个模型,更换训练集,同一个测试集对不同训练集的的预测结果会产生较大偏置,且各个预测结果较为分散,产生较高方差。(这也是高方差的原因)

  • 欠拟合:

        模型不够复杂或者训练数据过少时,模型均无法捕捉训练数据的基本(或者内在)关系,会出现偏差。这样一来,模型一直会错误地预测数据,从而导致准确率降低。这种现象称之为模型欠拟合。对于同一个模型,更换训练集,都不能很好的拟合训练集数据,同一个测试集针对不同训练集的预测结果较为集中,但是与真实标签偏差很大,形成较高偏差。(高偏差


正则化:

   说到正则化需要先知道为什么要引入正则化?

          模型训练过程中,往往为了追求损失函数最小化会导致模型复杂度过高,这样生成的模型泛化能力不好,训练集的准确率较高,而验证集的准确率较低,形成过拟合现象。为了避免这种情况发生,减小模型复杂度的同时,使损失函数尽量降低,在经验风险后面添加了惩罚函数,也就是所谓的正则项。

          一般常使用的正则化技术包括:L1正则化与L2正则化。

  • L1正则化:求取正则向量(例如权值向量)中各个元素的绝对值之和。表示为:                                                                                                                                  
  • L2正则化:求取正则向量的模,即求取各元素平方和的开平方。表示为:

                                                       

其中L1正则化可以产生稀疏权值矩阵,构建稀疏模型,可以用于特征筛选,在一定程度上可以防止过拟合;L2正则化则可以防止模型过拟合。

对于L1正则化,L2正则化,个人觉得(正则化项L1和L2的直观理解)讲的较为详细,本文正则化部分以此作为参考。





  

  


机器学习损失函数、L1-L2正则化的前世今生

前言: 我们学习一个算法总是要有个指标或者多个指标来衡量一下算的好不好,不同的机器学习问题就有了不同的努力目标,今天我们就来聊一聊回归意义下的损失函数、正则化的前世今生,从哪里来,到哪里去。 ...
  • kicilove
  • kicilove
  • 2017-09-21 14:22:17
  • 3085

机器学习中关于正则化的理解

正则化的目的:避免出现过拟合(over-fitting) 经验风险最小化 + 正则化项 = 结构风险最小化 经验风险最小化(ERM),是为了让拟合的误差足够小,即:对训练数据的预测误差很小。 但...
  • panda07100
  • panda07100
  • 2014-08-18 09:47:37
  • 2347

机器学习正则化推导

假设我们的损失函数为cost(w)cost(w)。   如果不考虑正则化,我们的任务是:minmin cost(w)cost(w),沿着梯度一直下降,最后得到极值点对应的ww。      但现在...
  • s610033492
  • s610033492
  • 2016-02-01 22:33:44
  • 908

机器学习的损失函数

机器学习的数学本质上是优化问题的求解,求解优化问题首先得构造相应优化问题的损失函数,本文将简要介绍squared loss、cross entropy、hinge loss、exponential l...
  • Young_Gy
  • Young_Gy
  • 2017-02-27 11:10:55
  • 1504

机器学习之正则化与交叉验证

机器学习之正则化与交叉验证
  • u012333003
  • u012333003
  • 2014-07-01 20:51:23
  • 1267

机器学习-损失函数汇总

在统计学习中,当有了模型的假设空间,则需要考虑通过什么样的准则学习或选择最优的模型,然而需要引入损失函数与风险函数的概念。    损失函数是度量模型一次预测的好坏;    风险函数是度量平均意义下模型...
  • zSean
  • zSean
  • 2017-09-11 20:36:41
  • 382

hxy系列7-正则化与损失函数

作者:寒小阳  时间:2016年1月。  出处:http://blog.csdn.net/han_xiaoyang/article/details/50451460  声明:版权所有,转载请联系...
  • vbskj
  • vbskj
  • 2016-09-29 15:36:30
  • 1439

损失函数、正则化、交叉验证

期望风险或期望损失:是真实的,需要x,y的联合概率分布相乘 经验风险或经验损失:机器学习问题不可能已知x,y的联合概率分布,如果已知的话,那么x得出y就很容易了。那么根据大数定理可以使用1/n*损失...
  • sinat_27612639
  • sinat_27612639
  • 2016-07-13 15:43:40
  • 979

斯坦福CS231n - CNN for Visual Recognition(6)-lecture5预处理、正则化、损失函数

本节主要讲了数据预处理、正则化以及损失函数 数据预处理关于数据预处理我们有3种常用的方式,假设数据矩阵XX,假设其尺寸是[N,D][N ,D](NN是数据样本的数量,DD是数据的维度)。去均值去均值是...
  • zhili8866
  • zhili8866
  • 2016-11-30 16:18:24
  • 1651

7-2 加正则化后的损失函数

a
  • Mumu_Mill
  • Mumu_Mill
  • 2017-09-11 20:37:11
  • 157
收藏助手
不良信息举报
您举报文章:机器学习中的损失函数与正则化
举报原因:
原因补充:

(最多只允许输入30个字)