日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java lambdamart库,LambdaMART 之 lambda(示例代码)

發布時間:2024/10/5 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java lambdamart库,LambdaMART 之 lambda(示例代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LambdaMART 之 lambda

概念

LTR 排序學習主要用于對召回結果的精排,主流使用基于pair(文檔對標記)的 LambdaMART 算法,該算法由兩部分組成:lambda + MART(GBDT:梯度提升樹)。lambda是MART求解過程使用的梯度,其物理含義是一個待排序的文檔下一次迭代應該排序的方向(向上或者向下)和強度。

pair 文檔對標記法的思想主要體現在query對應文檔的 lambda 梯度計算,文檔計算得到的 lambda 值也是 GBDT 訓練的 label,依次擬合 lambda 殘差得到最優解。

LambdaMART 訓練流程:

1. 計算 deltaNDCG 以及 lambda

2. 以 lambda 作為 label訓練一棵 regression tree

3. 在 tree 的每個葉子節點通過預測的 regression lambda值還原得到gamma(最終得分)

4. 預測所有訓練集合值(+ learningRate*gamma),重新排序打分(每個query新的base ndcg),回到步驟 1 訓練新的樹

5. 模型 NDCG 評價指標沒有改進、或者達到收斂(迭代輪次、樹的棵數)則結束訓練

lambda 梯度的意義

排序問題評價指標一般有NDCG、ERR、MAP、MRR,但是這些指標特點是不平滑、不連續,無法求梯度,因此無法直接用梯度下降法求解。

lambda 梯度:

1. 可以進行求導,所有能用梯度下降法的模型都可以使用該梯度。

2. 重新定義了梯度,賦予排序問題需要的梯度的物理意義;lambda(i)表達了doc(i)上升或者下降的強度:

* lambda >0,越大:趨于上升的方向,力度也越大(lambda 絕對值表示力度)

* lambda <0,越小:趨于下降的方向,力度也越大

lambda 計算

step first 先計算 query ?的 NDCG:

1. 根據初始 label 排序計算 query 的 dcg:

2. 根據理想的 label 排序(從大到小),重新計算 query的 idcg(即排序后的 dcg 值)

3. 計算query初始的 NDCG(original) = dcg/idcg

step second:

1. 計算 doc(i) 的與其他 doc(j) 交換位置的 deltaNDCG:

deltaNDCG(i,j) = | NDCG(original) - NDCG(swap(i,j))|

2. 計算 lambda(i),涉及的計算公式:

: 該計算公式可以理解為所有正向lambda(i,j)與所有負向lambda(i,j)之和

概率公式為邏輯回歸函數,ρ可以理解為doci比docj差的概率:

ps:訓練過程中選取最小化平方誤差和的特征分裂節點

總結

以上是生活随笔為你收集整理的java lambdamart库,LambdaMART 之 lambda(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。