损失函数选择

2019-03-20  本文已影响0人  小眼大神

机器学习算法中最终优化的为模型的损失函数,而损失函数各种各样,对于不同的模型,选择什么样的损失函数才比较合适。本文主要记录损失函数的种类以及适用场景。

机器学习算法主要解决分类问题回归问题两大类,因此损失函数主要也可以分成这两大类别。

分类损失

Hinge Loss(合页损失函数)

hinge loss通常被用于最大间隔算法(Maximum margin),例如SVM支持向量机算法。

image.png

当样本被正确分类(y(wx+b) >=1)时,损失函数的值为0,否则损失函数值为1-y(wx+b)

y(wx+b)的绝对值表示的是样本距离决策边界的远近程度,绝对值越大,表示样本距离决策越远。

hinge损失函数表示分类器不仅需要正确分类,而且需要确信度足够高时,损失才会是0,即hinge loss对学习的要求更高。

交叉熵损失函数

交叉熵刻画两个概率分布之间的距离,因此将交叉熵作为损失函数可以很好的刻画真实数据集和训练测试集之间的相似性。

现在有一个样本集中两个概率分布p,q,其中p为真实分布,q为非真实分布。假如,按照真实分布p来衡量识别一个样本所需要的编码长度的期望为:

H(p)=\sum_i{p_i \cdot log(\frac{1}{p(i)})}

但是,如果采用错误的分布q来表示来自真实分布p的平均编码长度,则应该是:

H(p,q)=\sum_i{p_i \cdot log(\frac{1}{q(i)})}

此时就将H(p,q)称之为交叉熵。

交叉熵损失函数为:
CrossEntropyLoss = -(y_i log(\hat y_{i}) + (1-y_i)log(1-\hat y_i))

当实际标签为 1时,函数的只剩前半部分,而当实际标签是为 0 时,函数只剩后半部分,即我们只是把对真实值类别的实际预测概率的对数相乘。

回归损失

均方误差(Mean Square Error),L2损失

均方误差(MSE)是最常用的回归损失函数。MSE是目标变量与预测值之间距离平方之和。

MSE = \frac{\sum_{i=1}^{n}(y_i - y_i^p)^2}{n}

平均绝对误差(Mean Absolute Error),L1损失

平均绝对误差(MAE)是另一种用于回归模型的损失函数。MAE是目标变量和预测变量之间差异绝对值之和。

MAE = \frac{\sum_{i=1}^{n}|y_i - y_i^p|}{n}

上一篇下一篇

猜你喜欢

热点阅读