简述
这次是在看《21个项目玩转深度学习》那本书的第一章节后做的笔记。
这段时间,打算把TensorFlow再补补,提升一下技术水平~
希望我能坚持下来,抽空把这本书刷下来吧~
导入数据
- 下面的代码会直接下载数据,如果没有那个文件夹的话,但是,如果有这个文件夹而且里面有那几个文件的话,就会直接调用那个数据。
- 这次直接在网上搜
MNIST下载
,就知道怎么下载啦~ 这里我更关注TensorFlow和算法本身
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data/', one_hot=True)
print(mnist.train.images.shape)
print(mnist.test.images.shape)
(55000, 784)
(10000, 784)
比较有意思的是,这里的labels的数据安排。
- 比如说,这就是第一个图片的所对应的信息。表示是7。
[0, 0 ,0 , 0 ,0 ,0 ,0 , 1 ,0 ,0 ]
书中比较有意思的介绍了Softmax回归,之前虽然有用过Softmax,也大致知道意思,但却没有较为详细的了解过它。这倒是这次阅读的惊喜。
Softmax回归
Softmax回归,来自于Logistics 回归。只不过逻辑回归只是binary classification的活动,而Softmax就可以实现多元的回归的情况。
意思很简单,就是返回某个物体属于labels的概率集合。然后选择概率最大的label。
现在对每个类做分析。和Logistics regression一样,先会有一个线性函数来给每个类打分。同样的,这个分数是在实数范围内的,但是概率空间只有0和1,所以需要做个映射。
分数为(a, b, c)时,对应的概率分别为:
分数 | 概率 |
---|---|
a | e a e a + e b + e c \frac{e^a}{e^a+e^b+e^c} ea+eb+ecea |
b | e b e a + e b + e c \frac{e^b}{e^a+e^b+e^c} e< |