大家在学习机器学习时,常常遇到损失函数,也许会有困惑。今天小编将自己的理解分享下,希望大家喜欢。
1
为什么有损失函数?
机器学习的任务是寻找一个函数
使得为了评价函数的好坏,
我们有了损失函数
站在训练集的角度上
评价决策函数好坏就产生了经验风险函数
为了使得经验风险函数逼近理想中的期望风险函数最小值,于是就产生了经验风险最小化准则,为了达到这个目标,寻找
经验风险最小化准则容易导致在训练集上的错误率低,在未知数据上错误率高,这种现象称为过拟合。为了解决过拟合现象,在经验风险函数上加上参数正则化,就有了结构风险最小化准则
2
机器学习中常见的损失函数
一
0-1损失函数:
二
平方损失函数:
三
交叉熵损失函数 :
假设
模型预测的第i个类的条件概率为
从概率论角度,很显然
四
负对数损失函数:
我们采用负对数损失函数
也可以写成
负对数损失函数,也叫交叉熵损失函数。
3
怎么选用损失函数?
在有监督学习中,回归模型通常采用平方损失函数,分类模型常采用0-1损失函数和负对数损失函数;具体到回归问题,通常有我们所用的MSE(Mean Square Error)。
对于分类问题,我们在0-1损失函数的基础上有精确率(precision)和召回率(recall)。
我们通常关注正类:
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将父类数预测为负类数。
我们通常做不到同时增加Pecision,降低Recall,或者提高Recall,降低Precision,这就叫做Precison /Recall的权衡。
为了评价不同分类模型的效果,我们采用了F1得分,当Precision和Recall都很高的时候,F1得分也高。
领取专属 10元无门槛券
私享最新 技术干货