关于Rocchio分类算法的总结与思考

最近在做关于web分类的项目,要求用三个以上算法分别实现,取TOP3,这个需要好好研究一番了。

除了Bayes(概率模型)、KNN(相似度模型)、SVM(非线性模型)等,发现还有个Rocchio算法,以前没有研究,查阅众多文献,都说分类效率高,但是效果不好,一般作为基准比较对象。~~~~于是决定研究一下,实实在在验证一把,从基本概念开始。。。

一、概念

    Rocchio 算法,是一种高效的分类算法,广泛地被应用到文本分类,查询扩展等领域。它通过构造原型向量的方法得到最优解。Rocchio算法是IR中通过查询的初始匹配文档对原始查询进行修改以优化查询的方法。该算法(Rocchio,1971)是20 世纪70 年代左右在Salton 的SMART 系统中引入并广泛流传的一种相关反馈算法。

二、原理

    其基本思想是使用训练集为每个类构造一个原型向量,构造方法如下:

    给定一个类,训练集中所有属于这个类的文档对应向量的分量用正数表示,所有不属于这个类的文档对应向量的分量用负数表示,然后把所有的向量加起来,得到的和向量就是这个类的原型向量,定义两个向量的相似度为这两个向量夹角的余弦,逐一计算训练集中所有文档和原型向量的相似度,然后按一定的算法从中挑选某个相似度作为界。给定一篇文档,如果这篇文档与原型向量的相似度比较大,则这篇文档属于这个类,否则这篇文档就不属于这个类。Rocchio算法的突出优点是容易实现,计算(训练和分类)特别简单,它通常用来实现衡量分类系统性能的基准系统,而实用的分类系统很少采用这种算法解决具体的分类问题

    其基本思想不难解释,对于一个词集,和一个分类,总有某些词,这些词一旦出现属于这个分类的可能性就会增加,而另一些词一旦出现属于这个分类的可能性就会降低,那么累计这些正面的,和负面的影响因素,最后由文档分离出的词向量可以得到对于每个类的一个打分,打分越高属于该类的可能性就越大.

    对于某种二分类特别合适, A, ~A, 任给一个文档,判断属于分类A还是分类~A,可以认为A的特征项均给与正值,~A都给与负值,那么给定一个合理阈值,就很容易做出这种类型的分类。

三、应用

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值