深度学习基础_softmax分类
逻辑回归解决的是二分类的问题。
对于多个选项的问题,可以使用softmax函数,它是逻辑回归在N个可能不同的值上的推广
神经网络的原始输出不是一个概率值 ,实质上只是输入的数值做了复杂的加权和与非线性处理之后的一个值而已
加权可以理解为输入乘以权重再加上一个偏置,类似ax+b,x为输入,a为权重,b为偏置
非线性处理就是激活函数,常用的激活函数是relu
加权例子:学校算期末成绩,期中考试占30%,期末考试占50%,作业占20%,假如某人期中考试得了84,期末92,作业分91,如果是算数平均,那么就是(84+92+91)/3=89;那么加权处理后就是84×30%+92×50%+91×20%=89.4,其中的权重就是30%、50%和20%
Softmax层的作用就是将这个输出变为概率分布
softmax要求每个样本必须属于某个类别,且所有可能的样本均被覆盖
softmax个样本分量之和为1 当只有两个类别时,与对数几率回归完全相同
在tf.keras里,对于多分类问题我们使用 categorical crossentropy 和 sparse_ categorical crossentropy来计算softmax交叉熵
顺序编码使用sparse_ categorical crossentropy来计算softmax交叉熵
顺序编码例子:
北京 = 1,上海 = 2, 广州 = 3, 深圳 = 4
独热编码使用categorical crossentropy来计算softmax交叉熵
独热编码例子
北京 = [1,0,0,0],上海 = [0,1,0,0], 广州 = [0,0,1,0], 深圳 = [0,0,0,1]