查看文章 |
最近邻分类时需要选择训练样本,在对分类结果进行精度评价时也需要定义验证样本,因此,关于如何选择样本的操作很重要,Definiens Developer 7.0中对样本的操作很方便,功能也比较齐全,可能正因为功能太多太繁杂,天天用的话会越用越顺手越感觉方便,但要是好久不用的话就会手生,不知道怎么激活那些灰色的工具条下拉框和窗口,里面暗藏的机关会全部忘光光,所以还是记一下笔记一来加深印象二来以备今后忘记的时候作参考。本文可以和 0027:最邻近分类器:Click and Classify 对照着看,内容有重叠的地方,可能和那时比起来现在有些地方理解得更深刻一些。 1、最近邻居分类算法原理 为什么叫最近邻居法?(好记性不如烂指头,东阳何生的学习笔记) 原来,该算法原理是:在特征空间中逐个计算对象与所有训练样本之间距离,然后以该对象最近的邻居的类别作为该对象所归属的类别。(好记性不如烂指头,东阳何生的学习笔记) ![]()
一开始选择样本的时候,只选少数几个有代表性的特明确特肯定的对象作为训练样本就行了,宜精不宜多,不要一开始就把那些模棱两可容易混淆的对象作为训练样本,因为这样就导致软件不能充分考虑类别间的异质性特征。计算机是死的,人是活的,人想把计算机搞蒙其实很容易。第一次分类之后,接下来的事情就是调整训练样本,以改善分类结果,步骤如下: ①、重新评价所选样本的质量(在Sample Selection Information窗口中进行); ②、删掉那些不具代表性的样本,添加更具代表性的样本以及上次分类中被错分的对象作为新的样本; ③、重新分类;(好记性不如烂指头,东阳何生的学习笔记) ④、重复以上步骤,直至得到满意的分类结果 2、Sample Editor(好记性不如烂指头,东阳何生的学习笔记)
![]() 从名字上看是“样本编辑器”,实际上在这个窗口里是编辑不了样本的,它的主要功能是供用户选择样本时查看样本的各特征直方图,具体显示什么特征可以由用户自行指定(点击右键选中“Select Features to Display…”)。直方图是按类别(或对象层次)统计的,一次可以显示两个类别的直方图,当前活动类别(Active Class)是黑色的直方图,供比较类别是蓝色的直方图。红色的箭头表示的是当前选定的Object的特征值,如果当前没有选中的对象,那就没有红色的箭头。注意:直方图是根据用户当前已经选定的样本计算的,如果某一类别一个样本都没有,那它就显示不出直方图(如下图)。(好记性不如烂指头,东阳何生的学习笔记)
这个窗口还能够显示各个Level上所有Object的特征分布直方图(如下图)(好记性不如烂指头,东阳何生的学习笔记)
上面右键菜单中“Activate Sample Navigation” 的作用我摸索了好久才整明白,其实它的作用就是“建立Sample Editor窗口与影像主窗口Project View之间的双向关联关系:当Activate Sample Navigation时,点击Sample Editor窗口直方图上的某一直方块,在Project View中就会自动选中与之对应的对象,并在Sample Editor窗口中在每个feature下方用红色箭头指示该对象的各feature值;当Deactivate Sample Navigation 时则没有这个效果”也就是说:“Deactivate的时候,Sample Editor窗口与影像主窗口Project View之间的关联是单向的,在Project View中选中一个对象,在Sample Editor窗口则会自动用红箭头标示出该对象各feature的值,但是若在Sample Editor窗口中点击某一直方块,在Project View主窗口中是没有反应的;而当Activate的时候,在Sample Editor窗口中点击某一直方块则会在Project View窗口中自动定位到那个feature值所对应的样本上”。而且,只有点击Active Class的直方块(黑色)才起作用,对Compare Class的直方块(蓝色)不起作用。(啰哩叭嗦写这么多,就是希望自己以后能看得明白点,免得重新摸索)
上面右键菜单中还有一项“Display Samples from Inherited Classes”的功能应该是:对于有子类的类别来说,决定直方图统计的时候是否把子类的样本也统计进去以作为父类的样本,我想不管这个选项选择与否,对叶子类别是没有影响的。(好记性不如烂指头,东阳何生的学习笔记) Sample Editor窗口有以下几个明显的作用:①查看某一类别样本的特征直方图分布,而且可以在两个类别之间进行比较,直观且全面;②可以将某个对象的特征与在某个分割层次上所有对象在该特征上的直方图分布相比较;③可以快速获得某一个对象的不同特征值;④选训练样本时,可以将某一对象和已经存在的样本之间做比较,以判断此对象应该划为哪个类别。
2、选择样本(好记性不如烂指头,东阳何生的学习笔记) 选择样本之前先要激活样本输入模式,即先点击 Select Samples 按钮: 只要样本输入模式被激活,Project View 视图模式会自动切换到“样本视图模式(Mode:Samples)”,选择样本时先将所要选择样本的类别设成当前活动类别(Active Class),然后双击对象就ok了(或者是“Shift+单击”),如果选错了想取消也是双击或者“Shift+单击”即可
除了逐个选择样本,definiens还提供了批量选择样本的方式:画刷选择。一条粗线刷过去,与这条粗线相交的所有对象都被选为样本,用户还可以修改Option里的选项,决定刷子刷到已经被分类的对象或者已经被选为样本的对象时是否起作用。 3、评价样本质量(好记性不如烂指头,东阳何生的学习笔记) 只要某一类别拥有一个样本,那后续选择的样本的质量就可以在Sample Selection Information窗口中评价。所以一开始各类别只选1个能绝对肯定的对象作为样本,以这个样本为标准可以在Sample Selection Information窗口中看到后续选的样本的质量。Sample Selection Information窗口可以查看选中的对象分别归属于各个类别的隶属度函数值。Sample Selection Information窗口中最上面的类别就是当前活动类别,这与Sample Editor窗口中的active class以及Class Hierarchy窗口都是连动的,随便点击哪个窗口改变当前活动类别,所有这些窗口都跟着改变:(好记性不如烂指头,东阳何生的学习笔记) 在Sample Selection Information窗口中,灰色表示当前活动类别(Active Class),红色表示当前选中对象的该类别的隶属度函数值超过了阈值(临界值),绿色表示隶属度函数值在临界值以下的类别。临界值的默认值为0.7,隶属度函数值大于0.7的都用红色表示。(好记性不如烂指头,东阳何生的学习笔记)
上图中各列的含义:(好记性不如烂指头,东阳何生的学习笔记) Class:已经选择了训练样本的类别名称,没有样本的类别这里面则不显示 4、定位样本(Navigate Samples)(好记性不如烂指头,东阳何生的学习笔记) 在Sample Selection Information窗口中点击某一类别之后,其它窗口会出现以下连动变化: ①、Sample Editor 窗口变化:在 Sample Selection Information窗口选中的类别会作为Sample Editor 窗口中的Compare Class(蓝色),相应的,直方图也随之发生变化。 ②、Samples工具条也发生变化,见下图:(好记性不如烂指头,东阳何生的学习笔记) 上图中的下拉框中会出现内容,如果点击的是Sample Selection Information窗口中的红颜色显示的类别,那么,下拉框中会把与当前对象在特征空间中的距离小于临界值的该类别的所有样本(隶属度函数值大于0.7)都列出来,点击随便一个都会在Project View主窗口中自动定位的相应的样本(用红色边界表示),Current表示当前选中的对象,如果选择Current则自动定位到当前对象。如果在Sample Selection Information窗口中选中的类别不是红色的(即灰色的或绿色的),那么,Samples下拉框则是这样的:(好记性不如烂指头,东阳何生的学习笔记) 若点击Nearest则会定位到该类别与当前对象最近的样本,若点击Current则会回到当前样本。另外,直接在 2D Feature Space Plot 窗口中点击样本,也可以达到在 Project View 中定位样本的目的,即:2D Feature Space Plot 窗口和 Project View 窗口也是连动的。在2D Feature Space Plot 窗口中样本用类别对应颜色的小圆圈表示,其他对象用小叉叉表示(黑色十字叉为未分类对象,其余十字叉用各自类别的颜色表示),直接点击那些小圆圈就能在 Project View 中定位到小圆圈对应的对象上(该对象用红色边界突出显示)。(好记性不如烂指头,东阳何生的学习笔记)
|










