• 【23-24 秋学期】NNDL 作业2


    第二章课后题


    习题 2-1

    分析为什么平方损失函数不适用于分类问题,交叉损失函数不适用于回归问题

    损失函数的作用是衡量预测值和真实值之间的差异。

    (1)平方损失函数不适用分类问题的原因:

    如下图所示,平方损失函数会对预测值与真实值之间的差值进行平方。

    但是分类问题的标签通常是离散的,如0或1。可以发现,分类问题的预测值和真实值之间的差异只跟类别有关,那么使用平方损失函数对分类问题没有意义。

    举个例子,比如3分类问题,标签设为0,1,2。如果使用平方损失函数后,类别0被预测为1的差异小于类别0预测为2的差异;但是类别0被预测为1或者2没有区别都是预测错误。

    (2)交叉熵损失函数不适用于回归问题的原因:

    如下图所示,交叉熵损失函数的公式为:

    在下图中可以看到, fc(x;\Theta )表示输出类别标签的条件概率分布,而y_{c}是样本的真实条件概率分布。对两个概率分布可以用交叉熵表示之间的差异。

    可以发现,当两个分布相同时,值为0;两个概率分布不同时,值大于0。可以看出,交叉熵能够衡量同一个随机变量中的两个不同概率分布的差异程度

    我们使用交叉熵的目的是为了让交叉熵最小,预测值与真实值相符合。此时我们更关注的是分类正确的预测结果,但是回归问题中不仅需要得到更多的正确分类,也需要平均错误分类。

    同时,交叉熵损失函数要求真实标签是离散的,而在回归问题中的真实值通常是连续的,不是离散的,所以并不适合。

    习题2-12

    对于一个三分类问题 ,数据集的真实标签和模型的预测标签如下。分别计算模型的精确率、召回率、F1值以及它们的宏平均和微平均(格式要求:使用公式编辑器。)

    (1)已知条件

    混淆矩阵如下:

    混淆矩阵
    预测类别
    \widehat{y}=c\widehat{y}\neq c
    真实类别y=cTP_{c}FN_{c}
    y\neq cFP_{c}FN_{c}

    查准率公式:

    \mathfrak{P}_{c}=\frac{TP_{c}}{TP_{c}+FP_{c}}

    查全率公式:

    \mathfrak{R_{c}}=\frac{TP_{c}}{TP_{c}+FN_{c}}

    F1值公式(其中\beta =1):

    \mathfrak{f_{c}}=\frac{(1+\beta ^{2})*\mathfrak{P_{c}}*\mathfrak{R}_{c}}{\beta ^{2}*\mathfrak{P}_{c}+\mathfrak{R_{c}}}

    宏平均:

    \mathfrak{P}_{macro}=\frac{1}{c}\sum_{c=1}^{c}\mathfrak{P}_{c}

    \mathfrak{R}_{macro}=\frac{1}{c}\sum_{c=1}^{c}\mathfrak{R}_{c}

    \mathfrak{f1}_{macro}=\frac{2*\boldsymbol{P}_{macro}*\mathfrak{R_{marco}}}{\boldsymbol{P}_{macro}+\mathfrak{R_{marco}}}

    微平均是将各个混淆矩阵对应元素平均,得到TP、FP、TN、FN,然后计算相应的平均值。其计算公式如下:

    _{micro}P=\frac{\overline{TP}}{\overline{TP}+\overline{FP}}

    _{micro}R=\frac{\overline{TP}}{\overline{TP}+\overline{FN}}

    _{micro}F1=\frac{2*_{micro}P*_{micro}P}{_{micro}P+_{micro}R}

    (2)求解

    首先算出混淆矩阵中的值可得:

    当c=1时:

    预测类别
    \widehat{y}=c\widehat{y}\neq c
    真实类别y=c11
    y\neq c16

    当c=2时:

    预测类别
    \widehat{y}=c\widehat{y}\neq c
    真实类别y=c21
    y\neq c24

    当c=3时:

    预测类别
    \widehat{y}=c\widehat{y}\neq c
    真实类别y=c22
    y\neq c14

    求解查准率

    \mathfrak{P}_{1}=\frac{TP_{1}}{TP_{1}+FP_{1}}=\frac{1}{1+1}= \frac{1}{2}

    \mathfrak{P}_{2}=\frac{TP_{2}}{TP_{2}+FP_{2}}=\frac{2}{2+2}= \frac{1}{2}

    \mathfrak{P}_{3}=\frac{TP_{3}}{TP_{3}+FP_{3}}=\frac{2}{2+1}= \frac{2}{3}

    求解查全率:

    \mathfrak{R_{1}}=\frac{TP_{1}}{TP_{1}+FN_{1}}=\frac{1}{1+1}=\frac{1}{2}

    \mathfrak{R_{2}}=\frac{TP_{2}}{TP_{2}+FN_{2}}=\frac{2}{2+1}=\frac{2}{3}

    \mathfrak{R_{3}}=\frac{TP_{3}}{TP_{3}+FN_{3}}=\frac{2}{2+2}=\frac{1}{2}

    求解F1值:

    \mathfrak{f_{1}}=\frac{2*\mathfrak{P_{1}}*\mathfrak{R}_{1}}{\beta ^{2}*\mathfrak{P}_{1}+\mathfrak{R_{1}}}=\frac{2*\frac{1}{2}*\frac{1}{2}}{1*\frac{1}2{+\frac{1}{2}}}=\frac{1}{2}

    \mathfrak{f_{2}}=\frac{2*\mathfrak{P_{2}}*\mathfrak{R}_{2}}{\beta ^{2}*\mathfrak{P}_{2}+\mathfrak{R_{2}}}=\frac{2*\frac{1}{2}*\frac{2}{3}}{1*\frac{1}2{+\frac{2}{3}}}=\frac{4}{5}

    \mathfrak{f_{3}}=\frac{2*\mathfrak{P_{3}}*\mathfrak{R}_{3}}{\beta ^{2}*\mathfrak{P}_{3}+\mathfrak{R_{3}}}=\frac{2*\frac{2}{3}*\frac{1}{2}}{1*\frac{2}3{+\frac{1}{2}}}=\frac{4}{5}

    宏平均:

    \mathfrak{P}_{macro}=\frac{1}{c}\sum_{c=1}^{c}\mathfrak{P}_{c}=\frac{1}{3}*(\frac{1}{2}+\frac{1}{2}+\frac{2}{3})=\frac{5}{9}

    \mathfrak{R}_{macro}=\frac{1}{c}\sum_{c=1}^{c}\mathfrak{R}_{c}=\frac{1}{3}*(\frac{1}{2}+\frac{2}{3}+\frac{1}{2})=\frac{5}{9}

    \mathfrak{f1}_{macro}=\frac{2*\boldsymbol{P}_{macro}*\mathfrak{R_{marco}}}{\boldsymbol{P}_{macro}+\mathfrak{R_{marco}}}=\frac{2*\frac{5}{9}*\frac{5}{9}}{\frac{5}{9}+\frac{5}{9}}=\frac{5}{9}

    微平均:

    _{micro}P=\frac{\overline{TP}}{\overline{TP}+\overline{FP}}=\frac{\frac{1+2+2}{3}}{\frac{1+2+2}{3}+\frac{1+2+1}{3}}=\frac{5}{9}

    _{micro}R=\frac{\overline{TP}}{\overline{TP}+\overline{FN}}=\frac{\frac{1+2+2}{3}}{\frac{1+2+2}{3}+\frac{2+1+1}{3}}=\frac{5}{9}

    _{micro}F1=\frac{2*_{micro}P*_{micro}P}{_{micro}P+_{micro}R}=\frac{2*\frac{5}{9}*\frac{5}{9}}{\frac{5}{9}+\frac{5}{9}}=\frac{5}{9}

  • 相关阅读:
    Mybatis实战练习五【修改&删除一行数据】
    《入门docker,这一篇就够了》
    二十六、文件系统API(设备在应用间的共享;目录和文件API)
    Generative AI 新世界 | 文生图领域动手实践:预训练模型的微调
    上海某公司医疗实施工程师笔试题
    maven的版本锁定
    6.S081-10 阻塞和唤醒+进程退出 - {Sleep & Week up}+{exit,wait,kill}
    Kubernetes 1.25 正式发布,多方面重大突破
    GDB调试技巧汇总
    生信步骤|MAFFT结合HMMER进行多序列比对和基于隐马模型的基因搜索
  • 原文地址:https://blog.csdn.net/weixin_61838030/article/details/133145332