损失函数VS评估指标

在利用机器学习模型解决问题时,涉及到模型构建以及模型评估时,存在两个重要的概念: - **损失函数** - **评估指标** 本文对二者做一简要的明晰。 --- [**常用损失函数**](doc:WuL6l8c2) 机器学习多数算法都需要最大化或最小化一个函数,即“目标函数”。一般把最小化的一类函数称为“损失函数”。 损失函数用于模型构建中(部分简单模型构建不需要损失函数,如KNN),所以它用于指导模型的生成。 - **回归类型常用损失函数** 平均绝对值损失(MAE,L1损失) 平方损失(MSE,L2损失) Huber损失 - **分类类型常用损失函数** 交叉熵损失 指数损失 [**评估指标**](doc:CDY6eqHs) 评估机器学习算法模型,有些问题中损失函数可以直接作为评价指标(如回归问题中,均方误差(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. 上例中,备考的“指导原则”相当于“损失函数”,“评价角度”相当于“评估指标”,该同学相当于一个机器学习模型。 --- >**扩展:** 目前已知LightGbm模型**适合**在参数内选择不同的损失函数,包括 “rmse”、“mae”、“huber loss”等。详见 :[LightGbm Parameters](https://lightgbm.readthedocs.io/en/latest/Parameters.html)。 当然,除了lgb之外,还有Gradient Boosting回归、AdaBoost回归等。 --- 转载:[损失函数 VS 评估指标](https://www.cnblogs.com/pythonfl/p/13705143.html)