哈工大模式识别实验报告
哈工大系统辨识实验三
zl=[z(3:16)]'
hl1=-z(2:15)'
hl2=-z(1:14)'
hl3=u(2:15)'
hl4=u(1:14)'
Hl=[hl1,hl2,hl3,hl4];
theta=((Hl'*Hl)^-1)*Hl'*zl;
disp('辨识后得到的参数:')
disp(theta)
end
function m=m_xulie(n,k)%n为M序列的阶数k为序列的长度
………………………………………………………………………………………….....(2)
设
,
则式(2)可写为
…………………………………………………………………………….(3)
式中:y为N维输出向量; 为N维噪声向量; 为 维参数向量; 为 测量矩阵。为了尽量减小噪声 对 估值的影响,应取 ,即方程数目大于未知数数目。
通过本次上机实验课程,我体会到了最小二乘法辨识是一种近代的系统辨识方法,其优点是只需要考虑系统的输入输出特性,而不强调系统的内部机理。适用于单输入单输出系统的差分方程模型中的参数估计。
最后感谢老师在指导我们上机实验当中所付出的努力。
当系统中没有白噪声时,理论上应该得到准确的参数,我们把模型中的v(k)项剔除,得到以下的辨识结果:
这说明当不存在白噪声时,可以精确获得精确的估计值 ,估计值 的均方差随着噪声的均方差的增大而增大。
8
在这次上机实验当中,我们跟着老师学会了运用最小二乘法实现对系统的参数的估计,估计结果与系统的实际参数存在一定的偏差,原因是白噪声对系统的干扰造成的。
x(j)=X(n);
end
x=-2*x+ones(1,k);
哈工大 模式识别总结
非监督学习方法
与监督学习 方法的区别
主要任务:数据分析 数据分析的典型类型:聚类分析 直接方法:按概率密度划分 投影法 基 于 对 称性 质 的 单 峰 子集 分 离方法 间接方法:按数据相似度划分 动态聚类 方法 C-均值 算法 ISODATA 算法 分级聚类 算法
第三章 判别函数及分类器的设计
(1)非参数分类决策方法的定义;与贝叶斯决策方法进行比 较,分析非参数分类方法的基本特点。 (2)线性分类器。说明这种分类器的定义及其数学表达式, 进一步分析数学表达式的各种表示方法,从而导出典型的线 性分类器设计原理:Fisher准则函数、感知准则函数。 (3)非线性判别函数。从样本的线性不可分例子说明线性判 别函数的局限性,从而引入分段线性判别函数概念及相应计 算方法。 (4)近邻法的定义及性能分析。从近邻法的优缺点导入改进 的近邻法;
非参数判别分类方法原理----有监督学习方法
线性分类器
近邻法: 最近邻法,K近邻法
Fisher 准则
扩展:分段 线性分类器 方法实现非 线性分类器
感知准则 函数
多层感知器 (神经网络)
支持向量机
SVM
改进的近邻法: --剪辑近邻法 --压缩近邻法
特征映射方法实 现非线性分类器
错误修正算法 可实现最小分段数的局部训练算法
特征空间优化:概念、目的及意义
两种优化方法:特征选择、特征提取 评判标准:判据 ------基于距离的可分性判据 -----基于概率的可分性判据 特征提取 特征选择 KL变换 产生矩阵 包含在类平 均信息中判 别信息的最 优压缩 最优方法 分支 定界 算法 次优方法 顺序前 进法, 广义顺 序前进 法 顺序后 退法, 广义顺 序后退 法
《模式识别》实验报告-贝叶斯分类
《模式识别》实验报告-贝叶斯分类一、实验目的通过使用贝叶斯分类算法,实现对数据集中的样本进行分类的准确率评估,熟悉并掌握贝叶斯分类算法的实现过程,以及对结果的解释。
二、实验原理1.先验概率先验概率指在不考虑其他变量的情况下,某个事件的概率分布。
在贝叶斯分类中,需要先知道每个类别的先验概率,例如:A类占总样本的40%,B类占总样本的60%。
2.条件概率后验概率指在已知先验概率和条件概率下,某个事件发生的概率分布。
在贝叶斯分类中,需要计算每个样本在各特征值下的后验概率,即属于某个类别的概率。
4.贝叶斯公式贝叶斯公式就是计算后验概率的公式,它是由条件概率和先验概率推导而来的。
5.贝叶斯分类器贝叶斯分类器是一种基于贝叶斯定理实现的分类器,可以用于在多个类别的情况下分类,是一种常用的分类方法。
具体实现过程为:首先,使用训练数据计算各个类别的先验概率和各特征值下的条件概率。
然后,将测试数据的各特征值代入条件概率公式中,计算出各个类别的后验概率。
最后,取后验概率最大的类别作为测试数据的分类结果。
三、实验步骤1.数据集准备本次实验使用的是Iris数据集,数据包含150个Iris鸢尾花的样本,分为三个类别:Setosa、Versicolour和Virginica,每个样本有四个特征值:花萼长度、花萼宽度、花瓣长度、花瓣宽度。
2.数据集划分将数据集按7:3的比例分为训练集和测试集,其中训练集共105个样本,测试集共45个样本。
计算三个类别的先验概率,即Setosa、Versicolour和Virginica类别在训练集中出现的频率。
对于每个特征值,根据训练集中每个类别所占的样本数量,计算每个类别在该特征值下出现的频率,作为条件概率。
5.测试数据分类将测试集中的每个样本的四个特征值代入条件概率公式中,计算出各个类别的后验概率,最后将后验概率最大的类别作为该测试样本的分类结果。
6.分类结果评估将测试集分类结果与实际类别进行比较,计算分类准确率和混淆矩阵。
哈工大模式识别实验报告
模式识别实验报告本次报告选做第一个实验,实验报告如下:1 实验要求构造1个三层神经网络,输出节点数1个,即多输入单输出型结构,训练它用来将表中的第一类样本和第二类样本分开。
采用逐个样本修正的BP算法,设隐层节点数为4,学习效率η=0.1,惯性系数α=0.0;训练控制总的迭代次数N=100000;训练控制误差:e=0.3。
在采用0~1内均匀分布随机数初始化所有权值。
对1)分析学习效率η,惯性系数α;总的迭代次数N;训练控制误差e、初始化权值以及隐层节点数对网络性能的影响。
要求绘出学习曲线----训练误差与迭代次数的关系曲线。
并将得到的网络对训练样本分类,给出错误率。
采用批处理BP算法重复1)。
比较两者结果。
表1 神经网络用于模式识别数据(X1、X2、X3是样本的特征)2 BP 网络的构建三层前馈神经网络示意图,见图1.图1三层前馈神经网络①网络初始化,用一组随机数对网络赋初始权值,设置学习步长η、允许误差ε、网络结构(即网络层数L 和每层节点数n l );②为网络提供一组学习样本; ③对每个学习样本p 循环a .逐层正向计算网络各节点的输入和输出;b .计算第p 个样本的输出的误差Ep 和网络的总误差E ;c .当E 小于允许误差ε或者达到指定的迭代次数时,学习过程结束,否则,进行误差反向传播。
d .反向逐层计算网络各节点误差)(l jp δ如果l f 取为S 型函数,即xl e x f -+=11)(,则 对于输出层))(1()()()()(l jp jdp l jp l jp l jp O y O O --=δ 对于隐含层∑+-=)1()()()()()1(l kj l jp l jp l jp l jp w O O δδe .修正网络连接权值)1()()()1(-+=+l ip l jp ij ij O k W k W ηδ式中,k 为学习次数,η为学习因子。
η取值越大,每次权值的改变越剧烈,可能导致学习过程振荡,因此,为了使学习因子的取值足够大,又不至产生振荡,通常在权值修正公式中加入一个附加动量法。
模式识别方法二实验报告
《模式识别》大作业人脸识别方法二---- 基于PCA 和FLD 的人脸识别的几何分类器(修改稿)一、 理论知识1、fisher 概念引出在应用统计方法解决模式识别问题时,为了解决“维数灾难”的问题,压缩特征空间的维数非常必要。
fisher 方法实际上涉及到维数压缩的问题。
fisher 分类器是一种几何分类器, 包括线性分类器和非线性分类器。
线性分类器有:感知器算法、增量校正算法、LMSE 分类算法、Fisher 分类。
若把多维特征空间的点投影到一条直线上,就能把特征空间压缩成一维。
那么关键就是找到这条直线的方向,找得好,分得好,找不好,就混在一起。
因此fisher 方法目标就是找到这个最好的直线方向以及如何实现向最好方向投影的变换。
这个投影变换恰是我们所寻求的解向量*W ,这是fisher 算法的基本问题。
样品训练集以及待测样品的特征数目为n 。
为了找到最佳投影方向,需要计算出各类均值、样品类内离散度矩阵i S 和总类间离散度矩阵w S 、样品类间离散度矩阵b S ,根据Fisher 准则,找到最佳投影准则,将训练集内所有样品进行投影,投影到一维Y 空间,由于Y 空间是一维的,则需要求出Y 空间的划分边界点,找到边界点后,就可以对待测样品进行进行一维Y 空间的投影,判断它的投影点与分界点的关系,将其归类。
Fisher 法的核心为二字:投影。
二、 实现方法1、 一维实现方法(1) 计算给类样品均值向量i m ,i m 是各个类的均值,i N 是i ω类的样品个数。
11,2,...,ii X im X i nN ω∈==∑(2) 计算样品类内离散度矩阵iS 和总类间离散度矩阵wS1()()1,2,...,i Ti i i X w ii S X m X m i nS Sω∈==--==∑∑(3) 计算样品类间离散度矩阵b S1212()()Tb S m m m m =--(4) 求向量*W我们希望投影后,在一维Y 空间各类样品尽可能地分开,也就是说我们希望两类样品均值之差(12m m -)越大越好,同时希望各类样品内部尽量密集,即希望类内离散度越小越好,因此,我们可以定义Fisher 准则函数:()Tb F Tw W S W J W W S W=使得()F J W 取得最大值的*W 为 *112()w WS m m -=-(5) 将训练集内所有样品进行投影*()Ty W X =(6) 计算在投影空间上的分割阈值0y在一维Y 空间,各类样品均值i m为 11,2,...,ii y imy i n N ω∈==∑样品类内离散度矩阵2i s和总类间离散度矩阵w s 22()ii iy sy mω∈=-∑21w ii ss==∑【注】【阈值0y 的选取可以由不同的方案: 较常见的一种是1122012N m N m y N N +=+另一种是121201ln(()/())22m m P P y N N ωω+=++- 】(7) 对于给定的X ,计算出它在*W 上的投影y (8) 根据决策规则分类0102y y X y y X ωω>⇒∈⎧⎨<⇒∈⎩2、程序中算法的应用Fisher 线性判别方法(FLD )是在Fisher 鉴别准则函数取极值的情况下,求得一个最佳判别方向,然后从高位特征向量投影到该最佳鉴别方向,构成一个一维的判别特征空间将Fisher 线性判别推广到C-1个判决函数下,即从N 维空间向C-1维空间作相应的投影。
模式识别实验报告
模式识别实验报告关键信息项:1、实验目的2、实验方法3、实验数据4、实验结果5、结果分析6、误差分析7、改进措施8、结论1、实验目的11 阐述进行模式识别实验的总体目标和期望达成的结果。
111 明确实验旨在解决的具体问题或挑战。
112 说明实验对于相关领域研究或实际应用的意义。
2、实验方法21 描述所采用的模式识别算法和技术。
211 解释选择这些方法的原因和依据。
212 详细说明实验的设计和流程,包括数据采集、预处理、特征提取、模型训练和测试等环节。
3、实验数据31 介绍实验所使用的数据来源和类型。
311 说明数据的规模和特征。
312 阐述对数据进行的预处理操作,如清洗、归一化等。
4、实验结果41 呈现实验得到的主要结果,包括准确率、召回率、F1 值等性能指标。
411 展示模型在不同数据集或测试条件下的表现。
412 提供可视化的结果,如图表、图像等,以便更直观地理解实验效果。
5、结果分析51 对实验结果进行深入分析和讨论。
511 比较不同实验条件下的结果差异,并解释其原因。
512 分析模型的优点和局限性,探讨可能的改进方向。
6、误差分析61 研究实验中出现的误差和错误分类情况。
611 分析误差产生的原因,如数据噪声、特征不充分、模型复杂度不足等。
612 提出减少误差的方法和建议。
7、改进措施71 根据实验结果和分析,提出针对模型和实验方法的改进措施。
711 描述如何优化特征提取、调整模型参数、增加训练数据等。
712 预测改进后的可能效果和潜在影响。
8、结论81 总结实验的主要发现和成果。
811 强调实验对于模式识别领域的贡献和价值。
812 对未来的研究方向和进一步工作提出展望。
在整个实验报告协议中,应确保各项内容的准确性、完整性和逻辑性,以便为模式识别研究提供有价值的参考和借鉴。
模式识别实验【范本模板】
《模式识别》实验报告班级:电子信息科学与技术13级02 班姓名:学号:指导老师:成绩:通信与信息工程学院二〇一六年实验一 最大最小距离算法一、实验内容1. 熟悉最大最小距离算法,并能够用程序写出。
2. 利用最大最小距离算法寻找到聚类中心,并将模式样本划分到各聚类中心对应的类别中.二、实验原理N 个待分类的模式样本{}N X X X , 21,,分别分类到聚类中心{}N Z Z Z , 21,对应的类别之中.最大最小距离算法描述:(1)任选一个模式样本作为第一聚类中心1Z 。
(2)选择离1Z 距离最远的模式样本作为第二聚类中心2Z 。
(3)逐个计算每个模式样本与已确定的所有聚类中心之间的距离,并选出其中的最小距离.(4)在所有最小距离中选出一个最大的距离,如果该最大值达到了21Z Z -的一定分数比值以上,则将产生最大距离的那个模式样本定义为新增的聚类中心,并返回上一步.否则,聚类中心的计算步骤结束。
这里的21Z Z -的一定分数比值就是阈值T ,即有:1021<<-=θθZ Z T(5)重复步骤(3)和步骤(4),直到没有新的聚类中心出现为止。
在这个过程中,当有k 个聚类中心{}N Z Z Z , 21,时,分别计算每个模式样本与所有聚类中心距离中的最小距离值,寻找到N 个最小距离中的最大距离并进行判别,结果大于阈值T 是,1+k Z 存在,并取为产生最大值的相应模式向量;否则,停止寻找聚类中心。
(6)寻找聚类中心的运算结束后,将模式样本{}N i X i ,2,1, =按最近距离划分到相应的聚类中心所代表的类别之中。
三、实验结果及分析该实验的问题是书上课后习题2。
1,以下利用的matlab 中的元胞存储10个二维模式样本X {1}=[0;0];X{2}=[1;1];X {3}=[2;2];X{4}=[3;7];X{5}=[3;6]; X{6}=[4;6];X{7}=[5;7];X{8}=[6;3];X{9}=[7;3];X{10}=[7;4];利用最大最小距离算法,matlab 运行可以求得从matlab 运行结果可以看出,聚类中心为971,,X X X ,以1X 为聚类中心的点有321,,X X X ,以7X 为聚类中心的点有7654,,,X X X X ,以9X 为聚类中心的有1098,,X X X 。
模式识别_实验报告
1. 理解模式识别的基本概念和原理。
2. 掌握常用的模式识别算法,如K-均值聚类算法、贝叶斯分类等。
3. 学会使用Python进行模式识别实验,并分析实验结果。
二、实验内容1. K-均值聚类算法2. 贝叶斯分类3. 实验数据分析与结果分析三、实验步骤1. 实验环境搭建- 安装Python编程环境- 安装必要的库,如NumPy、SciPy、Matplotlib等2. K-均值聚类算法实验- 导入数据集- 使用K-均值聚类算法对数据集进行聚类- 绘制聚类结果图3. 贝叶斯分类实验- 导入数据集- 使用贝叶斯分类算法对数据集进行分类- 绘制分类结果图4. 实验数据分析与结果分析- 对实验结果进行描述和分析- 比较不同算法的性能1. K-均值聚类算法实验数据- 数据集:鸢尾花数据集(Iris Dataset)- 特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度- 类别:三种鸢尾花(Iris-setosa、Iris-versicolor、Iris-virginica)2. 贝叶斯分类实验数据- 数据集:鸢尾花数据集(Iris Dataset)- 特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度- 类别:三种鸢尾花(Iris-setosa、Iris-versicolor、Iris-virginica)五、实验结果与分析1. K-均值聚类算法实验结果- 使用K-均值聚类算法对鸢尾花数据集进行聚类,得到3个类别,与真实类别一致。
- 聚类结果图显示,K-均值聚类算法能够较好地将鸢尾花数据集分为3个类别。
2. 贝叶斯分类实验结果- 使用贝叶斯分类算法对鸢尾花数据集进行分类,得到准确率为97.5%。
- 分类结果图显示,贝叶斯分类算法能够较好地对鸢尾花数据集进行分类。
3. 实验数据分析与结果分析- K-均值聚类算法和贝叶斯分类算法在鸢尾花数据集上均取得了较好的实验结果。
- K-均值聚类算法能够较好地将数据集分为3个类别,而贝叶斯分类算法能够较好地对数据集进行分类。
模式识别实验报告
二、实验步骤 前提条件: 只考虑第三种情况:如果 di(x) >dj(x) 任意 j≠ i ,则判 x∈ωi 。
○1 、赋初值,分别给 c 个权矢量 wi(1)(i=1,2,…c)赋任意的初
值,选择正常数ρ ,置步数 k=1;
○2 、输入符号未规范化的增广训练模式 xk, xk∈{x1, x2… xN} ,
二、实验步骤
○1 、给出 n 个混合样本,令 I=1,表示迭代运算次数,选取 c
个初始聚合中心 ,j=1,2,…,c;
○2 、 计 算 每 个 样 本 与 聚 合 中 心 的 距 离
,
。
若
, ,则
。
○3 、 计 算 c 个 新 的 聚 合 中 心 :
,
。
○4 、判断:若
,
,则 I=I+1,返回
第二步 b 处,否则结束。 三、程序设计
聚类没有影响。但当 C=2 时,该类别属于正确分类。 而类别数目大于 2 时,初始聚合中心对聚类的影响非常大,仿真
结果多样化,不能作为分类标准。 2、考虑类别数目对聚类的影响: 当类别数目变化时,结果也随之出现变化。 3、总结 综上可知,只有预先分析过样本,确定合适的类别数目,才能对
样本进行正确分类,而初始聚合中心对其没有影响。
8
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
初始聚合中心为(0,0),(2,2),(5,5),(7,7),(9,9)
K-均 值 聚 类 算 法 : 类 别 数 目 c=5 9
8
7
6
5
4
模式识别实验报告一二.doc
信息与通信工程学院模式识别实验报告班级:姓名:学号:日期:2011年12月实验一、Bayes 分类器设计一、实验目的:1.对模式识别有一个初步的理解2.能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识3.理解二类分类器的设计原理二、实验条件:matlab 软件三、实验原理:最小风险贝叶斯决策可按下列步骤进行: 1)在已知)(i P ω,)(i X P ω,i=1,…,c 及给出待识别的X 的情况下,根据贝叶斯公式计算出后验概率:∑==cj iii i i P X P P X P X P 1)()()()()(ωωωωω j=1,…,x2)利用计算出的后验概率及决策表,按下面的公式计算出采取ia ,i=1,…,a 的条件风险∑==cj j jii X P a X a R 1)(),()(ωωλ,i=1,2,…,a3)对(2)中得到的a 个条件风险值)(X a R i ,i=1,…,a 进行比较,找出使其条件风险最小的决策ka ,即()()1,min k i i aR a x R a x ==则ka 就是最小风险贝叶斯决策。
四、实验内容假定某个局部区域细胞识别中正常(1ω)和非正常(2ω)两类先验概率分别为 正常状态:P (1ω)=0.9; 异常状态:P (2ω)=0.1。
现有一系列待观察的细胞,其观察值为x :-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682 -1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知先验概率是的曲线如下图:)|(1ωx p )|(2ωx p 类条件概率分布正态分布分别为(-2,0.25)(2,4)试对观察的结果进行分类。
模式识别课程实验报告
模式识别课程实验报告学院专业班级姓名学号指导教师提交日期1 Data PreprocessingThe provide dataset includes a training set with 3605 positive samples and 10055 negative samples, and a test set with 2043 positive samples and 4832 negative samples. A 2330-dimensional Haar-like feature was extracted for each sample. For high dimensional data, we keep the computation manageable by sampling , feature selection, and dimension reduction.1.1 SamplingIn order to make the samples evenly distributed, we calculate the ratio of negative samples and positive samples int test set. And then randomly select the same ratio of negative samples in training set. After that We use different ratios of negative and positive samples to train the classifier for better training speed.1.2 Feature SelectionUnivariate feature selection can test each feature, measure the relationship between the feature and the response variable so as to remove unimportant feature variables. In the experiment, we use the method sklearn.feature_selection.SelectKBest to implement feature selection. We use chi2 which is chi-squared stats of non-negative features for classification tasks to rank features, and finally we choose 100 features ranked in the top 100.2 Logistic regressionIn the experiment, we choose the logistic regression model, which is widely used in real-world scenarios. The main consideration in our work is based on the binary classification logic regression model.2.1 IntroductionA logistic regression is a discriminant-based approach that assumes that instances of a class are linearly separable. It can obtain the final prediction model by directly estimating the parameters of the discriminant. The logistic regression model does not model class conditional density, but rather models the class condition ratio.2.2 processThe next step is how to obtain the best evaluation parameters, making the training of the LR model can get the best classification effect. This process can also be seen as a search process, that is, in an LR model of the solution space, how to find a design with our LR model most match the solution. In order to achieve the best available LR model, we need to design a search strategy.The intuitive idea is to evaluate the predictive model by judging the degree of matching between the results of the model and the true value. In the field of machine learning, the use of loss function or cost function to calculate the forecast. For the classification, logistic regression uses the Sigmoid curve to greatly reduce the weight of the points that are far from the classification plane through the nonlinear mapping, which relatively increases the weight of the data points which is most relevant to the classification.2.3 Sigmoid functionWe should find a function which can separate two in the two classes binary classification problem. The ideal function is called step function. In this we use the sigmoid function.()z e z -+=11σWhen we increase the value of x, the sigmoid will approach 1, and when we decrease the value of x, the sigmoid will gradually approaches 0. The sigmoid looks like a step function On a large enough scale.2.4 gradient descenti n i i T i x x y L ∑=+--=∂∂-=1t t1t ))(()(θσαθθθαθθThe parameter α called learning rate, in simple terms is how far each step. this parameter is very critical. parameter σis sigmoid function that we introduce in 2.3.3 Train classifierWe use the gradient descent algorithm to train the classifier. Gradient descent is a method of finding the local optimal solution of a function using the first order gradient information. In optimized gradient rise algorithm, each step along the gradient negative direction. The implementation code is as follows:# calculate the sigmoid functiondef sigmoid(inX):return 1.0 / (1 + exp(-inX))#train a logistic regressiondef trainLogisticRegression(train_x, train_y, opts):numSamples, numFeatures = shape(train_x)alpha = opts['alpha'];maxIter = opts['maxIter']weights = ones((numFeatures, 1))# optimize through gradient descent algorilthmfor k in range(maxIter):if opts['optimizeType'] == 'gradDescent': # gradient descent algorilthm output = sigmoid(train_x * weights)error = train_y - outputweights = weights + alpha * train_x.transpose() * error return weightsIn the above program, we repeat the following steps until the convergence:(1) Calculate the gradient of the entire data set(2) Use alpha x gradient to update the regression coefficientsWhere alpha is the step size, maxIter is the number of iterations.4 evaluate classifier4.1 optimizationTo find out when the classifier performs best, I do many experiments. The three main experiments are listed below.First.I use two matrix types of data to train a logistic regression model using some optional optimize algorithm, then use some optimization operation include alpha and maximum number of iterations. These operations are mainly implemented by this function trainLogisticRegression that requires three parameters train_x, train_y, opts, of which two parameters are the matrix type of training data set, the last parameter is some optimization operations, including the number of steps and the number of iterations. And the correct rate as follows:When we fixed the alpha, change the number of iterations, we can get the results as shown below:Red: alpha = 0.001Yellow: alpha = 0.003Blue: alpha = 0.006Black: alpha = 0.01Green: alpha = 0.03Magenta: alpha = 0.3This line chart shows that if the iterations too small, the classifier will perform bad. As the number of iterations increases, the accuracy will increase. And we can konw iterations of 800 seems to be better. The value of alpha influences the result slightly. If the iterations is larger then 800, the accuracy of the classifier will stabilize and the effect of the step on it can be ignored.Second.When we fixed the iterations, change the alpha, we can get the results as shown below:This line chart shows when the number of iterations is larger 800, the accuracy is relatively stable, with the increase of the alpha, the smaller the change. And when the number of iterations is small, for example, the number of times is 100, the accuracy is rather strange, the accuracy will increase with the increase of alpha. We can know that when the number of iterations is small, even if the alpha is very small, its accuracy is not high. The number of iterations and the alpha is important for the accuracy of the logical regression model training.Third.The result of the above experiment is to load all the data to train the classifier, but there are 3605 pos training data but 10055 neg training data. So I am curious about whether can I use less neg training data to train the classifier for better training speed.I use the test_differentNeg.py to does this experiment:Red: iterations = 100 Yellow: iterations = 300 Blue: iterations = 800 Black: iterations = 1000The line chart shows that the smaller the negative sample, the lower the accuracy. However, as the number of negative samples increases, the accuracy of the classifier.I found that when the number of negative samples is larger 6000, the accuracy was reduced and then began to increase.4.2 cross-validationWe divided the data set into 10 copies on average,9 copies as a training set and 1 copies as a test set.we can get the results as shown below:Red: alpha = 0.001Yellow: alpha = 0.003Blue: alpha = 0.006Black: alpha = 0.01Green: alpha = 0.03Magenta: alpha = 0.3This figure shows that if the iterations too small, the classifier will perform bad. Asthe number of iterations increases, the accuracy will increase. And we can konw iterations of 1000 seems to be better. The value of alpha influences the result slightly.If the iterations is larger then 1000, the accuracy of the classifier will achieve 84% and stable. And the effect of the step on it can be ignored.5 ConclusionIn this experiment, We notice that no matter before or after algorithm optimization,the test accuracy does not achieve our expectation. At first the accuracy of LR can reach 80%. After optimization, the accuracy of LR can reach 88%. I think there are several possible reasons below:(1) The training set is too small for only about 700 samples for active training sets, while the negative training set has only 800 samples;(2) We did not use a more appropriate method to filter the samples;(3) The method of selecting features is not good enough because it is too simple;(4) Dimension reduction does not be implemented, so that The high dimension of features increases the computation complexity and affects the accuracy;(5) The test sets may come from different kinds of video or images which are taken from different areas.(6) The number of iterations is set too small or the alpha is set too small or too large. These questions above will be improved in future work.In this project, we use Logistic regression to solve the binary classification problem. Before the experiment, we studied and prepared the algorithm of the LR model and reviewed other machine learning models studied in the pattern recognition course. In this process, we use python with a powerful machine learning library to implement, continue to solve the various problems, and optimize the algorithm to make the classifier perform better. At the same time, we also collaborate and learn from each other. Although the project takes us a lot of time, We have consolidated the theoretical knowledge and have fun in practice.。
模式识别技术实验报告
模式识别技术实验报告本实验旨在探讨模式识别技术在计算机视觉领域的应用与效果。
模式识别技术是一种人工智能技术,通过对数据进行分析、学习和推理,识别其中的模式并进行分类、识别或预测。
在本实验中,我们将利用机器学习算法和图像处理技术,对图像数据进行模式识别实验,以验证该技术的准确度和可靠性。
实验一:图像分类首先,我们将使用卷积神经网络(CNN)模型对手写数字数据集进行分类实验。
该数据集包含大量手写数字图片,我们将训练CNN模型来识别并分类这些数字。
通过调整模型的参数和训练次数,我们可以得到不同准确度的模型,并通过混淆矩阵等评估指标来评估模型的性能和效果。
实验二:人脸识别其次,我们将利用人脸数据集进行人脸识别实验。
通过特征提取和比对算法,我们可以识别不同人脸之间的相似性和差异性。
在实验过程中,我们将测试不同算法在人脸识别任务上的表现,比较它们的准确度和速度,探讨模式识别技术在人脸识别领域的应用潜力。
实验三:异常检测最后,我们将进行异常检测实验,使用模式识别技术来识别图像数据中的异常点或异常模式。
通过训练异常检测模型,我们可以发现数据中的异常情况,从而做出相应的处理和调整。
本实验将验证模式识别技术在异常检测领域的有效性和实用性。
结论通过以上实验,我们对模式识别技术在计算机视觉领域的应用进行了初步探索和验证。
模式识别技术在图像分类、人脸识别和异常检测等任务中展现出了良好的性能和准确度,具有广泛的应用前景和发展空间。
未来,我们将进一步深入研究和实践,探索模式识别技术在更多领域的应用,推动人工智能技术的发展和创新。
【字数:414】。
模式识别实验报告哈工程
一、实验背景随着计算机科学和信息技术的飞速发展,模式识别技术在各个领域得到了广泛应用。
模式识别是指通过对数据的分析、处理和分类,从大量数据中提取有用信息,从而实现对未知模式的识别。
本实验旨在通过实践操作,加深对模式识别基本概念、算法和方法的理解,并掌握其应用。
二、实验目的1. 理解模式识别的基本概念、算法和方法;2. 掌握常用的模式识别算法,如K-均值聚类、决策树、支持向量机等;3. 熟悉模式识别在实际问题中的应用,提高解决实际问题的能力。
三、实验内容本次实验共分为三个部分:K-均值聚类算法、决策树和神经网络。
1. K-均值聚类算法(1)实验目的通过实验加深对K-均值聚类算法的理解,掌握其基本原理和实现方法。
(2)实验步骤① 准备实验数据:选取一组二维数据,包括100个样本,每个样本包含两个特征值;② 初始化聚类中心:随机选择K个样本作为初始聚类中心;③ 计算每个样本到聚类中心的距离,并将其分配到最近的聚类中心;④ 更新聚类中心:计算每个聚类中所有样本的均值,作为新的聚类中心;⑤ 重复步骤③和④,直到聚类中心不再变化。
(3)实验结果通过实验,可以得到K个聚类中心,每个样本被分配到最近的聚类中心。
通过可视化聚类结果,可以直观地看到数据被分成了K个类别。
2. 决策树(1)实验目的通过实验加深对决策树的理解,掌握其基本原理和实现方法。
(2)实验步骤① 准备实验数据:选取一组具有分类标签的二维数据,包括100个样本,每个样本包含两个特征值;② 选择最优分割特征:根据信息增益或基尼指数等指标,选择最优分割特征;③ 划分数据集:根据最优分割特征,将数据集划分为两个子集;④ 递归地执行步骤②和③,直到满足停止条件(如达到最大深度、叶节点中样本数小于阈值等);⑤ 构建决策树:根据递归分割的结果,构建决策树。
(3)实验结果通过实验,可以得到一棵决策树,可以用于对新样本进行分类。
3. 神经网络(1)实验目的通过实验加深对神经网络的理解,掌握其基本原理和实现方法。
模式识别实验报告2_贝叶斯分类实验_实验报告(例)
end
plot(1:23,t2,'b','LineWidth',3);
%下面是bayesian_fun函数
functionf=bayesian_fun(t2,t1,W1,W2,w1,w2,w10,w20)
x=[t1,t2]';
f=x'*W1*x+w1'*x+w10- (x'*W2*x+w2'*x+w20);
%f=bayesian_fun.m
function f=bayesian_fun(t2,t1,W1,W2,w1,w2,w10,w20)
x=[t1,t2]';
f=x'*W1*x+w1'*x+w10 - (x'*W2*x+w2'*x+w20);
w10=-1/2 * u1'*S1tinv*u1 - 1/2 *log(det(S1t)) + log(pw1);
w20=-1/2 * u2'*S2tinv*u2 - 1/2 *log(det(S2t)) + log(pw2);
t2=[]
fort1=1:23
tt2 = fsolve('bayesian_fun',5,[],t1,W1,W2,w1,w2,w10,w20);
'LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0 1 0],...
'MarkerSize',10)
模式识别实验
《模式识别》实验报告班电子信息科学与技术13级02 班级:姓名:学号:指导老师:成绩:通信与信息工程学院二〇一六年实验一 最大最小距离算法一、实验内容1. 熟悉最大最小距离算法,并能够用程序写出。
2. 利用最大最小距离算法寻找到聚类中心,并将模式样本划分到各聚类中心对应的类别中。
二、实验原理N 个待分类的模式样本{}N X X X , 21,,分别分类到聚类中心{}N Z Z Z , 21,对应的类别之中。
最大最小距离算法描述:(1)任选一个模式样本作为第一聚类中心1Z 。
(2)选择离1Z 距离最远的模式样本作为第二聚类中心2Z 。
(3)逐个计算每个模式样本与已确定的所有聚类中心之间的距离,并选出其中的最小距离。
(4)在所有最小距离中选出一个最大的距离,如果该最大值达到了21Z Z -的一定分数比值以上,则将产生最大距离的那个模式样本定义为新增的聚类中心,并返回上一步。
否则,聚类中心的计算步骤结束。
这里的21Z Z -的一定分数比值就是阈值T ,即有:1021<<-=θθZ Z T(5)重复步骤(3)和步骤(4),直到没有新的聚类中心出现为止。
在这个过程中,当有k 个聚类中心{}N Z Z Z , 21,时,分别计算每个模式样本与所有聚类中心距离中的最小距离值,寻找到N 个最小距离中的最大距离并进行判别,结果大于阈值T 是,1+k Z 存在,并取为产生最大值的相应模式向量;否则,停止寻找聚类中心。
(6)寻找聚类中心的运算结束后,将模式样本{}N i X i ,2,1, =按最近距离划分到相应的聚类中心所代表的类别之中。
三、实验结果及分析该实验的问题是书上课后习题2.1,以下利用的matlab 中的元胞存储10个二维模式样本X{1}=[0;0];X{2}=[1;1];X{3}=[2;2];X{4}=[3;7];X{5}=[3;6]; X{6}=[4;6];X{7}=[5;7];X{8}=[6;3];X{9}=[7;3];X{10}=[7;4]; 利用最大最小距离算法,matlab 运行可以求得从matlab 运行结果可以看出,聚类中心为971,,X X X ,以1X 为聚类中心的点有321,,X X X ,以7X 为聚类中心的点有7654,,,X X X X ,以9X 为聚类中心的有1098,,X X X 。
模式识别实验报告
模式识别实验报告实验一、线性分类器的设计与实现1. 实验目的:掌握模式识别的基本概念,理解线性分类器的算法原理。
2. 实验要求:(1)学习和掌握线性分类器的算法原理;(2)在MATLAB 环境下编程实现三种线性分类器并能对提供的数据进行分类;(3)对实现的线性分类器性能进行简单的评估(例如算法适用条件,算法效率及复杂度等)。
注:三种线性分类器为,单样本感知器算法、批处理感知器算法、最小均方差算法批处理感知器算法算法原理:感知器准则函数为J p a=(−a t y)y∈Y,这里的Y(a)是被a错分的样本集,如果没有样本被分错,Y就是空的,这时我们定义J p a为0.因为当a t y≤0时,J p a是非负的,只有当a是解向量时才为0,也即a在判决边界上。
从几何上可知,J p a是与错分样本到判决边界距离之和成正比的。
由于J p梯度上的第j个分量为∂J p/ða j,也即∇J p=(−y)y∈Y。
梯度下降的迭代公式为a k+1=a k+η(k)yy∈Y k,这里Y k为被a k错分的样本集。
算法伪代码如下:begin initialize a,η(∙),准则θ,k=0do k=k+1a=a+η(k)yy∈Y k|<θuntil | ηk yy∈Y kreturn aend因此寻找解向量的批处理感知器算法可以简单地叙述为:下一个权向量等于被前一个权向量错分的样本的和乘以一个系数。
每次修正权值向量时都需要计算成批的样本。
算法源代码:unction [solution iter] = BatchPerceptron(Y,tau)%% solution = BatchPerceptron(Y,tau) 固定增量批处理感知器算法实现%% 输入:规范化样本矩阵Y,裕量tau% 输出:解向量solution,迭代次数iter[y_k d] = size(Y);a = zeros(1,d);k_max = 10000; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% k=0;y_temp=zeros(d,1);while k<k_maxc=0;for i=1:1:y_kif Y(i,:)*a'<=tauy_temp=y_temp+Y(i,:)';c=c+1;endendif c==0break;enda=a+y_temp';k=k+1;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %k = k_max;solution = a;iter = k-1;运行结果及分析:数据1的分类结果如下由以上运行结果可以知道,迭代17次之后,算法得到收敛,解出的权向量序列将样本很好的划分。
哈尔滨工程大学模式识别实验报告
的最优阈值, 就是指能使误分割概率最小的分割阈值。 图像的直方图可以看成是对灰度值概
...
率分布密度函数的一种近似。 如一幅图像中只包含目标和背景两类灰度区域, 那么直方图所
代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。
如果
概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。
g1( x, y) 和
g2 (x, y) 可表示为
g1( x, y) f1( x, y) n( x, y)
g2( x, y) f2 (x, y) n( x, y)
迭代过程中,会多次地对 g1(x, y) 和 g2 ( x, y) 求均值,则
E{ g1( x, y)} E{ f1( x, y) n( x, y)} E{ f1( x, y)}
况下直方图呈现较明显的双峰。 类似地, 如果图像中包含多个单峰灰度目标, 则直方图可能
呈现较明显的多峰。
上述图像模型只是理想情况, 有时图像中目标和背景的灰度值有部分交错。 这时如用全
局阈值进行分割必然会产生一定的误差。 分割误差包括将目标分为背景和将背景分为目标两
大类。 实际应用中应尽量减小错误分割的概率, 常用的一种方法为选取最优阈值。 这里所谓
2015 年 4 月
...
实验 1 图像的贝叶斯分类
1.1 实验目的
将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图 像分类的基本方法,通过实验加深对基本概念的理解。
1.2 实验仪器设备及软件
HP D538、 MATLAB
1.3 实验原理
1.3.1 基本原理
阈值化分割算法是计算机视觉中的常用算法, 对灰度图象的阈值分割就是先确定一个处
模式识别实验报告_3
模式识别实验报告_3第⼀次实验实验⽬的:1.学习使⽤ENVI2.会⽤MATLAB读⼊遥感数据并进⾏处理实验内容:⼀学习使⽤ENVI1.使⽤ENVI打开遥感图像(任选3个波段合成假彩⾊图像,保存写⼊报告)2.会查看图像的头⽂件(保存或者copy⾄报告)3.会看地物的光谱曲线(保存或者copy⾄报告)4.进⾏数据信息统计(保存或者copy⾄报告)5.设置ROI,对每类地物⾃⼰添加标记数据,并保存为ROI⽂件和图像⽂件(CMap贴到报告中)。
6.使⽤⾃⼰设置的ROI进⾏图像分类(ENVI中的两种有监督分类算法)(分类算法名称和分类结果写⼊报告)⼆MATLAB处理遥感数据(提交代码和结果)7.⽤MATLAB读⼊遥感数据(zy3和DC两个数据)8.⽤MATLAB读⼊遥感图像中ROI中的数据(包括数据和标签)9.把图像数据m*n*L(其中m表⽰⾏数,n表⽰列数,L表⽰波段数),重新排列为N*L的⼆维矩阵(其中N=m*n),其中N表⽰所有的数据点数量m*n。
(提⽰,⽤reshape函数,可以help查看这个函数的⽤法)10.计算每⼀类数据的均值(平均光谱),并把所有类别的平均光谱画出来(plot)(类似下⾯的效果)。
11.画出zy3数据中“农作物类别”的数据点(⾃⼰ROI标记的这个类别的点)在每个波段的直⽅图(matlab函数:nbins=50;hist(Xi,nbins),其中Xi表⽰这类数据在第i波段的数值)。
计算出这个类别数据的协⽅差矩阵,并画出(figure,imagesc(C),colorbar)。
1.打开遥感图像如下:2.查看图像头⽂件过程如下:3.地物的光谱曲线如下:4.数据信息统计如下:(注:由于保存的txt⽂件中的数据信息过长,所以采⽤截图的⽅式只显⽰了出⼀部分数据信息)5.设置ROI,对每类地物⾃⼰添加标记数据,CMap如下:6.使⽤⾃⼰设置的ROI进⾏图像分类(使⽤⽀持向量机算法和最⼩距离算法),⽀持向量机算法分类结果如下:最⼩距离算法分类结果如下:对⽐两种算法的分类结果可以看出⽀持分量机算法分类结果⽐最⼩距离算法分类结果好⼀些。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过实验发现,随着学习速率的增加,迭代次数现减少后增加,错误率也 是同样的变化趋势。推荐本报告的学习速率取值在 0.1 至 0.2 之间。 3.4 学习误差的选取 学习误差越小,样本训练的精度越高,但是迭代的次数与训练的时间会相 应的增加。实验参数见表: 表 4 学习误差实验参数表
1 ,则 1 e x
l) l) l) l) O (jp (1 O (jp )( y jdp O (jp ) 对于输出层 (jp
l) l) l) l ) ( l 1) 对于隐含层 (jp O (jp (1 O (jp ) (jp wkj
e .修正网络连接权值 l ) ( l 1) Wij (k 1) Wij (k ) (jp Oip 式中, k 为学习次数, 为学习因子。 取值越大,每次权值的改变越 剧烈,可能导致学习过程振荡,因此,为了使学习因子的取值足够大,又不 至产生振荡,通常在权值修正公式中加入一个附加动量法。
4 BP 网络拟合结果
通过上一章的参数设置训练,逐步找到了适合本报告的参数值。在选用上 述参数值的情况下,对于实验的结果进行分析。
图 3 实验结果 通过训练的网络对于实验结果进行预测,结果如上图所示,预测类型与 真实类型进行了 100%的匹配,训练结果比较理想。
图 4 均方误差 上图为均方误差图,随着迭代次数的增加,均方误差逐渐减小别实验报告
本次报告选做第一个实验,实验报告如下:
1 实验要求
构造 1 个三层神经网络,输出节点数 1 个,即多输入单输出型结构,训练 它用来将表中的第一类样本和第二类样本分开。 采用逐个样本修正的 BP 算法,设隐层节点数为 4,学习效率η=0.1,惯性 系数α=0.0;训练控制总的迭代次数 N=100000;训练控制误差:e=0.3。在采用 0~1 内均匀分布随机数初始化所有权值。 对 1)分析学习效率η,惯性系数α;总的迭代次数 N;训练控制误差 e、 初始化权值以及隐层节点数对网络性能的影响。要求绘出学习曲线----训练误差 与迭代次数的关系曲线。并将得到的网络对训练样本分类,给出错误率。 采用批处理 BP 算法重复 1)。比较两者结果。 表 1 神经网络用于模式识别数据(X1、X2、X3 是样本的特征) 样 本 1 2 3 4 5 6 7 8 X1 1.58 0.67 1.04 -1.49 -0.41 1.39 1.20 -0.92 第一类 X2 2.32 1.58 1.01 2.18 1.21 3.16 1.40 1.44 X3 -5.8 -4.78 -3.63 -3.39 -4.73 2.87 -1.89 -3.22 X1 0.21 0.37 0.18 -0.24 -1.18 0.74 -0.38 0.02 第二类 X2 0.03 0.28 1.22 0.93 0.39 0.96 1.94 0.72 X3 -2.21 -1.8 0.16 -1.01 -0.39 -1.16 -0.48 -0.17
inputWeights 为输入层与隐含层的连接权值的初始化;inputbias 为隐含层的 阈值;layerWeights 为隐含层到输出层的连接权值;layerbias 为输出层阈值的设 置。 通过对于权值初始化的改变,观察网络的性能,具体见表 2: 表 2 权值实验参数表
权值范围 迭代次数 迭代时间 错误率 (0,1) 177 1 0 (-1,0) 230 1 5 (0.5,1) 500 2 5 (-1,-0.5) 520 2 5 (0,0.5) 250 0 0 (-0.5,0) 180 1 0
图 5 判别函数 通过将两类数据进行分类,拟合出它的判别函数完成分类器的设计,上 图为具体的判别函数的形式。
5 总结
通过这次实验,学会了如何使用 BP 神经网络解决二分类的问题,对于网 络的参数以及相应的性能进行了探究,深刻的认识了 BP 神经网络的核心思想。 一下是自己的一些见解: (1) 批处理从本质上是在线处理的特例,不过批处理处理能力,迭代速 度更优,在线处理的实际意义更加强大,对不同的问题,选用不同 的方法解决;本次选用批处理进行,因为本次实验不具有在线处理 的特性,得到的效果也不如批处理优越 (2) BP 神经网络从理论上可以解决任意维数的线性分类问题,只要通过 增加隐含层的数量,节点的数目,控制学习误差,速率等参数,就 可以实现这一目标,本次实验由于二分类,没有必要增加隐层的层 数,有些认识上的缺憾。 (3) BP 神经网络作为一种启发式的算法,试图寻找全局最优解,在理论 上仍然有待提高。学习完模式识别这门课,对于聚类与分类的认识, 上升到了一个比较新的台阶,希望今后可以更进一步学习。
在 BP 中希望误差反向传递,有两种误差反向传递的方式:逐个样本与批处 理。在 BP 算法。一种模式是在给神经网络每提供一组学习样本,就计算一次误 差并调整权重系数,这种方法称逐个样本模式.另一种模式是给网络提供所有的 样本数据学习完之后,再计算出误差,进而调整权重系数,这种方法称批处理 模式.这两种模式各有各的特点.Rumelhart 和 McClelland 假定在学习了全部样 榜数据之后才修改权重系数.但是,逐个样本模式在系统辩识和实时控制系统中 显得十分重要,因为实时控制中无法将所有模式学习完之后才进行权重系数调 整.下面给出了两种算法的程序流程图,见图 2. 因为只有两类样本,所以使用 0 代表第一类样本,使用 1 代表第二类样本, 也就是使用 0 和 1 作为输出结果 T。 对应的输出结果 T=[0;0;0;0;0;0;0; 0; 0; 0;1;1;1;1;1;1;1;1;1;1]’; 通过算法流程图,使用计算机语言对于 BP 神经网络进行编程实验。
9 10
0.45 -0.76
1.33 0.84
-4.38 -1.96
0.44 0.46
1.31 1.49
-0.14 0.68
2 BP 网络的构建
三层前馈神经网络示意图,见图 1.
图 1 三层前馈神经网络 ①网络初始化,用一组随机数对网络赋初始权值,设置学习步长 、允 许误差 、网络结构(即网络层数 L 和每层节点数 n l ); ②为网络提供一组学习样本; ③对每个学习样本 p 循环 a .逐层正向计算网络各节点的输入和输出; b .计算第 p 个样本的输出的误差 Ep 和网络的总误差 E ; c .当 E 小于允许误差 或者达到指定的迭代次数时,学习过程结束,否 则,进行误差反向传播。 l) d .反向逐层计算网络各节点误差 (jp 如果 f l 取为 S 型函数,即 f l ( x)
图 2 算法程序图
3 BP 网络参数设置比较
使用 BP 网络中的有动量的梯度下降法对于连接权值与阈值进行调整。在建 立好网络之后,通过控制某些参数不变的情况下,调整某一个参数的变化,去 实验模拟网络的好坏,通过经验的方式找到较好的训练参数,为今后模型的初 始化提供可靠的参数。 3.1 网络评价标准 评价网络设计的好坏,首先是它的精度,其次是它的训练时间。训练时间 包含两层:一层是循环次数,二是每一次循环的时间。本报告选用样本分类的 错误率,迭代的次数与总的迭代时间,对于网络进行必要的评价。 3.2 初始权值的设置 初始权值的选取对于学习是否达到局部最小,是否能够收敛,以及训练的 时间有很大的关系。初始权值的过大与过小,均会影响学习的速度,因此在报 告中选用(0,1)之间随机分布的小数进行设置。具体的设置结果如图所示: inputWeights = 0.5857 0.1742 0.7286 0.5343 inputbias = 0.7770 0.5019 0.4255 0.6112 layerWeights = 0.8558 layerbias = 0.7040 0.6708 0.5236 0.2988 0.2531 0.9171 0.7582 0.8870 0.0688 0.1835 0.7371 0.6967
动量因子 迭代次数 迭代时间(S) 错误率(%) 0 269 1 0 0.1 125 0 5 0.3 231 1 5 0.5 426 1 5 0.7 562 2 5 1 15000 50 40
通过实验可知,惯性系数取值在 0 至 0.3 之间比较合适,较大的时候收 敛较慢,迭代次数与时间都剧烈增加。 3.6 隐层节点数 相对于增加网络隐含层的数量,增加隐含层节点数可以比较容易的提高整 个网络的训练精度,具体参数见表: 表 6 节点数量实验参数表
隐层节点数 迭代次数 迭代时间(S) 错误率(%) 4 200 1 5 5 219 1 0 6 180 1 0 7 97 0 5 8 100 0 0 9 180 1 5
通过实验可知,随着隐含层的节点数的增加,迭代次数变化规律不是很 显著,错误率确实逐渐减小的,本报告最优的节点数目应该是 5 至 6 个。
由实验可知,网络的性能以初始化的权值有很大的关系,初始值的好坏, 直接影响迭代次数与网络的精度。并且可以初步猜想:初始权值的随机性能, 对于网络的结果产生了直接的影响,后面的变量控制之后,网络所得结果也会 出行随机波动的现象。为了产生稳定的结果,后面的操作将初始值进行固定化, 取值在(0,1)之间的随机数。 3.3 学习速率η的选取 学习速率决定每一次循环训练所产生的权值变化量。学习速率高,系统可 能不稳定;过低,训练时间长,不收敛。经验的话,一般取值在 0.01~0.8 之间。 实验参数见表: 表 3 学习速率实验参数表
学习误差 迭代次数 迭代时间(S) 错误率(%)
0.3 4 0 25
0.1 155 1 15
0.05 170 1 0
0.01 1346 1 0
0.005 3827 3 0
0.001 11674 40 0
通过实验可知,学习误差设置在 0.05 到 0.01 之间比较合适,在保证错误率 最小的情况下,可以使得算法的迭代次数与迭代时间最小。 3.5 惯性系数的选取 本报告选用有动量的梯度下降算法对于权值与阈值进行逆向调整,其中 的惯性系数,是将之前的学习经验考虑紧修正过程,实质相当于阻尼项,减小 学习过程的震荡,赶山收敛性,它的取值在(0,1)之间,实验参数交表: 表 5 动量因子实验参数表