KNN算法改进:泛化实例算法(Generalized Instance Set Algorithm,GIS)

泛化实例算法(GIS)

  GIS算法认为:对于给定的一个category,positive实例中所蕴含的规则(regularity)比negative实例中所蕴含的规则更明显;从一组相似的positive实例中推知的模式或分类信息要更准确,而离这些positive实例比较接近的negative更可能是noise。根据这一思想,GIS算法试图构造出一个基于training集合的泛化实例集合(a set of generalized instances),来代替原始的training集合。

  GIS算法可以简单描述如下:首先随即选择一个当前category C的positive实例(设为G)作为代表实例,随后执行下面的操作:计算G的k个最近邻。令G' = G,根据最近邻信息评估实例G'的代表能力Rep(G'),同时对G进行泛化(Generalize)并重新计算泛化后G的代表能力Rep(G)。若泛化后的代表能力更强,则重复这种操作。否则将G'加入到最终的泛化实例集合GS中,并将其k个最近邻从初始training集合T中删除。当训练集T中无category C的positive实例时,算法停止。GIS算法的详细描述如下:

        

  下面给出代表能力评估函数的定义:

        

其中K表示当前[泛化]实例G的k个最近邻组成的集合,I+表示positive实例,rank(I+)是根据相似性降序排列时实例I+在k个实例中的次序。可以看出这种定义方式不仅考虑了positive实例的数目,也考虑positive实例与G的相似性分数在k个相似性分数中的顺序关系。

  若基于Rocchio algorithm,对实例G进行泛化这一过程可以依照如下的方式:

        

其中Pk、Nk分别是G的k近邻中positive实例集合和negative实例集合,参数用来调节。

 

分类过程

  首先计算category C与任意一个泛化实例G的相关因子(association factor),如下:

          

其中P表示训练集中C类positive样本的数目,Pk表示G的k个近邻中,为C类positive样本的数目。对于一个待分类的document X,其与category C的相关分数按如下方式计算:

       

其中表示G与X的相似性度量。得到这个分数后,分类即可相应完成。

posted @ 2012-08-12 09:22  海角七号的Blog  阅读(914)  评论(2编辑  收藏  举报