机器学习 基础教程

机器学习 集成学习

机器学习 笔记

机器学习 损失函数


损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性(robustness)就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。

模型的结构风险函数包括了经验风险项正则项,通常可以表示成如下式子:

结构风险函数

其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的是正则化项(regularizer)或者叫惩罚项(penalty term),它可以是L1,也可以是L2,或者其他的正则函数。整个式子表示的意思是找到使目标函数最小时的值

损失函数 常见类型


下面主要列出几种常见的损失函数。

对数损失函数

对数损失函数主要在逻辑回归中使用,在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,对似然函数的求解方法是通过最大似然估计(maximum likelihood estimation,简称MLE),而损失函数一般是每条数据的损失之和,为了把积变为和,就取了对数(取对数是为了方便计算最大似然估计,因为在MLE中,直接求导比较困难,所以通常都是先取对数再求导找极值点)。再加个负号是为了让最大似然值最小损失对应起来。从损失函数的视角来看,它就成了log损失函数了。

对数损失函数的标准形式如下:

对数损失函数的标准形式

损失函数L(Y, P(Y|X))表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大)。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。

逻辑回归最后得到的目标式子如下:

逻辑回归目标式

如果是二分类的话,则m值等于2,如果是多分类,m就是相应的类别总个数。

平方损失函数

平方损失函数主要用在回归问题上。求解平方损失函数的最小化方法叫做最小二乘法(Ordinary Least Squares)。最小二乘法的基本原则是:最优拟合曲线应该使得所有点到回归直线的距离和最小。通常用欧式距离进行距离的度量。

当样本个数为n时,此时的损失函数变为:

平方损失函数