准备
由线性回归到softmax回归
本章的核心目标是对图片分类,和之前线性回归中求w和b的值不同,本章的目的是求出来所属类别,即一个是连续的,一个是离散的。在编程之前,可以想象该系统为一个黑箱,输入值是各个图片,输出值是图片所属类别的序号。
将问题细化思考,输入的是图片数字化后的值,输出是图片属于各个分类的概率,选择最大概率的类别作为输出。
在确定到这个程度之后就需要考虑黑箱内部的东西了,根据线性模型,我们首先想到的是,将数字化后的各个值赋予权重后相加,之后加上偏差b。得到的输出通过某种办法,转化成概率。将最大的概率的结果与实际结果做对比,如果不同,则通过损失函数对w和b进行迭代,减小误差。
首先考虑将输出值转化成概率。上述过程中我们明确了希望找到最大概率作为结果输出。根据概率的定义,我们知道每个值都应该是非负数,所有情况相加应该得0。因此,输出结果首先通过某个方程y将在实数范围内的结果映射到非负数范围内,同时不会改变相对大小。之后则可以通过用yi除以全部y求和,这样则可以满足相加得1。
softmax函数
前人提出了softmax函数,满足了上述的要求。
根据定义我们再次分析需求,
1. 对输出值求指数可以将在实数范围内的数映射到非负数范围内,符合概率要求;
2. 指数后的值本身除以所有指数后的值的和。显然,当全部输出相加时等于1,符合概率要求。
损失函数——交叉熵损失
在确定输出后就需要考虑通过损失函数对w和b进行迭代更新。
在线性回归时我们选择了均方损失(MSE),在此处我们将选择另一种损失函数,交叉熵损失函数。(由于本人学艺不精,此处根据最大似然函数推导得出交叉熵损失没有完全弄明白,为防止误人子弟,不具体说明。)