TensorFlow教程02:针对机器学习初学者的MNIST实验——Softmax回归
2016-05-03 13:39
375 查看
[小编推荐] 首先声明,这个教程的目标读者是机器学习和TensorFlow的新手。如果你熟悉MNIST和Softmax回归,有另外一篇快速教程你可以学习。开始学习这篇教程前,请确认你已正确安装TensorFlow。另外,本文由北方大冬瓜翻译,转载并注明版权,谢谢!
我们知道MNIST中的每幅图像都是一个数字,不论它是0还是9。我们想在看到一幅图像时,能给出它是每一个数字的概率。比如,我们的明星在看到9的图像时,会得出它有80%的可能性是9、5%的可能性是8、以及是其它数字的更小的可能性。
在这样一个经典的例子上,Softmax回归是一种简单自然的模型。如果你想在多分类问题上指定某个类别的概率值,Softmax比较合适。即使后面我们要去训练更复杂的模型,最后一层依然是Softmax。
Softmax回归有两步:第一步我们在某一类别上计算输出值,然后我们将输出值转成概率。
给定一幅图像和一个类别,这个输出值是每个像素点亮度值的加权和。权值越正表明是该类别的可能性越大,权值越负表明不是该类别的可能性越大。
下面这个图表明了一个模型学习到的每个类别的权值。红色表明负方向,蓝色表明正方向。
我们同时还在这个输出值上加上额外的Bias,这个Bias可以认为是和输入无关的一个数值。预测概率是基于此输出值计算Softmax函数值得到的。
这里Softmax可以认为是一个激活或连接函数,用途是把线性输出调整到我们希望的范围上——比如这个例子中,是在10个类别上的分布概率。
这样理解Softmax可能非常有帮助:先指数化输入,然后再归一化。指数化意味着输入维数增加时,对最终为乘性贡献;同样,减少维数时,对最终是除数贡献。我们规定权重不为0或负数。这样,Softmax的输出和为1,构成了一个有效的概率分布。
可以用下图来理解Softmax,对于每一个输出来说,计算输入xs的加权和,加上Bias,然后应用Softmax。
用公式可以写成下述形式:
我们可以矢量化这个过程,转成矩阵乘和矢量加,这更有利于高效计算。
更紧凑的话,可以写成:y={softmax}(Wx+b)
我们知道MNIST中的每幅图像都是一个数字,不论它是0还是9。我们想在看到一幅图像时,能给出它是每一个数字的概率。比如,我们的明星在看到9的图像时,会得出它有80%的可能性是9、5%的可能性是8、以及是其它数字的更小的可能性。
在这样一个经典的例子上,Softmax回归是一种简单自然的模型。如果你想在多分类问题上指定某个类别的概率值,Softmax比较合适。即使后面我们要去训练更复杂的模型,最后一层依然是Softmax。
Softmax回归有两步:第一步我们在某一类别上计算输出值,然后我们将输出值转成概率。
给定一幅图像和一个类别,这个输出值是每个像素点亮度值的加权和。权值越正表明是该类别的可能性越大,权值越负表明不是该类别的可能性越大。
下面这个图表明了一个模型学习到的每个类别的权值。红色表明负方向,蓝色表明正方向。
我们同时还在这个输出值上加上额外的Bias,这个Bias可以认为是和输入无关的一个数值。预测概率是基于此输出值计算Softmax函数值得到的。
这里Softmax可以认为是一个激活或连接函数,用途是把线性输出调整到我们希望的范围上——比如这个例子中,是在10个类别上的分布概率。
这样理解Softmax可能非常有帮助:先指数化输入,然后再归一化。指数化意味着输入维数增加时,对最终为乘性贡献;同样,减少维数时,对最终是除数贡献。我们规定权重不为0或负数。这样,Softmax的输出和为1,构成了一个有效的概率分布。
可以用下图来理解Softmax,对于每一个输出来说,计算输入xs的加权和,加上Bias,然后应用Softmax。
用公式可以写成下述形式:
我们可以矢量化这个过程,转成矩阵乘和矢量加,这更有利于高效计算。
更紧凑的话,可以写成:y={softmax}(Wx+b)
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- CUDA搭建
- 反向传播(Backpropagation)算法的数学原理
- 稀疏自动编码器 (Sparse Autoencoder)
- 白化(Whitening):PCA vs. ZCA
- softmax回归
- 卷积神经网络初探
- 关于SVM的那点破事
- 也谈 机器学习到底有没有用 ?
- AI和IA之随想
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- 人工智能冲击下,IT人员如何提前避免被淘汰?
- 你的车有了这样的车载操作系统,溜到飞起
- 人工智能扫盲漫谈篇 & 2018年1月新课资源推荐
- mac上google chrome helper占内存,mac air 发热