IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021-07-14 深度学习基础与实践(二) -> 正文阅读

[人工智能]2021-07-14 深度学习基础与实践(二)

一、分类及其性能度量

1.分类问题

在这里插入图片描述

  • 分类问题是有监督学习的一个核心问题。分类解决的是要预测样本属于哪个或者哪些预定义的类别。此时输出变量通常取有限个离散值。

  • 分类的机器学习的两大阶段:
    1)从训练数据中学习得到一个分类决策函数或分类模型,称为分类器(classifier);
    2)利用学习得到的分类器对新的输入样本进行类别预测;

  • 两类分类问题与多类分类问题
    1)两类分类问题:将标记分为两类
    2)多类分类问题:将标记分为多类
    多类分类问题也可以转化为两类分类问题解决,如采用一对其余(One-vs-Rest)的方法:将其中一个类标记为正类,然后将剩余的其它类都标记成负类。
    在这里插入图片描述

2.分类性能度量

在解决了一个分类问题之后,对这一次分类的结果进行评判度量显然是不可或缺的,因为一次分类的过程中可能难免会产生一些错误,所以每一次的分类都应该有所谓相对的“较好的分类”和“较不好的分类之分”,那么我们可以从哪几个方面去对它的分类性能进行度量和评估呢?
可以尝试从以下几个方面去考虑:

(1)准确率

  • 假设只有两类样本,即正例(positive)和负例(negative)。通常以关注的类为正类,其他类为负类。

在这里插入图片描述

  • 分类准确率(accuracy):分类器正确分类的样本数与总样本数之比: a c c u r a c y = T P + T N P + N accuracy = \frac {TP + TN} {P + N} accuracy=P+NTP+TN?

(2)精确率和召回率

我们试着来思考一个问题:
既然前面已经给出准确率(accuracy)的度量指标了,准确率不是已经可以评判分类完成的好坏了吗,那为什么我们还要继续推出和介绍更多的度量指标呢?

其实准确率确实可以在一定程度上度量分类完成的好坏,但它在一定程度上过于片面,有所局限。我们来看一个通俗易懂的例子:

假设我们现在在一个池塘里打鱼,我们打了两次鱼,第一次渔网里仅仅包括了池塘里所有的鱼,第二次渔网里不仅包括了池塘里的所有鱼,还打捞上了许多水草和杂物。那么我们试着去评判以下这两次捕捞哪一次是更好的,虽然两次捕捞都实现了捞上所有鱼的目标,但答案显然是第一次的捕捞效果更好。所以一方面的评判标准(准确率)往往是不够的,我们需要从多个角度来度量。

  • 精确率(precision)和召回率(recall):是二类分类问题常用的评价指标。 p r e c i s i o n = T P T P + F P precision = \frac {TP} {TP + FP} precision=TP+FPTP? r e c a l l = T P P recall = \frac {TP} {P} recall=PTP?

  • 精确率反映了模型判定的正例中真正正例的比重。在垃圾短信分类器中,是指预测出的垃圾短信中真正垃圾短信的比例。

  • 召回率反映了总正例中被模型正确判定正例的比重。医学领域也叫做灵敏度(sensitivity)。在垃圾短信分类器中,指所有真的垃圾短信被分类器正确找出来的比例。

(3)P-R曲线

在这里插入图片描述

  • Area (Area Under Curve, 或者简称AUC)

  • Area的定义(p-r曲线下的面积)如下: A r e a = ∫ 0 1 p ( r ) ? d r Area = \int_0^1 {p(r)\ dr} Area=01?p(r)?dr

  • Area有助于弥补P、R的单点值局限性,可以反映全局性能(往往难以同时保证precision和recall都在一个比较高的水准)

  • P-R曲线的绘制
    要得到P‐R曲线,需要一系列precision和recall的值。这些系列值是通过设定阈值来形成的。
    在这里插入图片描述
    例如上图中有20个样本,Inst#代表样本序号,Class代表ground truth真值标签,p代表该样本是positive(正例),n代表该样本是negative(负例),Score是我的分类器对于该样本属于正例的可能性的打分(概率值)。

    然后从高到低将Score值排序并依此作为阈值threshold,Score大于等于阈值的样本被标注为正例,Score小于阈值的样本被标注为负例。

    显然,如果我设置n个阈值,我就能得到n种标注结果,来评判我的模型好不好使。

    • 若阈值设置为0.9,只有第一个样本被我判断为正例,那么我的精确率 p r e c i s i o n = T P T P + F P = 100 % precision = \frac {TP} {TP + FP} = 100\% precision=TP+FPTP?=100%,但是召回率 r e c a l l = T P P = 10 % recall = \frac {TP} {P} = 10\% recall=PTP?=10%
    • 若阈值设置为0.1,所有样本都被我判断为正例,精确率 p r e c i s i o n = T P T P + F P = 50 % precision = \frac {TP} {TP + FP} = 50\% precision=TP+FPTP?=50%,召回率 r e c a l l = T P P = 100 % recall = \frac {TP} {P} = 100\% recall=PTP?=100%

    最后就能得到若干对 p r e c i s i o n precision precision r e c a l l recall recall值的二元组 ( P , R ) : ( 1 , 0.1 ) , . . . , ( 0.5 , 1 ) (P,R):(1, 0.1),...,(0.5,1) (P,R):(1,0.1),...,(0.5,1),将这若干二元组看作坐标画在图上,再连接起来就是这个模型对应的P-R曲线了。

(4)F值

  • F值 ( F β ? s c o r e ) (F_\beta - score) (Fβ??score)是精确率和召回率的调和平均: F β ? s c o r e = ( 1 + β 2 ) ? p r e c i s i o n ? r e c a l l β 2 ? p r e c i s i o n + r e c a l l F_\beta - score = \frac {(1 + \beta^2) * precision * recall}{\beta^2 * precision + recall} Fβ??score=β2?precision+recall(1+β2)?precision?recall?

  • β \beta β一般大于0。当 β = 1 \beta = 1 β=1 时,退化为F1: F 1 ? s c o r e = 2 ? p r e c i s i o n ? r e c a l l p r e c i s i o n + r e c a l l F_1 - score = \frac {2 * precision * recall}{precision + recall} F1??score=precision+recall2?precision?recall?

  • 比较常用的是F1 , 即表示precision和recall二者同等重要。

(5)ROC曲线

在这里插入图片描述

  • 横轴:假正例率 f p ? r a t e = F P N fp \ rate = \frac {FP} {N} fp?rate=NFP?

  • 纵轴:真正例率 t p ? r a t e = T P P tp \ rate = \frac {TP} {P} tp?rate=PTP?

  • ROC (受试者工作特征曲线, receiver operating characteristic curve)描绘了分类器在 t p ? r a t e tp \ rate tp?rate(真正正例占总正例的比率,反映命中概率,纵轴)和 f p ? r a t e fp \ rate fp?rate (错误的正例占反例的比率,反映误诊率、假阳性率、虚惊概率,横轴) 间的trade‐off。

  • ROC曲线的绘制
    要得到一个曲线,需要一系列 f p ? r a t e fp \ rate fp?rate t p ? r a t e tp \ rate tp?rate的值。这些系列值是通过设定阈值来形成的。
    在这里插入图片描述
    同样,还是以上面那张表格为例。

    然后从高到低将Score值排序并依此作为阈值threshold,Score大于等于阈值的样本被标注为正例,Score小于阈值的样本被标注为负例。

    显然,如果我设置n个阈值,我就能得到n种标注结果。

    • 若阈值设置为0.9,只有第一个样本被我判断为正例,那么真正例率(纵轴) t p ? r a t e = T P P = 10 % tp \ rate = \frac {TP} {P} = 10\% tp?rate=PTP?=10%,假正例率(横轴) f p ? r a t e = F P N = 0 % fp \ rate = \frac {FP} {N} = 0\% fp?rate=NFP?=0%
    • 若阈值设置为0.1,所有样本都被我判断为正例,那么真正例率(纵轴) t p ? r a t e = T P P = 100 % tp \ rate = \frac {TP} {P} = 100\% tp?rate=PTP?=100%,假正例率(横轴) f p ? r a t e = F P N = 100 % fp \ rate = \frac {FP} {N} = 100\% fp?rate=NFP?=100%

    最后就能得到若干对 f p ? r a t e fp \ rate fp?rate t p ? r a t e tp \ rate tp?rate的二元组 ( T , F ) : ( 0.1 , 0 ) , . . . , ( 1 , 1 ) (T,F):(0.1,0),...,(1,1) (T,F):(0.1,0),...,(1,1),将这若干二元组看作坐标画在图上,再连接起来就是这个模型对应的ROC曲线了。

  • ROC‐AUC计算
    ROC‐AUC(Area Under Curve)定义为ROC曲线下的面积。
    AUC值提供了分类器的一个整体数值。
    通常AUC越大,分类器更好。取值范围为[0,1]。

3.分类性能可视化

(1)混淆矩阵的可视化

  • 如用热图(heatmap)直观地展现类别的混淆情况(每个类有多少样本被错误地预测成另一个类)
    在这里插入图片描述

(2)分类报告

  • 显示每个类的分类性能。包括每个类标签的精确率、召回率、F1值等。
    在这里插入图片描述

二、回归问题及其性能评价

1.什么是回归

  • 回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

  • 和分类问题不同,回归通常输出为一个实数数值。而分类的输出通常为若干指定的类别标签。

2.回归性能度量方法

(1)平均绝对误差MAE

  • MAE(Mean absolute error)是绝对误差损失(absolute error loss)的期望值。

  • 如果 y ^ i \hat y_i y^?i?是第i个样本的预测值, y i y_i yi?是相应的真实值,那么在 n s a m p l e s n_{samples} nsamples?个测试样本上的平均绝对误差(MAE)的定义如下: M A E ( y , y ^ ) = 1 n s a m p l e s ∑ i = 0 n s a m p l e s ? 1 ∣ y i ? y ^ i ∣ MAE(y,\hat y) = \frac {1}{n_{samples}}\sum_{i = 0}^{n_{samples} - 1} {\lvert y_i - \hat y_i \rvert} MAE(y,y^?)=nsamples?1?i=0nsamples??1?yi??y^?i?

(2)均方差MSE

  • MSE(Mean squared error),该指标对应于平方误差损失 (squared error loss)的期望值。

  • 如果 y ^ i \hat y_i y^?i?是第i个样本的预测值, y i y_i yi?是相应的真实值,那么在 n s a m p l e s n_{samples} nsamples?个测试样本上的均方差的定义如下: M S E ( y , y ^ ) = 1 n s a m p l e s ∑ i = 0 n s a m p l e s ? 1 ∣ y i ? y ^ i ∣ 2 MSE(y,\hat y) = \frac {1}{n_{samples}}\sum_{i = 0}^{n_{samples} - 1} {\lvert y_i - \hat y_i \rvert ^2} MSE(y,y^?)=nsamples?1?i=0nsamples??1?yi??y^?i?2

  • 均方根差RMSE: Root Mean Squared Error, RMSE,是MSE的平方根。

  • 均方差MSE的应用举例
    在这里插入图片描述

(3)logistic回归损失(二类)

  • 简称Log loss,或交叉熵损失(cross‐entropy loss)
    常用于评价逻辑回归LR和神经网络

  • 对于二类分类问题

    1. 假设某样本的真实标签为y(取值为0或1),概率估计为 p = P ( y = 1 ) p = P(y = 1) p=P(y=1)
    2. 每个样本的log loss是对分类器给定真实标签的负log似然估计(negative log‐likelihood): L l o g ( y , p ) = ? l o g ( P ( y ∣ p ) ) = ? ( y l o g ( p ) + ( 1 ? y ) l o g ( 1 ? p ) ) L_{log}(y,p) = -log(P(y|p)) = -(ylog(p) + (1 - y)log(1 - p)) Llog?(y,p)=?log(P(yp))=?(ylog(p)+(1?y)log(1?p))
  • 公式: L l o g ( y , p ) = ? l o g ( P ( y ∣ p ) ) = ? ( y l o g ( p ) + ( 1 ? y ) l o g ( 1 ? p ) ) L_{log}(y,p) = -log(P(y|p)) = -(ylog(p) + (1 - y)log(1 - p)) Llog?(y,p)=?log(P(yp))=?(ylog(p)+(1?y)log(1?p))

(4)logistic回归损失(多类)

  • 对于多类问题(multiclass problem),可将样本的真实标签(true label)编码成1‐of‐K(K为类别总数)的二元指示矩阵Y。

  • 举例:假设有三类在这里插入图片描述

  • 假设模型对测试样本的概率估计结果为P,则在测试集(假设测试样本总数为N)上的交叉熵损失表示如下: L l o g ( y , p ) = ? l o g ( P ( y ∣ p ) ) = ? 1 N ∑ i = 0 N ? 1 ∑ k = 0 K ? 1 y i , k l o g p i , k L_{log}(y,p) = -log(P(y|p)) = -\frac {1}{N}\sum_{i = 0}^{N - 1} \sum_{k = 0}^{K - 1} {y_{i,k} logp_{i,k}} Llog?(y,p)=?log(P(yp))=?N1?i=0N?1?k=0K?1?yi,k?logpi,k?
    其中 y i , k y_{i,k} yi,k?表示第i个样本的第k个标签的真实值,注意由于表示为“1‐of‐K”模式,因此每个样本只有其中一个标签值为1,其余均为0。 p i , k p_{i,k} pi,k?表示模型对该样本的预测值。

  • 举例:6个样本,三个类
    在这里插入图片描述

三、一致性的评价方法

  • 一致性评价
    一致性评价,是指对两个或多个相关的变量进行分析,从而衡量其相关性的密切程度。

  • 假设一个场景:有两位评委要对5部电影进行评分,评分区间为[0,5],结果如下:
    rater1 = [0.5, 1.6, 2.5, 2.5, 2.4]
    rater2 = [1.5, 2.6, 3.5, 3.5, 3.4]
    那么请问两者意见的一致性如何?

    下面介绍几种一致性的评价方法

1.皮尔森相关系数法

  • 皮尔森相关系数(Pearson coefficient)的应用背景:
    用来衡量两个用户之间兴趣的一致性
    用来衡量预测值与真实值之间的相关性
    既适用于离散的、也适用于连续变量的相关分析

  • X和Y之间的皮尔森相关系数计算公式: ρ X , Y = c o v ( X , Y ) σ X σ Y = E [ ( X ? μ X ) ( Y ? μ Y ) ] σ X σ Y \rho_{X,Y} = \frac {cov(X,Y)} {\sigma_X \sigma_Y} = \frac {E[(X - \mu_X)(Y - \mu_Y)]} {\sigma_X \sigma_Y} ρX,Y?=σX?σY?cov(X,Y)?=σX?σY?E[(X?μX?)(Y?μY?)]?
    其中, c o v ( X , Y ) cov(X,Y) cov(X,Y)表示X和Y之间的协方差(Covariance), σ \sigma σ是均方差, μ \mu μ是均值, E E E表示数学期望

  • 取值区间为[‐1,1]。‐1:完全的负相关;+1:表示完全的正相关;0:没有线性相关

2.Cohen’s kappa相关系数

  • Cohen‘s kappa相关系数也可用于衡量两个评价者之间的一致性。其特点在于:
    1. 与pearson相关系数的区别:Cohen‘s kappa相关系数通常用于离散的分类的一致性评价。
    2. 其通常被认为比两人之间的简单一致百分比更强壮,因为Cohen‘s kappa考虑到了二人之间的随机一致的可能性。
  • 如果评价者多于2人时,可以考虑使用Fleiss’ kappa。
    (Cohen’s kappa与Fleiss’ kappa的计算方法不做过多介绍,感兴趣的朋友可以去自行了解)
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:10:46  更:2021-07-15 16:11:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 11:50:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码