NNDL 作业1:第二章课后题

习题 2-1 分析为什么平方损失函数不适用于分类问题 , 交叉熵损失函数不适用于回归问题.

1、平方损失函数

平方损失函数为直接测量机器学习模型的输出与实际结果之间的距离。如果定义机器学习模型的输出为y_{i},实际的结果为t_{i}​,那么平方损失函数可以被定义为:

L(x)=\frac{1}{N}\sum_{i=1}^{N}(y_{i}-t_{i})^{2}

不适用于分类问题的原因

分类问题的结果为离散值,分类问题的标签也不是连续的,每个标签之间的距离也没有实际意义,所以预测值和标签两个向量之间的平方差不能反映分类问题的优化程度。分类问题我们一般采取交叉熵损失函数来进行评估。

2、交叉熵损失函数

交叉熵(Cross Entry)是用来评估当前训练得到的概率分布与真实分布的差异情况,也就是交叉熵的值越小,两个概率分布就越接近。减少交叉熵损失就是在提高模型的预测准确率。其离散函数形式

H(p,q)=-\sum_{x}^{}p(x)log(q(x))

参数解释:p(x)是真实分布的概率,q(x)是模型通过数据计算出来的概率估计。

不适用于回归问题的原因

平方损失函数对每一个输出结果都十分看重,而交叉熵损失函数只对正确分类的结果看重。交叉熵损失函数只和分类正确的预测结果有关。而平方损失函数还和错误的分类有关,该损失函数除了让正确分类尽量变大,还会让错误分类都变得更加平均,但实际中后面的这个调整使没必要的。但是对于回归问题这样的考虑就显得重要了,因而回归问题上使用交叉熵并不适合。

参考:平方损失函数与交叉熵损失函数_m_buddy的博客-CSDN博客_平方损失函数
习题 2-12 对于一个三分类问题 , 数据集的真实标签和模型的预测标签如下 :

分别计算模型的精确率、召回率、F1值以及它们的宏平均微平均.  

混淆矩阵:

预测类别
真实类别TPFN
FPTN


精确率:

precision=\frac{TP}{TP+FP}

P_{1}=\frac{TP_{1}}{TP_{1}+FP_{1}}=\frac{1}{1+1}=\frac{1}{2}

P_{2}=\frac{TP_{2}}{TP_{2}+FP_{2}}=\frac{2}{2+2}=\frac{1}{2}

P_{3}=\frac{TP_{3}}{TP_{3}+FP_{3}}=\frac{2}{2+1}=\frac{2}{3}

召回率:

recall=\frac{TP}{TP+FN}

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

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

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

F1值:

F_{c}=\frac{2P_{c}R_{c}}{P_{c}+R_{c}}

F_{1}=\frac{2P_{1}R_{1}}{P_{1}+R_{1}}=\frac{2*\frac{1}{2}*\frac{1}{2}}{\frac{1}{2}+\frac{1}{2}}=\frac{1}{2}

F_{2}=\frac{2P_{2}R_{2}}{P_{2}+R_{2}}=\frac{2*\frac{1}{2}*\frac{2}{3}}{\frac{1}{2}+\frac{2}{3}}=\frac{4}{7}

F_{3}=\frac{2P_{3}R_{3}}{P_{3}+R_{3}}=\frac{2*\frac{2}{3}*\frac{1}{2}}{\frac{2}{3}+\frac{1}{2}}=\frac{4}{7}

宏平均:

P_{macro}=\frac{1}{n}\sum_{i=1}^{n}P_{i}=\frac{1}{3}*(\frac{1}{2}+\frac{1}{2}+\frac{2}{3})=\frac{5}{9}

R_{macro}=\frac{1}{n}\sum_{i=1}^{n}R_{i}=\frac{1}{3}*(\frac{1}{2}+\frac{2}{3}+\frac{1}{2})=\frac{5}{9}

F1_{macro}=\frac{2P_{macro}R_{macro}}{P_{macro}+R_{macro}}=\frac{2*\frac{5}{9}*\frac{5}{9}}{\frac{5}{9}+\frac{5}{9}}=\frac{5}{9}

微平均:

P_{macro}=\frac{\sum_{i=1}^{n}TP_{i}}{\sum_{i=1}^{n}TP_{i}+\sum_{i=1}^{n}FP_{i}}=\frac{1+2+2}{(1+2+2)+(1+2+1)}=\frac{5}{9}

R_{macro}=\frac{\sum_{i=1}^{n}TP_{i}}{\sum_{i=1}^{n}TP_{i}+\sum_{i=1}^{n}FN_{i}}=\frac{1+2+2}{(1+2+2)+(1+1+2)}=\frac{5}{9}

F1_{macro}=\frac{2P_{macro}R_{macro}}{P_{macro}+R_{macro}}=\frac{2*\frac{5}{9}*\frac{5}{9}}{\frac{5}{9}+\frac{5}{9}}=\frac{5}{9}

小结&收获:

了解学习了平方损失函数不适用于分类问题 , 交叉熵损失函数不适用于回归问题的原因;

学会了如何计算模型的精确率、召回率、F1值以及它们的宏平均和微平均;

练习了如何使用公式编辑器,正确书写公式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值