RankSvm-基于点击数据的搜索排序算法

题记:开始做毕设了,关于行人重识别的算法研究,目测过程中会遇到很多问题,把问题和解决问题的方法都记录下来,方便回顾。由于原文的数学公式在显示时会间断性出错,所以采用了截图的方式,便于查看。

关于相似性匹配的问题,打算引入推荐排序算法中的RankSvm,看到一篇写得比较详细的帖子,转载过来学习学习~

原文:http://kubicode.me/2016/03/30/Machine%20Learning/RankSvm-Optimizing-Search-Engines-using-Clickthrough-Data/?utm_source=tuicool&utm_medium=referral,by Kubi Code。


       RankSvm是Pairwise的学习排序中最早也是非常著名的一种算法,主要解决了传统PontWise构建训练样本难的问题,并且基于Pair的构建的训练样本也更为接近排序概念。


基本介绍
        RankSvm是在2002年提出的,之前工作关于LTR的工作貌似只有Pointwise相关的,比如PRanking,这样的排序学习算法Work需要含有档位标注的训练样本,一般有以下几种获取方式:
1、需要人工/专家标注。

2、诱导用户对展现的搜索结果进行反馈。
这样就会存在会成本高、可持续性低、受标注者影响大等缺点。
而RankSvm只需要根据搜索引擎的点击日志构建Pair对即可,相对于先前的工作在算法的实用性上有了非常大的改善。


训练样本设计
    

基本思想



RankSVM排序













  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SVM-AKPD算法是一种利用遗传基因算法对SVM-RFE算法进行优化的方法,以获取更优异的特征并提高检测率[^1]。该算法中的SVMtrain函数利用了Matlab自带的函数。 遗传基因算法(Genetic Algorithm,GA)是一种模拟自然进化过程的优化算法,通过模拟自然选择、交叉和变异等操作,逐步优化解决问题的方案。在SVM-AKPD算法中,遗传基因算法被用于优化SVM-RFE算法,以选择最佳的特征子集。 SVM-RFE算法(Support Vector Machine Recursive Feature Elimination,SVM-RFE)是一种基于支持向量机的特征选择方法。它通过递归地删除特征,然后使用支持向量机进行分类,最终选择出最佳的特征子集。 具体而言,SVM-AKPD算法首先使用遗传基因算法对特征进行优化,然后利用SVMtrain函数进行训练和分类。通过这种方式,SVM-AKPD算法能够获得更优异的特征子集,并提高检测率。 以下是一个示例代码,演示了SVM-AKPD算法的使用: ```matlab % 导入数据 load('data.mat'); X = data(:, 1:end-1); y = data(:, end); % 使用遗传基因算法优化SVM-RFE算法 selected_features = svm_akpd(X, y); % 使用优化后的特征子集进行训练和分类 svm_model = svmtrain(X(:, selected_features), y); ``` 请注意,上述代码中的`svm_akpd`函数是一个自定义函数,用于实现SVM-AKPD算法中的遗传基因算法优化过程。具体的实现细节可能因算法的具体要求而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值