machine learning分类方法的详细总结
有导师学习神经网络的分类
广义回归神经网络(GRNN)
1.GRNN结构
GRNN最早是由Specht提出的,是RBF神经网络的一个分支,是一种基于非线性回归理
论的前馈式神经网络模型。
GRNN的结构如图所示,一般由输人层、隐含层和输出层组成。输人层仅将样本
变量送入隐含层,并不参与真正的运算。隐含层的神经元个数等于训练集样本数,该层的权值
函数为欧式距离函数(用|dist表示),其作用为计算网络输人与第一层的权值IW,之间的距
离,b为隐含层的阈值。隐含层的传递函数为径向基函数,通常采用高斯函数作为网络的传
递函数。网络的第三层为线性输出层,其权函数为规范化点积权函数(用nprod表示),计算网
络的向量为n',它的每个元素就是向量a'和权值矩阵LW每行元素的点积再除以向量a'
的各元素之和得到的,并将结果n提供给线性传递函数a=purelin(n'),计算网络输出。
概率神经网络(PNN)
1.PNN结构
PNN是一种前馈型神经网络,由Specht在1989年提出,他采用Parzen 提出的由高斯函
数为基函数来形成联合概率密度分布的估计方法和贝叶斯优化规则,构造了一种概率密度分
类估计和并行处理的神经网络。因此,PNN既具有一般神经网络所具有的特点,又具有很好
的泛化能力及快速学习能力。
PNN的结构如图所示,与GRNN类似,由输人层、隐含层及输出层组成。与
GRNN不同的是,PNN的输出层采用竞争输出代替线性输出,各神经元只依据Parzen方法来
求和估计各类的概率,从而竞争输入模式的响应机会,最后仅有一个神经元竞争获胜,这样获
胜神经元即表示对输人模式的分类。
在数学上,PNN的结构合理性可由Cover定理证明,即对于一个模式问题,在高维数据空
间中可能解决在低维空间不易解决的问题。这就是PNN隐含层神经元较多的原因,即隐含
层空间维数较高。隐含层空间的维数和网络性能有着直接的关系,维数越高,网络的逼近精度
就越高,但带来的负面后果是网络复杂度也随之提高。
题目及代码
植物的分类与识别是植物学研究和农林业生产经营中的重要基础工作,对于区分植物种
类,探索植物间的亲缘关系、阐明植物系统的进化规律具有重要意义。目前常用的植物种类鉴
别方法是利用分类检索表进行鉴定,但该方法花费时间较多,且分类检索表的建立是一件费时
费力的工作,需要投入大量的财力物力。
叶片是植物的重要组成部分,叶子的外轮廓是其主要形态特征。在提取叶子形态特征的
基础上,利用计算机进行辅助分类与识别成为当前的主要研究方向,同时也是研究的热点与
重点。
现采集到150组不同类型鸢尾花(Setosa、Versicolour和Virginica)的4种属性:尊片长
度﹑芎片宽度、花瓣长度和花瓣宽度,样本编号与4种属性的关系如图26–3所示(其中,样本
编号150为Setosa,51100为Versicolour,101~150为Virginica)。从图中大致可以看
出,花瓣长度、花瓣宽度与鸢尾花类型间有较好的线性关系,而芎片长度、雩片宽度与鸢尾花类
型间呈`现出非线性的关系。
现要求:
(1)利用GRNN和PNN分别建立鸢尾花种类识别模型,并对模型的性能进行评价。
(2)利用GRNN和PNN分别建立各个属性及属性组合与鸢尾花种类间的识别模型,并
与(1)中所建模型的性能及运算时间进行对比,从而探求各个属性及属性组合与鸢尾花种类的
相关程度。
% 有导师学习神经网络的分类 -- 鸢尾花种类识别
clear
clc
% 产生训练集/测试集
load iris_data.mat
Ptrain = [];
ttrain = [];
Ptest = [];
ttest = [];
for i = 1:3
tempinput = features((i-1)*50+1:i*50,:);
tempoutput = classes((i-1)*50+1:i*50,:);
n = randperm(50);
Ptrain = [Ptrain tempinput(n(1:40),:)'];
ttrain = [ttrain tempoutput(n(1:40),:)']