• 常用损失函数和模型评价指标小结


     一、损失函数/代价函数/误差函数

    1.1 回归问题

    平方损失函数(最小二乘法)

    光滑损失函数,可用梯度下降法求最优解,

    缺点:异常点该损失函数惩罚力度大,因此,对异常点比较敏感。为解决该问题,可以采用绝对损失函数

    绝对损失函数

    对异常点更鲁棒一些,

    缺点:在f=y处无法求导。综合考虑可导性和对异常点鲁棒性,可采用Huber损失函数

    Huber损失函数

     

    |f-y|较小时,为平方损失,在|f-y|较大时,为线性损失,就解决了异常点鲁棒问题。同时,分段函数处处可导。

    缺点:但,Huber损失的问题是我们可能需要不断调整超参数delta。

     

     

     1.2 分类问题

    0-1损失函数

     

    能直观刻画分类错误率,

    缺点:由于非凸、非光滑,很难对该函数进行优化求解

    应用:0-1损失函数在朴素贝叶斯模型的推导中会用到。

    Hinge损失函数

     

    是0-1损失函数一个代理函数,且是它相对紧的凸上界;fy>1时,该损失函数不对样本点做任何惩罚,

    缺点:在f*y=1处不可导,不能用梯度下降法求最优解,而是用次梯度下降法

    应用:Hinge损失函数是SVM模型的基础

    指数损失函数

    应用:指数损失函数在AdaBoost模型的推导中会用到。

    对数损失函数

    应用:对数损失函数在Logistic回归模型的推导中会用到。

     Logistic损失函数

    是0-1损失函数另一个代理函数,且是它的凸上界,且该函数处处光滑,可用梯度下降求解,

    缺点:该损失函数对所有样本点有所惩罚,所以对异常值相对更敏感。

    交叉熵(Cross Entropy )损失函数

     

    当预测值f属于[-1,1],是0-1损失函数另一个常用代理函数,且是它的光滑凸上界。

     

     

    二、评价指标

    2.1 回归问题

    均方误差(MSE)L2

    绝对误差(MAE)L1

    R-squared:决定系数,是一个评价拟合好坏的指标。被人们称为最好的衡量线性回归法的指标。

    如果我们使用同一个算法模型,解决不同的问题,由于不同的数据集的量纲不同,MSE、RMSE等指标不能体现此模型针对不同问题所表现的优劣,也就无法判断模型更适合预测哪个问题。 [公式] 得到的性能度量都在[0, 1]之间,可以判断此模型更适合预测哪个问题。

    2.2 分类问题

    混淆矩阵

    准确率

    查准率(响应率)

    查全率(召回率/捕获率)

    P-R曲线

    F1 score

    ROC曲线

    AUC值

    KS值

    2.3 聚类问题

    外部指标

    Jaccard(杰卡德)系数

    FM指数

    Rand指数

    标准化互信息

    内部指标

    DB指数

    Dunn指数

    轮廓系数

    定义:轮廓系数适用于训练样本类别信息未知的情况。假设某个样本点与它同类别的群内点的平均距离为a,与它距离最近的非同类别的群外点的平均距离为b,

    则轮廓系数定义为

    性质:

    (1)轮廓系数的取值范围是[−1,1],同类别样本点的距离越近,且不同类别的样本点距离越远,则得到的轮廓系数的值就越大。

    (2)对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。

    【参考】

    【1】常用损失函数和评价指标总结

    【2】机器学习模型评估指标汇总

    【3】最大似然函数和最小二乘法的区别和理解

    【4】为什么说逻辑回归实质是最大似然估计,而线性回归实质是最小二乘法?

    【5】逻辑回归损失函数为什么使用最大似然估计而不用最小二乘法?

    轮廓系数适用于训练样本类别信息未知的情况。假设某个样本点与它同类别的群内点的平均距离为a,与它距离最近的非同类别的群外点的平均距离为b,则轮廓系数定义为

    聪明 皮实 乐观 自省
  • 相关阅读:
    C#总结(四)调用C++动态库
    Golang 入门系列(十二)ORM框架gorm
    《关键对话》如何高效沟通,营造无往不利的事业和人生?
    Golang 入门系列(十一)Go语言实现webapi
    Golang 入门系列(十) mysql数据库的使用
    Golang 入门系列(九) 如何读取YAML,JSON,INI等配置文件
    Golang 入门系列(八) cron定时任务
    Golang 入门系列(七) Redis的使用
    福利 | 互联网产品经理学习资料免费下载(可下载)
    福利 | 2018各大技术大会资料汇总(可下载)
  • 原文地址:https://www.cnblogs.com/zwt20120701/p/15556028.html
Copyright © 2020-2023  润新知