损失函数VS评估指标

在利用机器学习模型解决问题时,涉及到模型构建以及模型评估时,存在两个重要的概念:

  1. 损失函数
  2. 评估指标

本文对二者做一简要的明晰。

损失函数

机器学习多数算法都需要最大化或最小化一个函数,即“目标函数”。一般把最小化的一类函数称为“损失函数”。
损失函数用于模型构建中(部分简单模型构建不需要损失函数,如KNN),所以它用于指导模型的生成。

回归类型常用损失函数

平均绝对值损失(MAE,L1损失)
平方损失(MSE,L2损失)
Huber损失

分类类型常用损失函数

交叉熵损失
指数损失

评估指标

评估机器学习算法模型,有些问题中损失函数可以直接作为评价指标(如回归问题中,均方误差(MSE)既可以用来指导模型构建,又可以在模型完成后评估模型性能)
评估指标用于模型构建后,所以它用于评价模型性能。

回归类型常用评估指标

平均绝对误差(Mean Absolute Error)
均方误差(Mean Square Error)
根均方误差(Root Mean Square Error)
R Squared

分类类型常用评估指标

混淆矩阵
Accuracy(准确率)
Precision(精准率)
Recall(召回率)
ROC-AUC
P-R曲线

小例子

  1. 假设某同学备战高考,他给自己定下了一个奋斗的方向,即每周要把自己的各科总成绩提高5分;经过多年的准备,终于在高考中取得了好成绩(710分,总分750),被北大录取。
  2. 分析上面的例子,该同学“每周要把自己的各科总成绩提高5分”这个指导原则相当于目标函数,在这个指导原则的指引下,想必该同学的总分会越来越高,即模型被训练的越来越好。
  3. 最终,该同学高考成绩优异,相当于模型的测试效果良好,至于用从哪个角度评价这名同学,可以用其高考总分与750分的差距来衡量,也可以用其被录取的大学的水平来衡量,这就如同模型的评估指标是多种多样的,比如分类问题中的准确率、召回率等。
  4. 当然,模型的评估指标多样,模型的损失函数也是多样的;上例中,该同学可以将“每周要把自己的各科总成绩提高5分”作为指导原则,也可将“每周比之前多学2个知识点”作为指导原则。
  5. 另外,如果该同学将“每周模拟高考总分与750分的差距”同时作为指导原则与评价角度,则类似于线性回归模型将“MSE均方误差”同时作为损失函数与评估指标。
  6. 上例中,备考的“指导原则”相当于“损失函数”,“评价角度”相当于“评估指标”,该同学相当于一个机器学习模型。
posted @ 2020-09-21 13:52  快到皖里来  阅读(1888)  评论(0编辑  收藏  举报