1、大O表示法

在数据结构和算法领域,我们关注的对象是算法。我们用大O表示法来表示运行时间,大O表示法可以告诉我们算法的快慢。

O.png

而在机器学习领域,我们关注的模型,通常使用损失函数估量模型的预测值与真实值的不一致程度。

2、损失函数

损失函数(Loss function)又叫做误差函数,用来衡量算法的运行情况,估量模型的预测值 与真实值的不一致程度,是一个非负实值函数,通常使用来表示,损失函数越小,模型的鲁棒性就越好。

损失函数用来评价预测值和真实值不一样的程度。通常损失函数越好,模型的性能也越好。

损失函数可分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是在经验风险损失函数上加上正则项。

3、下面介绍常用的损失函数:

0-1损失函数

如果预测值和目标值相等,值为0,如果不相等,值为1.

0-1.png

一般的在实际使用中,相等的条件过于严格,可适当放宽条件:

0-1-new.png

绝对值损失函数

和0-1损失函数相似,绝对值损失函数表示为:

abs.png

平方损失函数

square.png

这点可从最小二乘法和欧几里得距离角度理解。最小二乘法的原理是,最优拟合曲线应该使所有点到回归直线的距离和最小。

log对数损失函数

log.png

常见的逻辑回归使用的就是对数损失函数,有很多人认为逻辑回归的损失函数是平方损失,其实不然。逻辑回归它假设样本服从伯努利分布,进而求得满足该分布的似然函数,接着取对数求极值等。逻辑回归推导出的经验风险函数是最小化负的似然函数,从损失函数的角度看,就是log损失函数。

指数损失函数

指数损失函数的标准形式为:

index.png

例如AdaBoost就是以指数损失函数为损失函数。

Hinge损失函数

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

hinge.png

其中y是预测值,范围为(-1,1),t为目标值,其为-1或1。