神经网络与深度学习 作业1:第二章课后题

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

平方损失函数:

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

 平方损失函数较为容易理解,它直接测量机器学习模型的输出与实际结果之间的距离,{y_i}为学习模型的输出,{\hat{y}_i}为实际结果。

交叉熵损失函数:

L\left ( x \right )=-\sum_{i=1}^{n}p\left (x_{i}\right )log\left ( q\left ( x_{i} \right ) \right )

交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。p(x_i)是真实分布的概率,q(x_i)是模型通过数据计算出来的概率估计。

1.为什么平方损失函数不适用于分类问题?

答:首先我们要明确分类问题的概念:在二分类问题中 y = { + 1 , − 1 } ,在  C分类问题中 y = { 1 , 2 , 3 , ⋅ ⋅ ⋅ , C }可以看出分类问题输出的结果为离散的值。

分类问题中的标签,是没有连续的概念的。每个标签之间的距离也是没有实际意义的,所以预测值和标签两个向量之间的平方差这个值不能反应分类这个问题的优化程度。比如分类 1,2,3, 真实分类是1, 而被分类到2和3错误程度应该是一样的,但是明显当我们预测到2的时候是损失函数的值为1/2而预测到3的时候损失函数为2,这里再相同的结果下却给出了不同的值,这对我们优化参数产生了误导。因此不适用于分类


2.为什么交叉熵损失函数不适用于回归问题?

答:通过交叉熵损失函数,我们可以看出交叉熵损失函数针对只分类正确的预测结果,和分类错误的预测结果没有联系,而分类任务中很少考虑分类错误的结果,主要考虑让正确的分类尽可能大。而在回归中,考虑错误的结果就很必要了,需要让回归的函数尽可能满足所有的样本包括错误的样本,所以交叉熵不适合回归。


习题 2-12 对于一个三分类问题 , 数据集的真实标签和模型的预测标签如下 :

神经网络与深度学习 作业1:第二章课后题_第1张图片

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

格式要求:使用公式编辑器,在博客上正确书写公式。

分类结果混淆矩阵如下:

真实情况 预测结果
正例 反例
正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)

精确率(查准率):

P=\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_{1}+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}

召回率(查全率):

R=\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值(综合评价指标):

F1值是精确率和召回率的加权调和平均。

为了满足人们查全率与查准率的不同偏好,F1度量的一般形式为F_{\beta }

F_{\beta }=\frac{\left ( 1+\beta ^{2} \right )\times P\times R}{\left (\beta ^{2}\times P\right )+R}

其中\beta>0度量了查全率对查准率的相对重要性。\beta=1时退化为标准的F1;\beta>1时查全率影响更大,\beta<1时查准率影响更大 。

这道题令\beta=1

F_{\beta1 }=\frac{\left ( 1+\beta _{1}^{2} \right )\times P_{1}\times R_{1}}{\left (\beta_{1} ^{2}\times P_{1}\right )+R_{1}}=\frac{1}{2}

F_{\beta2 }=\frac{\left ( 1+\beta _{2}^{2} \right )\times P_{2}\times R_{2}}{\left (\beta_{2} ^{2}\times P_{2}\right )+R_{2}}=\frac{4}{7}

F_{\beta3 }=\frac{\left ( 1+\beta _{3}^{2} \right )\times P_{3}\times R_{3}}{\left (\beta_{3} ^{2}\times P_{3}\right )+R_{3}}=\frac{4}{7}

宏平均(每一类性能指标的算术平均):

P_{macro}=\frac{1}{n}\sum_{i=1}^{n}P_{i}=\frac{5}{9}

R_{macro}=\frac{1}{n}\sum_{i=1}^{n}R_{i}=\frac{5}{9}

F_{\beta macro}=\frac{2\times P_{micro}\times R_{micro}}{P_{micro}+R_{micro}}=\frac{5}{9}

 微平均(每个样本的性能指标的算术平均值):

P_{micro}=\frac{\sum_{i=1}^{n}TP_{i}}{\sum_{i=1}^{n}TP_{i}+\sum_{i=1}^{n}FP_{i}}=\frac{5}{9}

R_{micro}=\frac{\sum_{i=1}^{n}TP_{i}}{\sum_{i=1}^{n}TP_{i}+\sum_{i=1}^{n}FN_{i}}=\frac{5}{9}

F_{\beta micro}=\frac{2\times P_{micro}\times R_{micio} }{\beta ^{2}\times P_{micro}+R_{micro}}=\frac{5}{9}

心得:在做作业的过程中学会了在写博客时进行公式的编辑,不再只是从网上进行截图。同时也了解到了平方差损失函数与交叉熵损失函数的特点,对这两种方法的理解更加深刻。

你可能感兴趣的:(深度学习,人工智能)