每天进步一点点-深度学习入门-基于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
==>对应位置相乘

广播算法
1019257-20190918191423019-2093984002.png

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

感知机

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

用公式表示:感知机公式
1019257-20190918191443189-1105088415.png

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

神经网络

如图:

二层神经网路
1019257-20190918191456403-718036064.png

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

感知机函数: 感知机函数
1019257-20190918191506061-1381817320.png

稍作变换为激活函数: 激活函数
1019257-20190918191543436-1801083589.png

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

介绍另一个函数,被常用作激活函数的sigmoid函数: sigmoid函数
1019257-20190918191556444-15552121.png

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

矩阵实现神经网络

由单独运算变成矩阵运算

三层神经网络第一层
1019257-20190918191607631-905605449.png

其中a1(1)表示为:

a1公式表示
1019257-20190918191617596-1617582199.png

用矩阵表示:

三层神经网络第一层矩阵表示
1019257-20190918191627492-1909375998.png

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

输入输出的激活函数
1019257-20190918191634132-1111618385.png

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

转载于:https://www.cnblogs.com/swobble/p/11532151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值