每天进步一点点-深度学习入门-基于Python的理论与实现 (一)

深度学习入门-基于Python的理论与实现

主要内容:
神经网络的每层输入与权重用矩阵来表示。

Python入门

开源,可读性高,性能强,优秀库

主要用到两个库:NumPy和Matplotlib

书中推荐使用Anaconda版本,里面除了Pyhton还包含了许多必要的库,我是用VScode+Python,因为我之前安装过不同版本的Python,主要是安装完成之后改了一下VSCode的配置文件。

Numpy

生成数组:用np.array()方法
x = np.array([1.0, 2.0, 3.0])

多维数组
A = np.array([[1, 2], [3, 4]])

数组间的运算,广播
A = np.array([[1, 2], [3, 4]])
B = np.array([10, 20])
A * B
==>B = np.array([10, 20],[10, 20])
A * B
==>对应位置相乘

广播算法

array([[ 10, 40],[ 30, 80]])

感知机

输入信号与其对应的权重之和,如果超过了某一阙值,那么才会有输出,此时,神经元被激活.

用公式表示:感知机公式

感知机的局限性:
单层感知机只能分割线性空间,对于非线性空间莫得办法,看公式就知道了。多层感知机就可以表达线性空间.

神经网络

如图:

二层神经网路

三层结构但是只有两层神经元,所以称为两层神经网络。

感知机函数: 感知机函数

稍作变换为激活函数: 激活函数

可知感知机的激活函数为阶跃函数。

介绍另一个函数,被常用作激活函数的sigmoid函数: sigmoid函数

矩阵乘法:
由左矩阵的行乘以右矩阵的列
1 2 x 5 6
3 4 x 7 8
1x5+2x7,1x6+2x8
2x5+4x7,3x6+4x8

矩阵实现神经网络

由单独运算变成矩阵运算

三层神经网络第一层

其中a1(1)表示为:

a1公式表示

用矩阵表示:

三层神经网络第一层矩阵表示

此时,A为第二层的输入,获得第二层的输出还需要调用一个激活函数h

输入输出的激活函数

输出层所用的激活函数,要根据求解问题的性质决定。一般地,回
归问题可以使用恒等函数,二元分类问题可以使用sigmoid 函数,
多元分类问题可以使用softmax 函数。

posted @ 2019-09-17 10:40  猝不及防  阅读(933)  评论(0编辑  收藏  举报