深度学习 作业一 第二章课后题(不含python代码)
深度学习 查准率 查全率 F1值 宏平均 微平均
目录:
习题 2-1
分析为什么平方损失函数不适用于分类问题 , 交叉熵损失函数不适用于回归问题。
1.平方损失函数
平方损失函数(MSE)表达式
L
=
1
2
m
∑
i
=
1
m
(
y
−
y
′
)
2
L={1 \over 2m}\sum_{i=1}^m (y-y')^2
L=2m1i=1∑m(y−y′)2平方损失函数较为容易理解,它直接测量机器学习模型的输出与实际结果之间的距离。这里定义机器学习模型的输出为
y
i
y_{i}
yi,实际的结果为
y
i
′
y_{i}'
yi′
分析平方损失函数不适用于分类问题:使用平方损失函数处理分类问题时,由于分类问题的结果是离散值,分类正确的项之间以及分类错误的项之间误差都是一样的,不具有距离的意义,通过计算平方得到的误差大小实际上并不能很好地反映误差大小,且分类问题的函数不是凸函数,会陷入局部最小点,会对优化造成困难。
现在要分类 Y Y Y ={1 , 2 , 3 1,2,31,2,3},假设第一个样本属于1,而如果使用平方差损失函数的预测为2,那么误差为 1 2 \frac{1}{2} 21 ,如果结果预测为3,那么误差为2 。在分类问题中,预测为3和预测为2是等价的,代表的都是错误,并没距离的成分。所以平方误差不适合分类任务
2.交叉熵损失函数
交叉熵损失函数(CrossEntropyLoss)表达式:
L
=
−
∑
i
=
1
n
p
(
x
i
)
l
o
g
(
q
(
x
i
)
)
L=-\sum_{i=1}^np(x_i)log(q(x_i))
L=−i=1∑np(xi)log(q(xi))是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其离散函数形式。
分析交叉熵损失函数不适用于回归问题:交叉熵损失函数之和分类正确的预测结果有关,但回归问题除了要让正确的分类尽量变大,还要让错误的分类变得平均。因此回归问题不适合使用 交叉熵损失函数。
注:交叉熵经常搭配softmax使用,将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。
习题 2-12
对于一个三分类问题 , 数据集的真实标签和模型的预测标签如下 :
分别计算模型的精确率、召回率、F1值以及它们的宏平均和微平均。
格式要求:使用公式编辑器,在博客上正确书写公式。
1. 精确率(也叫精度或查准率)
P 1 = T P 1 T P 1 + F P 1 = 1 1 + 1 = 1 2 − P 2 = T P 2 T P 2 + F P 2 = 2 2 + 2 = 1 2 − P 3 = T P 3 T P 3 + F P 3 = 2 2 + 1 = 2 3 P1={{TP_1}\over{TP_1+FP_1}}={1 \over 1 + 1}={1\over2}\\-\\ P2={{TP_2}\over{TP_2+FP_2}}={2 \over 2 + 2}={1\over2}\\-\\ P3={{TP_3}\over{TP_3+FP_3}}={2 \over 2 + 1}={2\over3} P1=TP1+FP1TP1=1+11=21−P2=TP2+FP2TP2=2+22=21−P3=TP3+FP3TP3=2+12=32
2. 召回率(Recall)(也叫查全率)
R 1 = T P 1 T P 1 + F N 1 = 1 1 + 1 = 1 2 − R 2 = T P 2 T P 2 + F N 2 = 2 2 + 1 = 2 3 − R 3 = T P 3 T P 3 + F N 3 = 2 2 + 2 = 1 2 R1={{TP_1}\over{TP_1+FN_1}}={1 \over 1 + 1}={1\over2}\\-\\ R2={{TP_2}\over{TP_2+FN_2}}={2 \over 2 + 1}={2\over3}\\-\\ R3={{TP_3}\over{TP_3+FN_3}}={2 \over 2 + 2}={1\over2} R1=TP1+FN1TP1=1+11=21−R2=TP2+FN2TP2=2+12=32−R3=TP3+FN3TP3=2+22=21
3. F值(F Measure)(是一个综合指标,为精确率和召回率的调和平均)
F 1 = ( 1 + β ) ∗ P 1 ∗ R 1 β 2 ∗ P 1 + R 1 = 2 ∗ 1 2 ∗ 1 2 1 ∗ 1 2 + 1 2 = 1 2 − F 2 = ( 1 + β ) ∗ P 2 ∗ R 2 β 2 ∗ P 2 + R 2 = 2 ∗ 1 2 ∗ 2 3 1 ∗ 1 2 + 2 3 = 4 7 − F 3 = ( 1 + β ) ∗ P 3 ∗ R 3 β 2 ∗ P 3 + R 3 = 2 ∗ 2 3 ∗ 1 2 1 ∗ 2 3 + 1 2 = 4 7 F1={{(1+\beta)*P_1*R_1}\over{\beta^2*P_1+R_1}}={2*{1\over2}*{1 \over 2} \over 1*{1\over2}+{1 \over 2}}={1\over2}\\-\\ F2={{(1+\beta)*P_2*R_2}\over{\beta^2*P_2+R_2}}={2*{1\over2}*{2 \over 3} \over 1*{1\over2}+{2 \over 3}}={4\over7}\\-\\ F3={{(1+\beta)*P_3*R_3}\over{\beta^2*P_3+R_3}}={2*{2\over3}*{1 \over 2} \over 1*{2\over3}+{1 \over 2}}={4\over7} F1=β2∗P1+R1(1+β)∗P1∗R1=1∗21+212∗21∗21=21−F2=β2∗P2+R2(1+β)∗P2∗R2=1∗21+322∗21∗32=74−F3=β2∗P3+R3(1+β)∗P3∗R3=1∗32+212∗32∗21=74
3. 宏平均(Macro-averging)是每一类的性能指标的算术平均值
1. 宏查准率
P m a c r o = 1 n ∑ i = 1 n P i = 1 3 ∗ ( 1 2 + 1 2 + 2 3 ) = 5 9 P_{macro}={1 \over n}\sum_{i=1}^nP_i={1 \over 3}*({1 \over 2} +{1 \over 2} +{2 \over 3} )={5\over 9} Pmacro=n1i=1∑nPi=31∗(21+21+32)=95
2. 宏查全率
R m a c r o = 1 n ∑ i = 1 n R i = 1 3 ∗ ( 1 2 + 2 3 + 1 2 ) = 5 9 R_{macro}={1 \over n}\sum_{i=1}^nR_i={1 \over 3}*({1 \over 2} +{2 \over 3} +{1 \over 2} )={5\over 9} Rmacro=n1i=1∑nRi=31∗(21+32+21)=95
3. F1
F 1 m a c r o = 2 ∗ P m a c r o ∗ R m a c r o P m a c r o + R m a c r o = 2 ∗ 5 9 ∗ 5 9 5 9 + 5 9 = 5 9 F1_{macro}={ 2*P_{macro}*R_{macro}\over P_{macro}+R_{macro}}={2 *{5 \over 9} *{5 \over 9} \over {5 \over 9}+{5 \over 9}}={5\over 9} F1macro=Pmacro+Rmacro2∗Pmacro∗Rmacro=95+952∗95∗95=95
4. 微平均(Micro-averging) 是每一个样本的性能指标的算术平均值.
P m a c r o = ∑ i = 1 n T P i ∑ i = 1 n T P i + ∑ i = 1 n F P i = 1 + 2 + 2 ( 1 + 2 + 2 ) + ( 1 + 2 + 1 ) = 5 9 − R m a c r o = ∑ i = 1 n T P i ∑ i = 1 n T P i + ∑ i = 1 n F N i = 1 + 2 + 2 ( 1 + 2 + 2 ) + ( 1 + 1 + 2 ) = 5 9 − F 1 m a c r o = 2 ∗ P m a c r o ∗ R m a c r o β 2 ∗ P m a c r o + R m a c r o = 2 ∗ 5 9 ∗ 5 9 5 9 + 5 9 = 5 9 P_{macro}={\sum_{i=1}^nTP_i \over \sum_{i=1}^nTP_i +\sum_{i=1}^nFP_i }={1+2+2\over(1+2+2)+(1+2+1)}={5\over9}\\-\\ R_{macro}={\sum_{i=1}^nTP_i \over \sum_{i=1}^nTP_i +\sum_{i=1}^nFN_i }={1+2+2\over(1+2+2)+(1+1+2)}={5\over9}\\-\\ F1_{macro}={ 2*P_{macro}*R_{macro}\over \beta^2*P_{macro}+R_{macro}}={2 *{5 \over 9} *{5 \over 9} \over {5 \over 9}+{5 \over 9}}={5\over 9} Pmacro=∑i=1nTPi+∑i=1nFPi∑i=1nTPi=(1+2+2)+(1+2+1)1+2+2=95−Rmacro=∑i=1nTPi+∑i=1nFNi∑i=1nTPi=(1+2+2)+(1+1+2)1+2+2=95−F1macro=β2∗Pmacro+Rmacro2∗Pmacro∗Rmacro=95+952∗95∗95=95
总结:
通过该代码的练习,更加熟悉了数学公式的博客书写,也了解了精确率、召回率、F1值以及它们的宏平均和微平均的计算,深刻理解了平方损失函数和交叉熵损失函数的相关应用的区别。
如有错误与建议,望告知!!!(将于下篇文章更正)
请多多关注我!!!谢谢!!!
更多推荐
所有评论(0)