没有合适的资源?快使用搜索试试~ 我知道了~
首页手写数字识别(python底层实现)报告.docx
资源详情
资源评论
资源推荐
一、 目的与要求
1.1 实验目的
(1)加深对多层感知神经网络基本原理的理解;
(2)掌握多层感知神经网络中反向传播算法数学推导和随机梯度下降法进
行训练的原理;
(3)熟练使用 python 语言,学会利用 python 从底层实现多层感知机;
(4)分析影响多层感知机准确率的因素;
(5)结合实际问题与理论相结合,为进一步学习人工智能相关课程和从事
相关领域的理论研究工作奠定基础。
1.2 实验要求
(1)认识 MNIST 数据集的数据格式,对 MNIST 数据集进行划分作为多层
感知机的训练和测试数据;
(2)利用 python 语言从零开始搭建多层感知机网络;
(3) 通过调整参数提高多层感知机网络的准确度,并对实验结果进行评
估;
(4)程序的语句要求有注释,以增强程序可读性。
二、 多层感知机系统简介
早在 20 世纪 40~50 年代,人们就开始尝试研究神经系统数学模型,从 20
世纪 80 年代以来,人们开始大量的借用神经生理学的概念来研究机器智能,诞
生了一门新兴的学科——人工神经网络(artificial neural networks),简称神经网
络(neural networks),为模式识别的方法体系注入了新鲜的血液。根据对自然
神经系统构造和机理认识,神经系统是由大量的神经细胞(神经元)构成的复
杂的网络,人们针对这一网络建立一定的数学模型和算法,设法使它能够实现
基于数据的模式识别。采用不同的数学模型会得到不同的神经网络,其中最有
影响的模型应该是多层感知器(MLP)模型,它具有从训练数据中学习任意复
杂的非线性映射的能力,也包括实现复杂的非线性分类判别函数。下面就多层
感知器的组成和数学原理进行介绍。
1
2.1 感知器与神经元
感知器是二分类的线性分类模型,将实例划分为正负两类的分离超平面
(separating hyperplane),属于判别模型。感知器基于线性阈值单元(Linear
Threshold Unit, LTU)构件的。下图 2-1 为阈值逻辑单元。图 2-1 中,x
1
,x
2
,x
3
,…
x
n
表示神经元的多个树突接受到的信号,
n
是向量
x
的维数,
ω
1
, … ω
n
称为权值,
反映各个输入信号的作用强度。神经元的作用是将这些信号加权求和,当求和
超过一定的阈值后神经元即进入激活状态,输出值为 1;否则神经元处于抑制
状态,输出值为 0。
图 2-1 阈值逻辑单元:神经元模型
这个模型可以用下面公式表示:
y=θ
(
∑
i=1
n
w
i
x
i
+w
0
)
从几何上说,感知器神经元就是用平面把特征空间分成两个区域,一个区
域内
y
=1,另一个区域内
y
=0,可以看出,单个感知器神经元能够完成线性可分
数据的分类问题,是一种最简单的分类器,它无法解决非线性问题,比如下图
2-2 中的 XOR 问题:即(1,1)(-1,-1)属于同一类,而(1,-1)(-1,1)属于第
二类的问题,不能由单个感知器正确分类。
图 2-2 异或问题
感知器只能解决所谓一阶谓词逻辑问题:与(AND),或(OR)等,而不
能解决异或(XOR)等高阶谓词逻辑问题。
2.2 多层感知器
单个感知器虽然无法解决异或问题,但却可以通过将多个感知器组合,实
现复杂空间的分割。如下图 2-3:
图 2-3 多个感知器组合
将两层感知器按照一定的结构和系数进行组合,第一层感知器实现两个线
性分类器,把特征空间分割,而在这两个感知器的输出之上再加一层感知器,
就可以实现异或运算。也就是由多个感知器组合来实现非线性分类面,其中
θ
(
⋅
)
表示阶跃函数或符号函数。
y=θ
{
∑
j=1
n
v
j
θ
(
∑
i=1
m
w
ij
x
i
+w
0 j
)
+v
0
}
实际上,上述模型就是多层感知器神经网络(Multi-layer perceptron neural
networks,MLP neural netwoks)的基础模型。神经网络中每个节点为一个感知
器,模拟生物神经网络中神经元的基础功能:来自外界(环境或其他细胞)的
电信号通过突触传递给神经元,当细胞收到的信号总和超过一定阈值后,细胞
被激活,通过轴突向下一个细胞发送电信号,完成对外界信息的加工。但是,
感知器的学习算法并不能直接应用到多层感知器模型的参数学习上。因此,最
初提出的学习方案是:除了最后一个神经元之外,事先固定其他所有神经元的
权值,学习过程只是用感知器学习算法学习最后一个神经元的权系数。实际上,
这相当于通过第一层神经元把原始的特征空间变换到一个新的特征空间,第一
层的每个神经元构成新空间的一维,然后在新的特征空间用感知器学习算法构
造一个线性分类器。显然,由于第一层的神经元权值需要人为给定,模型的性
能很大程度取决于能否设计出恰当的第一层神经元模型,而这取决于对所面临
的的问题和数据的了解,并没有针对任意问题求解第一层神经元参数的方法。
因此人们对于感知器的研究就此停滞了大约 25 年。
2.3 反向传播算法
1986 年,在人们无法解决感知器多层参数学习问题长达 25 年之后,几项同
时发表的研究工作给出了求解这些参数的一种有效算法,这就是所谓的反向传
播(BP)算法,这一算法上的突破,主要来源于用所谓的 Sigmoid 函数来替代
感知器中的阈值函数来构造神经元网络。
sigmoid 函数可以将元素的值变换到 0 和 1 之间:
sigmoid
(
x
)
=
1
1+exp
(
−x
)
下面图 2-4 绘制了 sigmoid 函数,当输入接近 0 时,sigmoid 函数接近线性变换。
如果将 sigmoid 函数替换阶跃函数作为神经元的传递函数则得到:
y=f
(
x
)
=
1
1+ⅇ
−
∑
i=1
n
w
i
x
i
图 2-4 sigmoid 函数
可以看到,sigmoid 函数是单调递增的非线性函数,无限次可微,而且当权
值较大时可以逼近阈值函数,当权值很小时则逼近线性函数。
要解决非线性可分问题,需考虑使用多层功能神经元,在图 2-5 中,输出
层与输入层之间的一层神经元,被称为隐层或隐含层(hidden layer),隐含层和
输出层神经元都是拥有激活函数的功能神经元。输入层神经元接收外界输入,
隐层与输出层神经元对信号进行加工,最终结果由输出层神经元输出;换言之,
输入层神经元仅是接受输入,不进行函数处理,隐层与输出层包含功能神经元。
神经 网络 的学 习过 程, 就是 根据 训练 数据 来调 整神 经元 之间 的 “ 连接 权”
(connection weight)以及每个功能神经元的阈值;换言之,神经网络“学到”的东
西,蕴涵在连接权与阈值中。
图 2-5 带有隐藏层的多层感知机
那么如何调整连接权与阙值呢?答案就是利用 BP 算法。给定训练集
D=
{
(
x
1
, y
1
)
, ...
(
x
m
, y
m
)
}
, x
i
∈ R
d
, y
i
∈ R
l
,即输入示例由
d
个属性描述,输出 l 维实
值向量。为便于讨论,图 2-6 给出了一个拥有 d 个输入神经元、 l 个输出神经元、
q 个隐层神经元的多层前馈网络结构,其中输出层第 j 个神经元的阀值用
θj
表示,
隐层第 h 个神经元的阈值用
γh
表示,输入层第 i 个神经元与隐层第 h 个神经元之
间的连接权为
v
ih
,隐层第 h 个神经元与输出层第 j 个神经元之间的连接权
ω
h
˙J
,
记隐层第 h 个神经元接收到的输入为
α
h
=
∑
i=1
d
v
ih
b
h
,输出层第 j 个神经元接收到的
输入为
β
j
=
∑
h=1
q
ω
h
˙
J
b
h
,其中
b
h
为隐层第 h 个神经元的输出,假设隐层和输出层神
经元都使用 Sigmoid 函数。
对训练例
(
x
k
, y
k
)
,假定神经网络的输出为
^
y
k
=
{
^
y
1
k
, … ,
^
y
l
k
}
,即
^
y
j
k
=f
(
β
j
−θ
j
)
, (2.1) 则网络在
(
x
k
, y
k
)
上的均方误差为
E
k
=
1
2
∑
j =1
l
(
^
y
j
k
− y
j
k
)
2
(2.2)
剩余38页未读,继续阅读
晨跑跑
- 粉丝: 42
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5