损失函数VS评估指标
在利用机器学习模型解决问题时,涉及到模型构建以及模型评估时,存在两个重要的概念:
- 损失函数
- 评估指标
本文对二者做一简要的明晰。
损失函数
机器学习多数算法都需要最大化或最小化一个函数,即“目标函数”。一般把最小化的一类函数称为“损失函数”。
损失函数用于模型构建中(部分简单模型构建不需要损失函数,如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曲线
小例子
- 假设某同学备战高考,他给自己定下了一个奋斗的方向,即每周要把自己的各科总成绩提高5分;经过多年的准备,终于在高考中取得了好成绩(710分,总分750),被北大录取。
- 分析上面的例子,该同学“每周要把自己的各科总成绩提高5分”这个指导原则相当于目标函数,在这个指导原则的指引下,想必该同学的总分会越来越高,即模型被训练的越来越好。
- 最终,该同学高考成绩优异,相当于模型的测试效果良好,至于用从哪个角度评价这名同学,可以用其高考总分与750分的差距来衡量,也可以用其被录取的大学的水平来衡量,这就如同模型的评估指标是多种多样的,比如分类问题中的准确率、召回率等。
- 当然,模型的评估指标多样,模型的损失函数也是多样的;上例中,该同学可以将“每周要把自己的各科总成绩提高5分”作为指导原则,也可将“每周比之前多学2个知识点”作为指导原则。
- 另外,如果该同学将“每周模拟高考总分与750分的差距”同时作为指导原则与评价角度,则类似于线性回归模型将“MSE均方误差”同时作为损失函数与评估指标。
- 上例中,备考的“指导原则”相当于“损失函数”,“评价角度”相当于“评估指标”,该同学相当于一个机器学习模型。
作者: pythonfl
出处: http://www.cnblogs.com/pythonfl/
本文版权归作者和博客园共有,转载时请标明出处;如有疑问,欢迎联系fangleiecust@163.com;如发现文中内容侵犯到您的权利,请联系作者予以处理。