离散值预测问题, 介绍神经网络中的分类模型
- 分类的基本问题
一般连续值到离散值的转化通常会影响到分类质量。
因此,我们一般使用更适合离散值输出的模型来解决分类问题。
一、softmax回归模型
与线性回归的主要不同在于:softmax回归的输出值个数等于标签里的类别数。
在这里类似于线性回归中的房屋预测问题,给出猫狗分类问题进行分析。
假设输入一共有四种特征,和三种输出动物类别(猫-1,狗-2,鸡-3),所以权重包含12个标量(w), 偏差包含3个标量(b), 给出表达式人如下:
用神经网络描绘上述计算:
分析: 既然分类问题需要得到离散的预测输出,一个简单的办法是将输出值O(i)当做预测类别是i的置信度,并将值最大的输出所对应的类作为预测输出.
argmax(O(i)), 那个值最大,那么预测的类别为该值对应的类别
- 问题分析
然而,直接使用输出层的输出有两个问题。一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。例如,刚才举的例子中的三个输出值(10, 0.1, 0.1)表示“很置信”图像类别为猫,因为该输出值是其他两类的输出值的100倍。但如果o2=o3=1000,那么输出值10却又表示图像类别为猫的概率很低。另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。
softmax运算符解决了以上两个问题, 它通过下式将输出值变为值为正且和为1的概率分布:
二、交叉熵损失函数
前面提到,使用softmax运算后可以更方便地与离散标签计算误差,softmax运算将输出变换成一个合法的类别预测分布。
在这里的损失函数,方法一为:像线性回归那样使用平方损失函数,但是该损失函数过于严格;方法二为:直接获取较大概率作为分类结果。
交叉熵适合衡量两个概率分布的差异。
而交叉熵是一种常用的衡量方法,它更适合衡量两个概率分布差异的测量函数。
假设训练数据集的样本数为n, 交叉熵的损失函数定义为:
交叉熵只关心对正确类别的预测概率,因为只要其值足够大,就可以确保分类结果正确.
最小化交叉熵损失函数等价于最大化训练数据集所有标签类别的联合预测概率。