初级图像识别——手写数字识别
背景知识储备
Softmax Regression
Softmax Regression(回归) 是面向多项分布数据解决多分类问题的算法。其他可用于解决该种问题的方法有决策树、朴素贝叶斯等。但是这个算法十分重要,因为目前的资料显示卷积神经网络和循环神经网络的最后一层也是在使用这个算法。
这个算法的具体原理是将判定为某一个类(预先分类)的特征相加,然后将这些特征转化为判定是这一分类的概率。而这些特征可以通过一些算法来获取,比如加权求和。如下 W i , j W_{i,j} Wi,j可以表示针对第i个分类面向第j个元素的权重(weight),而 b i b_i bi则表示针对第i个特征的偏差值(bias)。
f e a t u r e i = ∑ j W i , j   x j + b i feature_i = \sum_j W_{i,j} \: x_j+ b_i featurei=j∑Wi,jxj+bi
当然以上只是特征化处理,以下才是softmax的公式。首先我们把以上的特征公式的结果用exp函数进行处理(即以特征值为指数以自然常数e为底数求幂),这样可以确保所有概率为正。以下为书本公式。
s o f t m a x ( x ) i = n o r m a l i z e ( exp x i ) = exp x i ∑ j exp x j softmax(x)_i = normalize(\exp{x_i}) = \frac{\exp{x_i}}{\sum_j \exp{x_j}} softmax(x)i=normalize(expxi)=∑jexpxjexpxi
个人认为以上公式稍微容易误导而且产生理解困难稍作改动,方便不熟悉exp函数常规表达的人理解。
s o f t m a x ( x ) i = P ( Y = i ∣ X = x ) = n o r m a l i z e ( e f e a t u r e i ) = e f e a t u r e i ∑ j e f e a t u r e j softmax(x)_i = P(Y = i| X = x)= normalize(e^{feature_i}) = \frac{e^{feature_i}}{\sum_j e^{feature_j}} softmax(x)i