首页 > 试题广场 >

问题:Loss Function有哪些,怎么用?

[问答题]

问题:Loss Function有哪些,怎么用?

一、对数损失函数(逻辑回归)

有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。平方损失函数可以通过线性回 归在假设样本是高斯分布的条件下推导得到,而逻辑回归得到的并不是平方损失。在逻辑回归的 推导中,它假设样本服从伯努利利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是⼀一种思想,进而推导出它的经验风险函数为:最小化负的似然函数(即)。从损失函数的视角来看,它就成了了log损失函数了。

Log损失函数的标准形式:

刚刚说到,取对数是为了方便便计算极大似然估计,因为在MLE中,直接求导比较困难,所以通常
都是先取对数再求导找极值点。损失函数L(Y.P(Y|X))表达的是样本在分类Y的情况下,使概率P(Y|X)达到最大值(换言之,就是利利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者什么样的参数才能使我们观测到目前这组数据的概率最大)。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。

logistic回归的P(y|x)表达式如下(为了将类别标签y统一为1和0,下面将表达式分开表示):

将上面的公式合并在⼀一起,可得到第i个样本正确预测的概率:

上式是对⼀个样本进行建模的数据表达。对于所有的样本,假设每条样本生成过程独立,在整个样本空间中(N个样本)的概率分布为:

将上式代入到对数损失函数中,得到最终的损失函数为:

之所以有人认为逻辑回归是平⽅方损失,是因为在使用梯度下降来求最优解的时候,它的迭代式子与平方损失求导后的式子非常相似,从而给人一种直观上的错觉。

二、平方损失函数(最小二乘法Ordinary Least Squares)

最小⼆乘法是线性回归的一种,OLS将问题转化成了一个凸优化问题。在线性回归中,它假设样本和噪声都服从高斯分布(为什么假设成高斯分布呢?其实这里隐藏了一个小知识点,就是中心
极限定理理,可以参考【central limit theorem】),最后通过极大似然估计(MLE)可以推导出最小二乘式子。最小二乘的基本原是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。换言之,OLS是基于距离的,而这个距离就是我们用的最多的欧几⾥里得距离。为什么它会选择使用欧式距离作为误差度量呢(即Mean squared error, MSE),主要有以下几个原因:

  • 简单,计算⽅方便便;
  • 欧氏距离是⼀种很好的相似性度量标准;
  • 在不同的表示域变换后特征性质不不变。
    平方损失(Square loss)的标准形式如下:Y − f(X)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值(注:该式子未加入正则项),也就是最小化残差的平方和(residual sum of squares,
    RSS)。

而在实际应用中,通常会使用均方差(MSE)作为一项衡量指标,公式如下:

三、指数损失函数(Adaboost)

学过Adaboost算法的人都知道,它是前向分步加法算法的特例例,是一个加和模型,损失函数就 是指数函数。在Adaboost中,经过m此迭代后,可以得到f_m(x):

Adaboost每次迭代时的目的是为了找到最小化下列式子时的参数a和G:

而指数损失函数(exp-loss)的标准形式如下:

可以看出,Adaboost的目标式子就是指数损失,在给定N个样本的情况下,Adaboost的损失函数为:

四、Hinge损失函数(SVM)

参考第一条回答

编辑于 2019-04-21 17:31:59 回复(1)