第一个TF程序:Softmax回归介绍
Softmax回归介绍
我们知道MNIST的每一张图片都表示一个数字,从0到9。我们希望得到给定图片代表每个数字的概率。比如说,我们的模型可能推测一张包含9的图片代表数字9的概率是80%但是判断它是8的概率是5%(因为8和9都有上半部分的小圆),然后给予它代表其他数字的概率更小的值。
这是一个使用softmax回归(softmax regression)模型的经典案例。softmax模型可以用来给不同的对象分配概率。好了,那么概率又是什么东东?你可以把它看作是实现某件事情的可能性,如足彩中,鲁能泰山队赢上海上港的概率为50%,平和输的概率分别为30%、20%。
softmax回归(softmax regression)分两步:
第一步:为了得到一张给定图片属于某个特定数字类的证据(evidence),我们对图片像素值进行加权求和,求出的和越大,代表它属于某个数字的证据越大
比如说,对于给定的输入图片 x 它代表的是数字 i 的证据可以表示为:
其中j 代表给定图片 x 的像素索引用于像素求和,xj代表该像素的像素值(0~1),Wi 代表权重,, bi代表数字 i 类的偏置量,
<p如果这个像素具有很强的证据说明这张图片不属于该类,那么相应的权值为负数,相反如果这个像素拥有有利的证据支持这张图片属于这个类,那么权值是正数。而最后我们加入一个额外的偏置量bi的原因是,因为输入往往会带有一些无关的干扰量。</p> 这就好像一群在体育场看台上举牌子的观众在猜他们举得的是什么图案,有人说是1,有人说不是1,有人说有点像1.
第二步,我们用softmax函数可以把这些证据转换成概率 y:
这里的softmax可以看成是一个激励(activation)函数或者链接(link)函数,把我们定义的线性函数的输出转换成我们想要的格式,也就是关于10个数字类的概率分布。因此,给定一张图片,它对于每一个数字的吻合度可以被softmax函数转换成为一个概率值。
总结
对于softmax回归模型可以用下面的图解释,对于输入的xs加权求和,再分别加上一个偏置量,最后再输入到softmax函数中:
如果我们学过线性代数,也可以把它表示为:
下一节 实现回归模型
返回 人工智能
参考文档:
- [1] MNIST机器学习入门 http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.html
- [2] TensorFlow下MNIST数据集下载脚本input_data.py http://blog.csdn.net/lwplwf/article/details/54896959