模式识别关于男女生身高和体重BP算法.docx

模式识别关于男女生身高和体重BP算法.docx

ID:55414659

大小:396.86 KB

页数:10页

时间:2020-05-12

模式识别关于男女生身高和体重BP算法.docx_第1页
模式识别关于男女生身高和体重BP算法.docx_第2页
模式识别关于男女生身高和体重BP算法.docx_第3页
模式识别关于男女生身高和体重BP算法.docx_第4页
模式识别关于男女生身高和体重BP算法.docx_第5页
模式识别关于男女生身高和体重BP算法.docx_第6页
模式识别关于男女生身高和体重BP算法.docx_第7页
模式识别关于男女生身高和体重BP算法.docx_第8页
模式识别关于男女生身高和体重BP算法.docx_第9页
模式识别关于男女生身高和体重BP算法.docx_第10页
资源描述:

《模式识别关于男女生身高和体重BP算法.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模式识别实验报告(二)学院:专业:学号:姓名:XXXX教师:目录1实验目的12实验内容13实验平台14实验过程与结果分析14.1基于BP神经网络的分类器设计14.2基于SVM的分类器设计44.3基于决策树的分类器设计74.4三种分类器对比85.总结81实验目的通过实际编程操作,实现对课堂上所学习的BP神经网络、SVM支持向量机和决策树这三种方法的应用,加深理解,同时锻炼自己的动手实践能力。2实验内容本次实验提供的样本数据有149个,每个数据提取5个特征,即身高、体重、是否喜欢数学、是否喜欢文学及是否喜欢运动,分别将样本数据用于对BP神经网络分类器、SVM支持向量机和决策树训练,用测

2、试数据测试分类器的效果,采用交叉验证的方式实现对于性能指标的评判。具体要求如下:BP神经网络--自行编写代码完成后向传播算法,采用交叉验证的方式实现对于性能指标的评判(包含SE,SP,ACC和AUC,AUC的计算可以基于平台的软件包);SVM支持向量机--采用平台提供的软件包进行分类器的设计以及测试,尝试不同的核函数设计分类器,采用交叉验证的方式实现对于性能指标的评判;决策树--采用平台提供的软件包进行分类器的设计以及测试,采用交叉验证的方式实现对于性能指标的评判(包含SE,SP,ACC和AUC,AUC的计算基于平台的软件包)。3实验平台专业研究方向为图像处理,用的较多的编程语言为

3、C++,因此此次程序编写用的平台是VisualStudio及opencv,其中的BP神经网络为自己独立编写,SVM支持向量机和决策树通过调用Opencv3.0库中相应的库函数并进行相应的配置进行实现。将Excel中的119个数据作为样本数据,其余30个作为分类器性能的测试数据。4实验过程与结果分析4.1基于BP神经网络的分类器设计BP神经网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。其学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden

4、layer)和输出层(outputlayer)。在独自设计的BP神经中,激励函数采用sigmod函数,输入层节点个数为5,一个隐层并且节点数为5,输出节点数为1个,通过读取excel中相应的特征数据,进行训练,再用测试数据进行测试。如图4-1为所设计的BP类。图4-1BP类的设计源码如图4-1,其中重要的两个函数便是神经网络的训练train和识别函数recognize,具体的源码如图4-2,图4-3,图4-4。其中训练函数包括了前向传播以及后向传播的权值修正,而识别函数只包括了前向传播后输出计算结果。图4-2BP分类器的训练函数一图4-3BP分类器的训练函数二图4-4BP分类器的识

5、别函数输入119个样本数据进行训练后,输入30个测试数据进行测试,测试结果如图4-5所示。通过数据可以看出共30个测试数据,其中有两个正样本被分为负样本,即男生分类成了女生。其中ROC曲线(受试者工作特性曲线)如图4-6,可见该曲线的AUC值为0.96表示分类器的效果是较好的,从敏感性(SE)、特异性(SP)和准确率(ACC)也可以看出分类器的效果还是不错的。图4-5BP测试结果图4-6BP测试结果的ROC曲线4.2基于SVM的分类器设计SVM即支持向量机。SVM的主要思想可以概括为两点:第一是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性

6、不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。通常在线性不可分的情况下,通过核函数进行非线性映射达到线性可分的效果。其中核函数的类型包括线型、多项式型和RBF高斯核等,采用不同的核函数可能造成的分类效果有所区别,在本实验中分别利用三种核函数对测试数据进行测试。SVM调用Opencv3.0中的库函数来实现,Opencv3.0所集成的SVM为libsvm。源码如图4-7。图4-7SVM调用源码由图4-7可以看到,首先对SVM进行了参数设置,接着调用训练函数,接着进行测试数据测试,分别采用高斯核、线型核和SIGMOD核

7、测试结果如图4-8到4-10,所对应的ROC曲线如图4-11到4-13所示。图4-8高斯核分类结果图4-9线型核分类结果图4-10SIGMOD核分类结果图4-11高斯核分类ROC曲线图4-12线型核分类ROC曲线图4-13SIGMOD核分类ROC曲线由上面的图4-8到图4-13可以看出,高斯核出现2个分类错误,线性核出现3个分类错误,而sigmod核未出现分类错误,再结合ROC曲线及AUC值,可以看出对于测试数据,sigmod核函数具有最高的分类效果,可以实现完全的正

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。