PyTorch---(四)MNIST 手写数字识别

B站视频(78):https://www.bilibili.com/video/av49008640/?p=7

1 数据集

PyTorch---(四)MNIST 手写数字识别

2 函数映射

28x28像素图,每个元素:0-1 ,

PyTorch---(四)MNIST 手写数字识别
通过flat操作, 转化为1维向量 ,

PyTorch---(四)MNIST 手写数字识别

在前面加一个1(变成二维),这个原因后面再说

PyTorch---(四)MNIST 手写数字识别

整体过程

PyTorch---(四)MNIST 手写数字识别

 

PyTorch---(四)MNIST 手写数字识别

上节(三):

讲了线性函数,

PyTorch---(四)MNIST 手写数字识别
但是一个是不够的,需要用到三个

PyTorch---(四)MNIST 手写数字识别

[1,784]  [d1,784]T+ [d1] => [1,d1]+[d1] => [1,d1]

ps:这里面是数字指的是维度

eg:

1 第一个线性函数

PyTorch---(四)MNIST 手写数字识别

PyTorch---(四)MNIST 手写数字识别

2 第二个线性函数

PyTorch---(四)MNIST 手写数字识别

PyTorch---(四)MNIST 手写数字识别

3 第三个线性函数

PyTorch---(四)MNIST 手写数字识别

PyTorch---(四)MNIST 手写数字识别

3 计算LOSS

1第一种编码标签方式

PyTorch---(四)MNIST 手写数字识别

直接用数字,但是有大小关系

 

2 one hot

对应位置写标签,不存在大小关系

PyTorch---(四)MNIST 手写数字识别

关于欧氏距离

PyTorch---(四)MNIST 手写数字识别

相减,计算平方和

PyTorch---(四)MNIST 手写数字识别

4 in a nutshell 概括

PyTorch---(四)MNIST 手写数字识别

嵌套

PyTorch---(四)MNIST 手写数字识别

找到最优解

PyTorch---(四)MNIST 手写数字识别

 

5 非线性因素  **函数

上述线性模型太简单,

人脑是非线性理解所以更聪明,

引入sigmoid增加非线性

sigmoid函数

正负无穷限制到0-1

PyTorch---(四)MNIST 手写数字识别

相对sigmoid更简洁函数ReLU  **函数

PyTorch---(四)MNIST 手写数字识别

每次先行计算后加入非线性因素ReLU

PyTorch---(四)MNIST 手写数字识别

整体表达中加入**函数

PyTorch---(四)MNIST 手写数字识别

6 梯度下降法

PyTorch---(四)MNIST 手写数字识别

越小越好

PyTorch---(四)MNIST 手写数字识别

我们要求,三组非线性模型的参数

PyTorch---(四)MNIST 手写数字识别

7 推理过程

新的X

预测= W3 W2  [  W1X  +  b1  ]  +  b2  }  +  b3   ps:省略了**

PyTorch---(四)MNIST 手写数字识别

 

每个标签的概率

PyTorch---(四)MNIST 手写数字识别

argmax表示最大值
对应的索引号

PyTorch---(四)MNIST 手写数字识别

PyTorch---(四)MNIST 手写数字识别