再理解RankNet算法
前面的一篇博文介绍了学习排序算法(Learning to Rank)中的RankNet算法。如下:
http://blog.csdn.net/puqutogether/article/details/42124491
那次的入门对其中的算法流程和基本原理没有深入了解,这次看自动摘要提取算法的时候,里面有一个排序单元,使用到的就是学习排序算法中的RankNet,这个时候才理解了。这就说明,有的时候回过头来看某些算法,你的认识会加深的。
好了,这次主要说一下RankNet这个算法的基本流程和原理。
RankNet算法是从概率的角度解决排序问题。
首先,我们需要求得的是一个排序函数,就是当我们输入样本的特征向量的时候,可以输出该样本的顺序“得分”,实现排序。在RankNet中,排序函数定义为一个三层的神经网络模型。输入层和样本特征维数有关,输出层是一个节点(得分),排序函数定义为: