1、大O表示法
在数据结构和算法领域,我们关注的对象是算法。我们用大O表示法来表示运行时间,大O表示法可以告诉我们算法的快慢。
而在机器学习领域,我们关注的模型,通常使用损失函数估量模型的预测值与真实值的不一致程度。
2、损失函数
损失函数(Loss function)又叫做误差函数,用来衡量算法的运行情况,估量模型的预测值 与真实值的不一致程度,是一个非负实值函数,通常使用来表示,损失函数越小,模型的鲁棒性就越好。
损失函数用来评价预测值和真实值不一样的程度。通常损失函数越好,模型的性能也越好。
损失函数可分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是在经验风险损失函数上加上正则项。
3、下面介绍常用的损失函数:
0-1损失函数
如果预测值和目标值相等,值为0,如果不相等,值为1.
一般的在实际使用中,相等的条件过于严格,可适当放宽条件:
绝对值损失函数
和0-1损失函数相似,绝对值损失函数表示为:
平方损失函数
这点可从最小二乘法和欧几里得距离角度理解。最小二乘法的原理是,最优拟合曲线应该使所有点到回归直线的距离和最小。
log对数损失函数
常见的逻辑回归使用的就是对数损失函数,有很多人认为逻辑回归的损失函数是平方损失,其实不然。逻辑回归它假设样本服从伯努利分布,进而求得满足该分布的似然函数,接着取对数求极值等。逻辑回归推导出的经验风险函数是最小化负的似然函数,从损失函数的角度看,就是log损失函数。
指数损失函数
指数损失函数的标准形式为:
例如AdaBoost就是以指数损失函数为损失函数。
Hinge损失函数
Hinge损失函数的标准形式如下:
其中y是预测值,范围为(-1,1),t为目标值,其为-1或1。