徐博 From RankNet to LambdaRank to LambdaMART: An Overview
生活随笔
收集整理的這篇文章主要介紹了
徐博 From RankNet to LambdaRank to LambdaMART: An Overview
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
徐博 From RankNet to LambdaRank to LambdaMART: An Overview
新聞來源:IR實驗室 ????? 發布時間:2012/10/17 15:44:39
??? 這篇論文是一篇關于排序學習算法RankNet,LambdaRank和LambdaMART的綜述性技術報告,這三種算法近年來在諸如Yahoo!Learning To Rank Challenge的比賽中都表現出了很好的排序效果。LambdaMART是提升樹版本的LambdaRank,而LambdaRank是基于RankNet排序學習算法的,因此三種算法在內涵上有一種層層遞進的關系,所以放在了一起進行闡明。 一、RankNet RankNet算法訓練得到的排序模型是模型參數的可微函數,他可以將輸入向量映射到一個實數上去,對于兩個URL對兒的得分通過一個概率函數進行融合,并在該概率函數的基礎上,構造交叉熵損失函數,對應的函數如下所示:
將上面兩個公式結合可以得到一個更加直接的損失函數公式,如下:
由于先前提到過模型實際上是參數的可微函數,而損失函數又可以表示成以上這種模型函數的表達形式,因此我們可以知道,損失函數也是模型參數的可微函數。因此我們可以通過梯度下降的方法,找到損失函數的梯度,并在梯度的負方向上進行參數值的變化來找到損失函數在參數變化范圍內的最小值。 梯度下降法中參數變化的公式如下所示:
上面的公式就可以通過調整參數的取值來逼近損失函數的最小值了。這里提一下,隨機梯度下降算法的原理是用隨機選取的Training Set的子集來估計目標函數的梯度值。RankNet算法的具體流程,如下所示:
? 二、LambdaRank 在RankNet的基礎上,對損失函數的導數進行因式分解我們可以得到,參數Lambda,而該參數是LambdaRank排序學習算法的基礎。
???????? 對同一查詢下的一個URL得到的所有URL對兒的貢獻值Lambda進行累加,可以得到我們需要的Lambda和的形式 ? 該Lambda和可以看做是之前提到的損失函數的梯度,它的方向是所對應的URL在URL排序列表中移動的方向,大小就是移動的距離 在上面的基礎上,LambdaRank算法對Lambda值的計算方式進行了改進,引入了信息檢索評價指標,如下所示:
因此該Lambda可以直接對NDCG進行優化,其中NDCG的變化量,為URL I 和j 在交換位置時候的評價指標的變化量。對Lambda的累加的方式和上面提到的相同。 ? 三、LambdaMART MART是多重加法回歸樹的簡稱,該算法訓練出的模型是一系列回歸樹模型的線性組合。回歸樹模型能夠對已知數據進行分類,并在每一個葉子節點對應該分類的輸出值 下面是MART算法的流程
LambdaMART算法講MART 作為基本模型進行訓練,利用LambdaRank中損失函數的構造和優化方式來訓練排序模型,并采用了牛頓迭代法(Newton-Raphson)來確定每一個葉子節點是輸出值,算法的詳細流程如下:
LambdaMART算法與LambdaRank算法相比較雖然可能在個別查詢上表現的會有所欠缺,但是整體的性能得到了很好的提升。
將上面兩個公式結合可以得到一個更加直接的損失函數公式,如下:
由于先前提到過模型實際上是參數的可微函數,而損失函數又可以表示成以上這種模型函數的表達形式,因此我們可以知道,損失函數也是模型參數的可微函數。因此我們可以通過梯度下降的方法,找到損失函數的梯度,并在梯度的負方向上進行參數值的變化來找到損失函數在參數變化范圍內的最小值。 梯度下降法中參數變化的公式如下所示:
上面的公式就可以通過調整參數的取值來逼近損失函數的最小值了。這里提一下,隨機梯度下降算法的原理是用隨機選取的Training Set的子集來估計目標函數的梯度值。RankNet算法的具體流程,如下所示:
? 二、LambdaRank 在RankNet的基礎上,對損失函數的導數進行因式分解我們可以得到,參數Lambda,而該參數是LambdaRank排序學習算法的基礎。
???????? 對同一查詢下的一個URL得到的所有URL對兒的貢獻值Lambda進行累加,可以得到我們需要的Lambda和的形式 ? 該Lambda和可以看做是之前提到的損失函數的梯度,它的方向是所對應的URL在URL排序列表中移動的方向,大小就是移動的距離 在上面的基礎上,LambdaRank算法對Lambda值的計算方式進行了改進,引入了信息檢索評價指標,如下所示:
因此該Lambda可以直接對NDCG進行優化,其中NDCG的變化量,為URL I 和j 在交換位置時候的評價指標的變化量。對Lambda的累加的方式和上面提到的相同。 ? 三、LambdaMART MART是多重加法回歸樹的簡稱,該算法訓練出的模型是一系列回歸樹模型的線性組合。回歸樹模型能夠對已知數據進行分類,并在每一個葉子節點對應該分類的輸出值 下面是MART算法的流程
LambdaMART算法講MART 作為基本模型進行訓練,利用LambdaRank中損失函數的構造和優化方式來訓練排序模型,并采用了牛頓迭代法(Newton-Raphson)來確定每一個葉子節點是輸出值,算法的詳細流程如下:
LambdaMART算法與LambdaRank算法相比較雖然可能在個別查詢上表現的會有所欠缺,但是整體的性能得到了很好的提升。
總結
以上是生活随笔為你收集整理的徐博 From RankNet to LambdaRank to LambdaMART: An Overview的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于编码ansi、GB2312、unic
- 下一篇: LambdaMART简介——基于Rank