内容目录
合集请查看:深度学习入门合集
参考书籍:深度学习入门 基于Python的理论与实现 作者:斋藤康毅
什么是神经网络
用图来表示就是下图↓
感知机和神经网络的主要区别在于激活函数
激活函数
定义:
[[Activation Function]]
激活函数是连接感知机和神经网络的桥梁。
阶跃函数
一旦输入超过阈值,就切换输出。这样的函数称为“阶跃函数
例如:
图形化:
sigmoid函数
(exp(−x)表示e −x)
图示:
ReLU函数
Rectified Linear Unit function
图示:
多维数组的运算
![[基于numPy的多维数组运算]]
![[矩阵乘法]]
注意,对应维度的元素个数必须一致(除非有一个是一维数组)
例如:
若A是形状为(3,5)的矩阵
B是形状为(4,3)的矩阵
C是形状为(5,3)的矩阵
D是形如[1,1,1]的向量
则,np.dot(A,B),np.dot(C,B)报错
而,np.dot(A,C),np.dot(A,D)合法
即N(X,Y),M必须为(Y,X)或者(Y,1),np.dot(N,M)才合法
矩阵乘积也称为点积,因此用dot函数
神经网络的内积
结合矩阵乘法,可以通过np.dot()的式子一次性计算出神经网络的结果
输出层的设计
一般而言,[[回归问题]]用[[恒等函数]],[[分类问题]]用[[Softmax Function]]
输出层的神经元数量
根据待解决的问题来决定。
对于分类问题,输出层的神经元数量一般设定为类别的数量。比如,对于某个输入图像,预测是图中的数字0到9中的哪一个的问题(10类别分类问题),可以将输出层的神经元设定为10个。
手写数字识别
使用[[MNIST]]手写数字图像集