习题 2-1 分析为什么平方损失函数不适用于分类问题 , 交叉熵损失函数不适用于回归问题.
对于分类问题,通常需要将输入样本分到不同的类别中。然而,平方损失函数的问题在于它主要用于衡量连续数值之间的差异,而不适用于衡量分类结果的差异。
平方损失函数的公式为:
-
对异常值敏感:平方损失函数会对离群点给予较大的权重,因为它对预测值和真实值的差异进行了平方。这可能导致模型过度关注少数异常值,而忽略了大多数的分类样本。
-
优化困难:对于分类问题而言,模型的输出通常是一个概率分布,表示每个类别的概率。当应用平方损失函数进行优化时,存在梯度消失的问题。由于平方损失函数的导数在预测值接近0或1时变得很小,因此梯度下降算法在更新参数时可能无法有效地进行学习。
交叉熵损失函数不适用于回归问题的原因如下:
对于回归问题,目标是对连续数值进行预测,而交叉熵损失函数主要用于衡量分类结果的差异,并不适合用于衡量连续数值之间的差异。
交叉熵损失函数的公式为:
-
输出范围限制:交叉熵损失函数要求预测值ŷ在0到1之间,并且必须是一个概率分布。然而,在回归问题中,输出通常没有这种约束性。因此,直接应用交叉熵损失函数会导致无法正确优化模型。
-
梯度计算困难:交叉熵损失函数在对预测值ŷ求导时涉及到了log运算,这会导致梯度计算复杂且可能出现数值不稳定的问题。尤其是当预测值靠近0或1时,梯度会变得很小,使得模型的学习过程变得困难。
针对分类问题,常用的损失函数有交叉熵损失函数、对数损失函数等。而对于回归问题,常用的损失函数包括均方误差损失函数、平均绝对误差损失函数等。这些损失函数能够更好地适应不同类型的问题并进行有效的优化。
- 平方损失函数不适用于分类问题的示例: 假设我们有一个二分类问题,要根据一些特征(如年龄、性别等)预测一个人是否患有某种疾病(是/否)。我们使用一个简单的线性回归模型进行预测,并使用平方损失函数进行优化。
训练样本: 特征:[30, 1] # 年龄为30岁,性别为男性 标签:是(1)
模型预测值: ŷ = 0.6
应用平方损失函数: = 0.16
可以看到,由于平方损失函数对异常值敏感,在这个例子中,预测值与真实值之间的差异被平方,导致较大的损失。但实际上,该模型的预测结果是正确的(预测为是),只是损失函数不适合用于衡量分类问题的性能。
- 交叉熵损失函数不适用于回归问题的示例: 假设我们有一个回归问题,要预测房屋的价格(连续值)。我们使用一个简单的线性回归模型进行预测,并使用交叉熵损失函数进行优化。
训练样本: 特征:[1200, 3] # 房屋面积为1200平方英尺,卧室数量为3个 标签:$200,000 # 房屋价格为200,000美元
模型预测值: ŷ = $180,000
应用交叉熵损失函数: L(y, ŷ) = -200,000log(180,000/200,000) - (1-200,000)*log(1-180,000/200,000)
可以看到,在这个回归问题中,使用交叉熵损失函数是不合适的,因为它要求预测值在0到1之间,并且必须是一个概率分布。而在这个例子中,预测的价格是一个连续值,不符合交叉熵损失函数的约束条件。
习题 2-12 对于一个三分类问题 , 数据集的真实标签和模型的预测标签如下 :
分别计算模型的精确率、召回率、F1值以及它们的宏平均和微平均.
格式要求:使用公式编辑器,在博客上正确书写公式。
1的精确率:
2的精确率:
3的精确率:
1的召回率:
2的召回率:
3的召回率:
1的F1值:
2的F1值:
3的F1值:
宏平均:
微平均: