记录从准研一假期自学PYTHON的全过程day43(深度学习基础知识)

103 阅读2分钟

暑假自学python的第43天

今天继续昨天的学习:

今天开始学习深度学习相关知识

深度学习

深度学习原本称为多层神经网络,多层神经网络在网络上的图片有很多:

image.png

x1,x2,x3....xm作为输入层,隐藏层中每一个小圆圈就代表一个神经元,每一个神经元都会接收到输入层x1,x2,x3等送过来的数据。

每个神经元中做的都是一个逻辑回归,每个神经元内都做一个 多元一次方程,(y=w1x1+w2x2+w3x3...)

y还需要进行一个激活函数来经过处理之后才会传递到下一个神经元:

y=sigmoid(w1x1+w2x2+w3x3...)

激活函数的目的是为了让输出变成非线性

像图中举例,每层神经元的参数都是4*5=20

深度学习>机器学习

深度学习可以拟合任何机器学习的模型。

Tensorflow-keras

Tensorflow-keras是一个高级神经网络API,keras简易快速,支持CNN与RNN

分类问题

分类问题预测的是类别,模型的输出是概率分布

image.png

如图所示,上图的输出就是三个概率分布,比如第一个概率为0.2,第二个概率为0.7,第三个概率为0.1

在输出的概率相比较之下,我们就可以判断0.7的概率最大,所以这个问题更接近与0.7所对应的模型。

在上述中,每一个神经元是逻辑回归的,输出的为一个值。

此时在最后输出的结果,使用到的激活函数就是softmax,将结果变为一个概率值。

谁的概率最大,我们就认为他属于哪一个分类。

举例如下:

import numpy as np
z=np.array([1.0,2.0,3.0,4.0,1.0,2.0,3.0])
np.exp(z)
ret=np.exp(z)/sum(np.exp(z))
ret
image.png