模式识别 课件 第5章 非线性判别分析_第1页
模式识别 课件 第5章 非线性判别分析_第2页
模式识别 课件 第5章 非线性判别分析_第3页
模式识别 课件 第5章 非线性判别分析_第4页
模式识别 课件 第5章 非线性判别分析_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章非线性判别分析主要内容5.1近邻法5.2二次判别函数5.3决策树5.4Logistics回归5.5非线性判别分析实例(1)最小距离分类器

5.1近邻法

适用于两类线性可分且类间有明显距离的特殊情况,但从均值点作为类的代表点,用距离作为判别函数的思路很有启发性。最小距离分类器得到的分界面达不到要求(2)分段线性距离分类器5.1近邻法.:正常血压+:高血压数据5.1近邻法将高血压数据分为3个子类,各子类均值点作为该子类的代表点,距离作为判别函数,设计多类情况下的最小距离分类器,得到的分界面由多段线性分界面组成缺点:效果与子类的划分有密切关系。如果对样本没有充足的先验知识,子类划分不一定合理,则会影响分类的效果。5.1近邻法(3)最近邻法分段线性距离分类器分类效果与所划分的子类有密切关系把每个样本点都作为一个子类,计算各点与待测样本x的距离,将x归入距离最近的点所在的类。这种方法称为最近邻法(NearestNeighbor,NN)。5.1近邻法(4)k近邻法近邻法的推论,取未知样本x的k个近邻,将x归入多数近邻所属的类5.1近邻法k的选择一般选为奇数,占样本总数的一个小比例。可以先取较小的值,使用交叉验证法选取最优的k值。距离的衡量不同的距离衡量均可以,常用欧氏距离(5)例题

5.1近邻法..分段线性函数解:5.1近邻法

(6)近邻法的分析简单,易于决策;Lazylearning,没有学习的过程分类结果较好,在训练样本趋于无穷时接近最优计算量大,耗时大,没有考虑到决策的风险错误率的分析建立在样本数趋于无穷大的假设上,样本数有限的情况,缺乏理论上的分析决策面:不同类各个样本点连线的垂直平分线构成大分段线性判别面。特点5.1近邻法(7)近邻法的改进缩小计算范围对样本集进行组织与整理,分群分层,尽可能将计算压缩到在接近测试样本邻域的小范围内,避免盲目地与样本集中每个样本进行距离计算减少样本总数在训练样本集中挑选出对分类计算有效的样本,使样本总数合理减少改进思路5.1近邻法(8)仿真实现5.1近邻法

计算待测样本与所有样本之间的距离,将距离排序,找最小和k个最小距离,对应的样本类别即为分类类别。设计思路5.1近邻法clc,clear,closeall;loadfisheriris;X=[5.5,2.3,4,1.3];k=5;N=length(meas);distance=pdist2(X,meas);[D,index]=sort(distance);disp(‘最近邻归类');celldisp(species(index(1)));程序n1=sum(count(species(index(1:k)),'setosa'));n2=sum(count(species(index(1:k)),'versicolor'));n3=sum(count(species(index(1:k)),'virginica'));ifn1>n2&&n1>n3disp(‘k近邻归类:setosa');elseifn2>n1&&n2>n3disp('k近邻归类:versicolor');elsedisp('k近邻归类:virginica');end最近邻归类:versicolork近邻归类:versicolor(9)近邻法的快速算法5.1近邻法对K维空间中的点进行存储的二叉树结构,省去对大部分数据点的搜索,从而减少搜索的计算量。ExhaustiveSearcher模型:存储训练数据、距离度量和参数值,用于穷举最近邻搜索KDTreeSearcher模型:存储使用Kd树算法的最近邻搜索结果knnsearch函数:指定模型实现近邻搜索rangesearch函数:指定模型实现一定范围内的近邻搜索Kd树仿真函数例5-5:导入fisheriris数据集,随机选择147个训练样本,3个测试样本,采用knnsearch、rangesearch函数进行近邻搜索。5.1近邻法clc,clear,closeall;loadfisheririsrng(1);N=size(meas,1);testIdx=randsample(N,3);trainIdx=~ismember(1:N,testIdx);testing=meas(testIdx,3:4);training=meas(trainIdx,3:4);

labeltrain=species(trainIdx,:);labeltest=species(testIdx,:);Mdl=KDTreeSearcher(training);[Idx1,D1]=knnsearch(Mdl,testing);testresult=labeltrain(Idx1)radius=0.2;[Idx2,D2]=rangesearch(Mdl,testing,radius);5.1近邻法gscatter(training(:,1),training(:,2),labeltrain,'rgb','+.o',3);holdonplot(testing(:,1),testing(:,2),'kx','MarkerSize',6,'LineWidth',2);plot(training(Idx1,1),training(Idx1,2),'m*');fori=1:length(Idx2)

viscircles(testing(i,:),radius,'color','k',

'LineWidth',1,'LineStyle','-.');endlegend('setosa','versicolor','virginica','待测样本','最近邻点');xlabel('花瓣长(cm)'),ylabel('花瓣宽(cm)');5.1近邻法fisheriris数据集的近邻搜索5.2二次判别函数二次判别判别函数一般形式太多的参数,需要采用其他的设计方法5.3决策树(1)决策树的概念人们决策时,往往会针对多个方面依次判断,决策的过程用树形表示,称之为“决策树”(decisiontree)。款式=?颜色=?尺寸=?买宽松绿色中号从根节点到叶节点的路径对应了一个判定测试序列决策树方法是利用一定的训练样本,从数据中“学习”出决策规则,自动构造出决策树。决策树5.3决策树根节点:所要进行分类的样本集内部节点:对应一个特征(属性)测试,按照测试结果将包含的样本集分成几个区域,对应几个子节点叶节点:决策结果当前节点所含样本全属于同一类别,叶节点,不再划分当前属性为空,或所有样本当前属性取值相同,叶节点,标记类别为该节点所含样本最多的类别当前节点所含样本集为空,叶节点,标记类别为其父节点所含样本最多的类别。决策树结构5.3决策树否是

是否

例:血压数据分类(2)决策树的构建ID3,交互式二分法:InteractiveDichotomizer-3对于某个节点上的样本,熵,也称为熵不纯度,反映了该节点上的特征对样本分类的不纯度,取值越小,纯度越高。熵:衡量信息量熵不纯度5.3决策树

信息增益5.3决策树计算当前节点包含的所有样本的熵不纯度比较采用不同特征进行分枝将会得到的信息增益,选取具有最大信息增益的特征赋予当前节点,该特征的取值个数决定了该节点下的分枝数目如果后继节点只包含一类样本,则停止该枝的生长,该节点成为叶节点如果后继节点仍包含不同类样本,则再次进行以上步骤,直到每一枝都到达叶节点。ID3算法步骤例5-7:根据体检数据建立判断是否会得高血压的决策树。(3)例题5.3决策树序号12345678910年龄34284245506165363127体重超重正常偏重超重偏重偏重正常超重正常偏重饮食偏好油腻均衡清淡均衡油腻油腻清淡均衡清淡油腻父辈血压高高高正常正常正常高正常高高高血压是是是是是是是否否否序号11121314151617181920年龄44436166253548406362体重偏重偏重正常正常正常偏重超重正常偏重正常饮食偏好清淡均衡清淡清淡均衡均衡油腻清淡均衡均衡父辈血压正常正常正常正常正常正常高正常高正常高血压否否否否否是是否是否5.3决策树解:连续特征数据调整序号12345678910年龄青年青年中年中年中年老年老年青年青年青年体重超重正常偏重超重偏重偏重正常超重正常偏重饮食偏好油腻均衡清淡均衡油腻油腻清淡均衡清淡油腻父辈血压高高高正常正常正常高正常高高高血压是是是是是是是否否否序号11121314151617181920年龄中年中年老年老年青年青年中年中年老年老年体重偏重偏重正常正常正常偏重超重正常偏重正常饮食偏好清淡均衡清淡清淡均衡均衡油腻清淡均衡均衡父辈血压正常正常正常正常正常正常高正常高正常高血压否否否否否是是否是否计算不考虑任何特征时熵不纯度14人,7人高血压,7人正常血压根节点分枝:考查采用不同特征划分样本后的信息增益采用“年龄”特征划分样本集:青年组5人,高血压2人;中年组5人,高血压3人;老年组4人,高血压2人解:5.3决策树“体重”:正常组5人,高血压2人;偏重组6人,高血压3人;超重组3人,高血压2人“饮食偏好”:油腻组4人,高血压3人;清淡组6人,高血压2人;均衡组4人,高血压2人5.3决策树“父辈血压”:高血压组6人,高血压4人;正常血压组8人,高血压3人5.3决策树采用“饮食偏好”特征划分样本带来的信息增益最大均衡油腻清淡①:饮食偏好④:(6,2)②:(4,3)③:(4,2)下一级节点分枝节点②,依次采用不同特征分枝,按“年龄”特征分枝信息增益最大老年中年青年均衡油腻清淡①:饮食偏好④:(6,2)②:年龄③:(4,2)⑤:(2,1)⑥:是⑦:是依次处理,直至每个分枝都到叶节点5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是完整的决策树12个叶节点,从根节点到叶节点12条通路,对应12条决策规则,例如:若(饮食偏好==油腻)且(年龄==青年)且(体重==超重),则(血压=高血压)5.3决策树利用决策树对测试样本进行决策15号样本,饮食偏好==均衡,体重==正常,节点⑧,判断为高血压,判断错误。青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是C4.5算法(4)其他方法5.3决策树采用信息增益率代替信息增益增加了处理连续的数值特征的功能

5.3决策树

熵不纯度:信息增益率:

5.3决策树

超重高清淡油腻均衡①:饮食偏好③:体重②:年龄④:父辈血压正常⑩:年龄偏重正常⑧:年龄⑪:否⑮:是⑭:否⑦:是⑨:否⑬:是⑫:否

⑥:是⑤:否C4.5算法生成的判读是否高血压的决策树分类和回归树(ClassificationandRegressionTree)核心思想与ID3和C4.5相同在每一个节点上都采用二分法CART算法5.3决策树基尼系数:

基尼系数越小,两个样本来自不同类的概率越小,样本集不纯度越低5.3决策树例如,根节点采用“体重”特征划分样本集:正常组5人,高血压2人,非正常组9人,高血压5人;偏重组6人,高血压3人,非偏重组8人,高血压4人;超重组3人,高血压2人,非超重组11人,高血压5人;计算所有特征划分样本集的基尼系数,最小值对应特征将节点一分为二5.3决策树清淡

高油腻非油腻①:饮食偏好③:父辈血压②:年龄

⑤:是④:否正常⑦:体重⑥:年龄

⑨:是⑧:饮食偏好非超重超重⑪:否⑩:年龄

⑮:是⑭:否均衡⑬:否⑫:是CART算法生成的判读是否高血压的决策树(5)过学习与决策树的剪枝依据有限样本全部正确划分为准则建立决策规则,考虑为未来数据分析时的成功率,即推广性问题如果一个算法在训练数据上表现良好,但在测试数据或未来的新数据上的表现与在训练数据上差别很大,称该算法遇到了过学习或过适应在决策树算法中,通过控制决策树生成算法的终止条件和对决策树进行剪枝来防止出现过学习。有限的样本,如果决策树生长得很大(树枝很多或很深),则可能会抓住由于偶然性或噪声带来的假象,导致过学习,因此,要控制决策树规模,即剪枝过学习与剪枝5.3决策树先剪枝在决策树生长过程中决定某节点是否继续作为分枝还是直接作为叶节点,可以通过检测决策性能是否有所提高决定是否分枝。5.3决策树后剪枝在决策树充分生长后对其修剪,核心思想是合并分枝,从叶节点出发,如果消除具有相同父节点的叶节点后不会导致不纯度的明显增加则消除,并以其父节点作为新的叶节点;不断地从叶节点往上回溯,直到合并操作不再合适为止。5.3决策树例5-11:对体检数据采用ID3算法生成先剪枝决策树。例题根节点是否分枝判断解:标记:将其标记为叶节点,类别为训练样本中数目最多的类别,设标记为“高血压”分类精度:认为所有样本均为“高血压”;测试,6个样本3个分类正确,精度为3/6考查特征:采用“饮食偏好”划分标记子节点均衡油腻清淡①:饮食偏好②:是③:是④:否当前分类精度:3条规则,6个样本4个分类正确,精度4/6精度有提高,保留分枝5.3决策树节点②是否分枝判断分枝:采用“年龄”划分标记子节点当前分类精度:5条规则,精度4/6精度没有提高,不分枝老年中年青年均衡油腻清淡①:饮食偏好②:年龄⑥:是⑦:是⑤:是③:是④:否依次判断节点③④,均不分枝均衡油腻清淡①:饮食偏好②:是③:是④:否先剪枝决策树验证集精度4/6,只有一层划分,称为“决策树桩”。先剪枝分析很多分支未展开,降低了过学习的风险,减少了训练时间、测试时间开销;有些分支虽不能提升泛化性能,但在其基础上的后续划分有可能导致性能提高,因此,先剪枝有可能带来欠学习的风险。5.3决策树5.3决策树例5-12:对体检数据采用ID3算法生成后剪枝决策树。生成完整决策树,计算分类精度,2/6解:青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是合并,标记,验证,精度为2/6,无提高,不剪枝5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是合并,标记,验证,精度为2/6,无提高,不剪枝5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是合并,标记,验证,精度为2/6,无提高,不剪枝5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是合并,标记,验证,精度为2/6,无提高,不剪枝5.3决策树青年超重中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄③:体重⑤:体重正常⑪:年龄偏重正常⑨:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是⑧:是⑩:否中年⑯:否⑮:是合并,标记,验证,精度为4/6,有提高,剪枝5.3决策树中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄⑤:体重正常⑪:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是③:是合并,标记,验证,精度为4/6,无提高,不剪枝5.3决策树中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄⑤:体重正常⑪:年龄超重⑥:是⑦:是⑭:否⑬:是⑫:否⑲:否⑰:是⑱:是③:是合并,标记,验证,精度为3/6,无提高,不剪枝5.3决策树中年青年老年偏重高老年中年青年均衡油腻清淡①:饮食偏好④:父辈血压②:年龄⑤:体重正常⑧:年龄超重⑥:是⑦:是⑪:否⑩:是⑨:否⑭:否⑫:是⑬:是③:是后剪枝决策树后剪枝分析比先剪枝保留了更多的分支,欠学习风险小,泛化性能优于先剪枝决策树;因先生成完整决策树,时间开销大。5.3决策树(6)仿真实现例5-14:对体检数据采用fitctree函数生成分类决策树,并对15号至20号样本进行测试。clc,clear,closeall;Age=[34;28;42;45;50;61;65;36;31;27;44;43;61;66];Weight={'超重';'正常';'偏重';'超重';'偏重';'偏重';'正常';…'超重';'正常';'偏重';'偏重';'偏重';'正常';'正常’'};Diet={'油腻';'均衡';'清淡';'均衡';'油腻';'油腻';'清淡';…'均衡';'清淡';'油腻';'清淡';'均衡';'清淡';'清淡'};Parent={'高';'高';'高';'正常';'正常';'正常';'高';…'正常';'高';'高';'正常';'正常';'正常';'正常'};X=table(Age,Weight,Diet,Parent);Y={'是';'是';'是';'是';'是';'是';'是';'否';'否';'否';'否';'否';'否';'否’};ctree=fitctree(X,Y,'Prune','off','MinParentSize',2);%生成不剪枝决策树,内部节点最少2个样本view(ctree)%在命令窗口输出决策树的文字描述view(ctree,'mode','graph')%决策树图形显示Age=[25;35;48;40;63;62];Weight={'正常’;’偏重’;’超重’;’正常’;’偏重’;’正常’'};Diet={'均衡’;’均衡’;’油腻’;’清淡’;’均衡’;’均衡'};Parent={'正常’;’正常’;’高’;’正常’;’高’;’正常'};test=table(Age,Weight,Diet,Parent);[label,score,node,cnum]=predict(ctree,test);5.3决策树5.3决策树fitctree生成的判读是否高血压的未剪枝决策树5.4Logistic回归(1)基本概念线性回归某个变量可能与其它变量有一种线性或者近似线性的关系,根据一组数据去求解这种关系称为线性回归多元线性回归:变量与多个自变量有关求解线性回归的基本方法:最小二乘法5.4Logistic回归Link函数

单位阶跃函数Logistic函数

单位阶跃函数

5.4Logistic回归几率

logit函数表明样本属于某类的可能性与样本之间呈线性关系分类规则

5.4Logistic回归Logistic回归采用对数几率模型描述样本属于某类的可能性与样本特征之间的关系,用训练数据估计模型中的系数,进而实现分类的方法5.4Logistic回归样本属于某一类的可能性用后验概率来表示logit函数

(2)求解5.4Logistic回归似然函数对数似然函数

5.4Logistic回归(3)仿真实现

clc,clear,closeall;gX=@(W,X)W(1)*X(:,1)+W(2)*X(:,2)+W(3)*X(:,3)+W(4);logisticfun=@(W,X)1./(1+exp(-gX(W,X)));training=[000;100;101;110;001;011;010;111];label=[1;1;1;1;0;0;0;0];negloglikfun=@(W)-sum(label.*lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论