根据目前了解的迹象表明,RankSVM应该是T。T. Joachims. Optimizing search engines using clickthrough data. In KDD ’02:ACMSIGKDD.提出来的。后来O. Chapelle and S. Keerthi. Efficient algorithms for ranking with svms. Information Retrieval, 18, 2010. 提出primal SVM(PRSVM),提高了运算效率,应用在document retrieval 中。Bryan et al.BMVC2013 提出Ensemble RankSVM解决memory consumption问题,并应用于Person re-identification.
下面重点总结一下将RankSVM应用于Personre-identification问题。
在传统svm中是找到分类超平面使正负例的分类间隔最大化,在ranking问题中不存在绝对的正负例,而是要使得正确匹配的得分x_{s}^{+}大于错误匹配的得分x_{s}^{-},即(x_{s}^{+}-x_{s}^{-})>0,并且使得(x_{s}^{+}-x_{s}^{-})最大化。
定义查询样本x对于样本xi匹配的得分x_{s}: x_{s}=w^{T}|x-x_{i}| ; |x-x_{i}|表示每一维特征都对于相减,得到差值向量。
在识别阶段就是利用此公式将目标样本进行排序。
现在讲怎样通过训练得到w^{T},训练集X={(xi,yi)},i=1,2,……m;xi为特征向量,yi为+1或者-1。对于每一个训练样本xi,X中与xi匹配的正例样本构成集合d_{i}^{+}=\left \{x_{i,1}^{+},x_{i,2}^{+}...x_{i,m^{+}}^{+}{} \right \};
X中与xi匹不配的负例样本构成集合d_{i}^{-}=\left \{x_{i,1}^{-},x_{i,2}^{-}...x_{i,m^{-}}^{-}{} \right \};m^{+},m^{-}分别为正负样本数量,存在关系m^{+}+m^{-}+1=m。
归纳起来,就是对训练样本集中每个样本xi,都存在若干正负例的score pairwise,把训练集中所有score pairwise的集合用P表示,即P={(x_{s}^{+},x_{s}^{-})},作为训练阶段的输入;
以上前提下的RankSVM就可得到如下形式:
MAX w^{T}(x_{s}^{+}-x_{s}^{-});
s.t. w^{T}(x_{s}^{+}-x_{s}^{-})>0
即:min \frac{1}{2}\left \| w \right \|^{2}+C\sum_{s=1}^{\left | P \right |}\xi _{s}
s.t. w^{T}(x_{s}^{+}-x_{s}^{-})\geq 1-\xi _{s}。
以上就是RankSVM的基本思想,实际中由于训练集的正负里数量都比较大时,会存在计算复杂度的问题。chapelle et al.2010提出无约束模型的PRSVM提高了计算效率:
w=\underset{w}{argmin}\frac{1}{2}\left \| w \right \|^{2}+C\sum_{s=1}^{\left | P \right |}\iota (0,1-w^{T}(x_{s}^{+}-x_{s}^{-});
Prosser et al. 2011在此基础上提出了 ensemble RankSVM,利用Boosting思想,将样本集分成若干子集,分别训练若类器weak RankSVMs: w_{i},通过学习不同weak RankSVMs的权值\alpha_{i},组合成最优RankSVM:
w_{opt}=\sum_{i}^{N}\alpha _{i}.w_{i}
.