损失函数
监督学习实际就是一个经验风险或者结构风险函数的优化问题。风险函数度量平均意义下模型预测的好坏,模型每一次预测的好坏用损失函数来度量。损失函数(loss function)又称为代价函数(cost function),是一种用来评价模型预测值和样本真实值之间的差异程度,一般为一个非负函数。损失函数的值越小,表示预测值和真实值之间相差越小,模型的性能越好。
设样本数据表示为
(X,Y)=(x1,x2,⋯,xd,y)
,
X
表示样本数据的
定义单个样本损失函数为 ℓ(yi,y^i) ,那么关于训练集的平均损失称为 经验风险:
而 结构风险是在经验风险的基础上加上了表示模型复杂度的正则化或者惩罚项。
关于如何选择模型,监督学习常有两种策略:经验风险最小化和结构风险最小化。
常见的损失 ℓ 定义
0-1损失
预测值和实际值相等则为0,否则为1。
感知损失
引入阈值超参数
t
,当预测值和实际值相差不超过阈值时为0,否则为1。这种损失定义在感知机算法PLA中有使用。
Hinge损失
可以用来解决间隔最大化问题,在SVM中有使用。
对数损失
常用在极大似然估计的过程中,因为log函数可以将连乘转换为求和,且并不会改变优化结果。在逻辑回归LR中有使用。
平方误差损失
在回归中有使用。
绝对值误差损失
在回归中有使用。
指数误差损失
在boosting算法中有使用。