日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

机器学习排序之Learning to Rank简单介绍

發(fā)布時(shí)間:2025/3/21 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习排序之Learning to Rank简单介绍 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
 機(jī)器學(xué)習(xí)排序之Learning to Rank簡(jiǎn)單介紹 標(biāo)簽: Learning to Rank學(xué)習(xí)排序PointwisePairwiseListwise 2318人閱讀 評(píng)論(0) 收藏 舉報(bào) 本文章已收錄于: 分類(lèi): 學(xué)習(xí)排序(2) 作者同類(lèi)文章X
    機(jī)器學(xué)習(xí)(9) 作者同類(lèi)文章X

      目錄(?)[+]

    • 1 機(jī)器學(xué)習(xí)排序Learning to Rank
    • 2 機(jī)器學(xué)習(xí)的基本思路
    • 3 單文檔方法PointWise Approach
    • 4 文檔對(duì)方法PairWise Approach
    • 4 文檔列表方法ListWise Approach
    • PS:文章主要轉(zhuǎn)載自CSDN大神hguisu的文章"機(jī)器學(xué)習(xí)排序":
      ? ? ? ? ??http://blog.csdn.net/hguisu/article/details/7989489
      ? ? ? 最近需要完成課程作業(yè)——分布式排序?qū)W習(xí)系統(tǒng).它是在M/R、Storm或Spark架構(gòu)上搭建分布式系統(tǒng),并使用學(xué)習(xí)排序Pointwise、Pairwise和Listwise三大類(lèi)算法實(shí)現(xiàn)對(duì)微軟數(shù)據(jù)集(Microsoft Learning to Rank Datasets)進(jìn)行學(xué)習(xí)排序,這篇文章是對(duì)其入門(mén)介紹.感覺(jué)很難啊~
      ? ? ? 推薦&參考資料:
      ? ?
      《Learning to Rank for Information Retrieval By:Tie-Yan Liu》
      ? ? 《這就是搜索引擎 核心技術(shù)詳解 著:張俊林》
      ? ? ? 論文《Learning to rank From Pairwise Approach to Listwise Approace》
      ? ? ? 論文《Adapting Ranking SVM to Document Retrieval By:Tie-Yan Liu》
      ? ? ? 維基百科介紹 Learning to rank
      ? ? ? 開(kāi)源軟件 Rank SVM?Support Vector Machine for Ranking?
      ? ? ? 開(kāi)源軟件?RankLib包括RankNet RankBoost AdaRank
      ? ? ? 博客園文章 Learning to Rank入門(mén)小結(jié)

      ?????? 從使用的數(shù)據(jù)類(lèi)型,以及相關(guān)的機(jī)器學(xué)習(xí)技術(shù)的觀(guān)點(diǎn)來(lái)看,互聯(lián)網(wǎng)搜索經(jīng)歷了三代的發(fā)展歷程。
      ? ? ? ?第一代技術(shù),將互聯(lián)網(wǎng)網(wǎng)頁(yè)看作文本,主要采用傳統(tǒng)信息檢索的方法。
      ? ? ? ?第二代技術(shù),利用互聯(lián)網(wǎng)的超文本結(jié)構(gòu),有效地計(jì)算網(wǎng)頁(yè)的相關(guān)度與重要度,代表的算法有 PageRank 等。
      ? ? ? ?第三代技術(shù),有效利用日志數(shù)據(jù)與統(tǒng)計(jì)學(xué)習(xí)方法,使網(wǎng)頁(yè)相關(guān)度與重要度計(jì)算的精度有了進(jìn)一步的提升,代表的方法包括排序?qū)W習(xí)、網(wǎng)頁(yè)重要度學(xué)習(xí)、匹配學(xué)習(xí)、話(huà)題模型學(xué)習(xí)、查詢(xún)語(yǔ)句轉(zhuǎn)化學(xué)習(xí)。
      ? ? ? ?這里主要介紹機(jī)器學(xué)習(xí)排序。

      1. 機(jī)器學(xué)習(xí)排序(Learning to Rank)

      ? ? ? ?利用機(jī)器學(xué)習(xí)技術(shù)來(lái)對(duì)搜索結(jié)果進(jìn)行排序,這是最近幾年非常熱門(mén)的研究領(lǐng)域。信息檢索領(lǐng)域已經(jīng)發(fā)展了幾十年,為何將機(jī)器學(xué)習(xí)技術(shù)和信息檢索技術(shù)相互結(jié)合出現(xiàn)較晚?主要有兩方面的原因。

      ? ? ? ?一方面是因?yàn)?#xff1a;在前面幾節(jié)所述的基本檢索模型可以看出,用來(lái)對(duì)査詢(xún)和文檔的相關(guān)性進(jìn)行排序,所考慮的因素并不多,主要是利用詞頻、逆文檔頻率和文檔長(zhǎng)度這幾個(gè)因子來(lái)人工擬合排序公式。因?yàn)榭紤]因素不多,由人工進(jìn)行公式擬合是完全可行的,此時(shí)機(jī)器學(xué)習(xí)并不能派上很大用場(chǎng),因?yàn)闄C(jī)器學(xué)習(xí)更適合采用很多特征來(lái)進(jìn)行公式擬合,此時(shí)若指望人工將幾十種考慮因素?cái)M合出排序公式是不太現(xiàn)實(shí)的,而機(jī)器學(xué)習(xí)做這種類(lèi)型的工作則非常合適。隨著搜索引擎的發(fā)展,對(duì)于某個(gè)網(wǎng)頁(yè)進(jìn)行排序需要考慮的因素越來(lái)越多,比如網(wǎng)頁(yè)的pageRank值、查詢(xún)和文檔匹配的單詞個(gè)數(shù)、網(wǎng)頁(yè)URL鏈接地址長(zhǎng)度等都對(duì)網(wǎng)頁(yè)排名產(chǎn)生影響,Google目前的網(wǎng)頁(yè)排序公式考慮200多種因子,此時(shí)機(jī)器學(xué)習(xí)的作用即可發(fā)揮出來(lái),這是原因之一。
      ? ? ? 另外一個(gè)原因是:對(duì)于有監(jiān)督機(jī)器學(xué)習(xí)來(lái)說(shuō),首先需要大量的訓(xùn)練數(shù)據(jù),在此基礎(chǔ)上才可能自動(dòng)學(xué)習(xí)排序模型,單靠人工標(biāo)注大量的訓(xùn)練數(shù)據(jù)不太現(xiàn)實(shí)。對(duì)于搜索引擎來(lái)說(shuō), 盡管無(wú)法靠人工來(lái)標(biāo)注大量訓(xùn)練數(shù)據(jù),但是用戶(hù)點(diǎn)擊記錄是可以當(dāng)做機(jī)器學(xué)習(xí)方法訓(xùn)練數(shù)據(jù)的一個(gè)替代品,比如用戶(hù)發(fā)出一個(gè)查詢(xún),搜索引擎返回搜索結(jié)果,用戶(hù)會(huì)點(diǎn)擊其中某些網(wǎng)頁(yè),可以假設(shè)用戶(hù)點(diǎn)擊的網(wǎng)頁(yè)是和用戶(hù)查詢(xún)更加相關(guān)的頁(yè)面。盡管這種假設(shè)很多時(shí)候并 不成立,但是實(shí)際經(jīng)驗(yàn)表明使用這種點(diǎn)擊數(shù)據(jù)來(lái)訓(xùn)練機(jī)器學(xué)習(xí)系統(tǒng)確實(shí)是可行的。

      ? ? ? PS:簡(jiǎn)言之,上面兩個(gè)原因論述了為什么會(huì)出現(xiàn)學(xué)習(xí)排序?
      ? ? ? 傳統(tǒng)的排序方法是通過(guò)構(gòu)造一個(gè)排序函數(shù)實(shí)現(xiàn),在Information Retrieval領(lǐng)域一般按照相關(guān)度進(jìn)行排序。比較典型的是搜索引擎中一條查詢(xún)query,將返回一個(gè)相關(guān)的文檔document,然后根據(jù)(query,document)之間的相關(guān)度進(jìn)行排序,再返回給用戶(hù)。而隨著影響相關(guān)度的因素變多,使用傳統(tǒng)排序方法變得困難,人們就想到通過(guò)機(jī)器學(xué)習(xí)來(lái)解決這一問(wèn)題,這就導(dǎo)致了LRT的誕生。

      2. 機(jī)器學(xué)習(xí)的基本思路

      ? ? ? 傳統(tǒng)的檢索模型靠人工擬合排序公式,并通過(guò)不斷的實(shí)驗(yàn)確定最佳的參數(shù)組合,以此來(lái)形成相關(guān)性打分函數(shù)。機(jī)器學(xué)習(xí)排序與此思路不同,最合理的排序公式由機(jī)器自動(dòng)學(xué)習(xí)獲得,而人則需要給機(jī)器學(xué)習(xí)提供訓(xùn)練數(shù)據(jù)。

      ? ? ? 圖1是利用機(jī)器學(xué)習(xí)進(jìn)行排序的基本原理圖。?機(jī)器學(xué)習(xí)排序系統(tǒng)由4個(gè)步驟組成:人工標(biāo)注訓(xùn)練數(shù)據(jù)、文檔特征抽取、學(xué)習(xí)分類(lèi)函數(shù)、在實(shí)際搜索系統(tǒng)中采用機(jī)器學(xué)習(xí)模型。

      ? ? ??

      ? 圖1 ?機(jī)器學(xué)習(xí)排序原理

      ?????? 首先,由人工標(biāo)注訓(xùn)練數(shù)據(jù)。也就是說(shuō),對(duì)于某個(gè)查詢(xún)Q,人工標(biāo)出哪些文檔是和這個(gè)査詢(xún)相關(guān)的,同時(shí)標(biāo)出相關(guān)程度,相關(guān)程度有時(shí)候可以用數(shù)值序列來(lái)表示,比如從1分到5分為3個(gè)檔次,1代表微弱相關(guān),5代表最相關(guān),其他數(shù)值代表相關(guān)性在兩者之間。對(duì)于某個(gè)查詢(xún),可能相關(guān)文檔眾多,同時(shí)用戶(hù)査詢(xún)也五花八門(mén),所以全部靠人工標(biāo)注有時(shí)候 不太可能。此時(shí),可以利用用戶(hù)點(diǎn)擊記錄來(lái)模擬這種人工打分機(jī)制。
      ????? 對(duì)于機(jī)器學(xué)習(xí)來(lái)說(shuō),輸入是用戶(hù)查詢(xún)和一系列標(biāo)注好的文檔,機(jī)器學(xué)習(xí)系統(tǒng)需要學(xué)習(xí)打分函數(shù),然后按照打分函數(shù)輸出搜索結(jié)果,但是在其內(nèi)部,每個(gè)文檔由若干特征構(gòu)成的,即每個(gè)文檔進(jìn)入機(jī)器學(xué)習(xí)系統(tǒng)之前,首先需要將其轉(zhuǎn)換我餓滴特征向量,比較常用的特征包括:
      ? ? ? ·查詢(xún)?cè)~在文檔中的詞頻信息
      ?
      ? ? ? ·查詢(xún)?cè)~的IDF信息
      ? ? ? ·文檔長(zhǎng)度
      ? ? ? ·網(wǎng)頁(yè)的入鏈數(shù)量
      ? ? ? ·網(wǎng)頁(yè)的出鏈數(shù)量
      ? ? ? ·網(wǎng)頁(yè)的pageRank值
      ? ? ? ·網(wǎng)頁(yè)的URL松度
      ? ? ? ·査詢(xún)?cè)~的Proximity值:即在文檔中多大的窗口內(nèi)可以出現(xiàn)所有査詢(xún)?cè)~。

      ? ? ? ?以上所列只是影響排序的一部分特征,實(shí)際上還有很多類(lèi)似的特征可以作為特征向量中的一維加入。在確定了特征數(shù)量后,即可將文檔轉(zhuǎn)換為特征向量X,前面說(shuō)過(guò)每個(gè)文檔會(huì)人工標(biāo)出其相關(guān)性得分y。這樣每個(gè)文檔會(huì)轉(zhuǎn)換為<X,Y>的形式,即特征向量及其對(duì)應(yīng)的相關(guān)性得分,這樣就形成了一個(gè)具體的訓(xùn)練實(shí)例。

      ?????? 通過(guò)多個(gè)調(diào)練實(shí)例,就可以采用機(jī)器學(xué)習(xí)技術(shù)來(lái)對(duì)系統(tǒng)進(jìn)行訓(xùn)練,訓(xùn)練的結(jié)果往在是一個(gè)分類(lèi)函數(shù)或者回歸函數(shù),在之后的用戶(hù)搜索中,就可以用這個(gè)分類(lèi)函數(shù)對(duì)文檔進(jìn)行打分,形成搜索結(jié)果。

      ? ? ? ?從目前的研究方法來(lái)說(shuō),可以將機(jī)器學(xué)習(xí)排序方法分為以下3種:單文檔方法(Pointwise)、文檔對(duì)方法(Pairwise)和文檔列表方法(Listwise)。

      ? ? ? ?PS:Ranking學(xué)習(xí)作為機(jī)器學(xué)習(xí)研究的一個(gè)新方向,在信息檢索、協(xié)同濾波、專(zhuān)家發(fā)現(xiàn)等領(lǐng)域廣泛應(yīng)用。Ranking學(xué)習(xí)是指通過(guò)使用機(jī)器學(xué)習(xí)技術(shù)和有標(biāo)簽的數(shù)據(jù)來(lái)產(chǎn)生一個(gè)ranking模型,它是一種新的學(xué)習(xí),一種介于分類(lèi)和回歸之間的學(xué)習(xí)。
      ? ? ? ?Pointwise和Pairwise把排序問(wèn)題轉(zhuǎn)換成 回歸 、分類(lèi)或有序分類(lèi)問(wèn)題。Listwise把Query下整個(gè)搜索結(jié)果作為一個(gè)訓(xùn)練的實(shí)例。3種方法的區(qū)別主要體現(xiàn)在損失函數(shù)(Loss Function)上:
      ? ? ? ??Regression: treat relevance degree as real values
      ? ? ? ??Classification: treat relevance degree as categories
      ? ? ? ??Pairwise classification: reduce ranking to classifying the order between each pair of documents.

      ? ? ? ?下面是兩張圖,第一張表示學(xué)習(xí)排序的過(guò)程,第二章是基本的實(shí)現(xiàn)算法。



      3. 單文檔方法(PointWise Approach)

      ? ? ? ?單文檔方法的處理對(duì)象是單獨(dú)的一篇文檔,將文檔轉(zhuǎn)換為特征向量后,機(jī)器學(xué)習(xí)系統(tǒng)根據(jù)從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的分類(lèi)或者回歸函數(shù)對(duì)文檔打分,打分結(jié)果即是搜索結(jié)果。下面我們用一個(gè)簡(jiǎn)單的例子說(shuō)明這種方法。?
      ? ? ? ?圖2是人工標(biāo)注的訓(xùn)練集合,在這個(gè)例子中,我們對(duì)于每個(gè)文檔采用了3個(gè)特征: 査詢(xún)與文檔的Cosme相似性分值、査詢(xún)?cè)~的Proximity值及頁(yè)面的PageRank數(shù)值,而相關(guān)性判斷是二元的,即要么相關(guān)要么不相關(guān),當(dāng)然,這里的相關(guān)性判斷完全可以按照相關(guān)程度擴(kuò)展為多元的,本例為了方便說(shuō)明做了簡(jiǎn)化。

      ?

      圖2 訓(xùn)練數(shù)據(jù)

      ? ? ? ? 例子中提供了5個(gè)訓(xùn)練實(shí)例,每個(gè)訓(xùn)練實(shí)例分別標(biāo)出來(lái)其對(duì)應(yīng)的查詢(xún),3個(gè)特征的得分情況及相關(guān)性判斷。對(duì)于機(jī)器學(xué)習(xí)系統(tǒng)來(lái)說(shuō),根據(jù)訓(xùn)練數(shù)據(jù),需要如下的線(xiàn)性打分函數(shù):
      ? ? ? ??Score(Q, D)=a x CS+b x PM+cx PR+d
      ??????? 這個(gè)公式中,cs代表Cosine相似度變徽,PM代表Proximity值變量,PR代表pageRank, 而a、b、c、d則是變量對(duì)應(yīng)的參數(shù)。

      ??????? 如果得分大于設(shè)定閥值,則叫以認(rèn)為是相關(guān)的, 如果小于設(shè)定閩值則可以認(rèn)為不相關(guān)。通過(guò)訓(xùn)練實(shí)例,可以獲得最優(yōu)的a、b、c、d參數(shù)組合,當(dāng)這些參數(shù)確定后,機(jī)器學(xué)習(xí)系統(tǒng)就算學(xué)習(xí)完畢,之后即可利用這個(gè)打分函數(shù)進(jìn)行相關(guān)性判斷。對(duì)于某個(gè)新的查詢(xún)Q和文檔D,系統(tǒng)首先獲得其文檔D對(duì)應(yīng)的3個(gè)特 I特征值,之后利用學(xué)習(xí)到的參數(shù)組合計(jì)算兩者得分,當(dāng)?shù)梅执笥谠O(shè)定的閩值,即可判斷文檔是相關(guān)文檔,否則判斷為不相關(guān)文檔。

      ? ? ? ? PS:而微軟給定的數(shù)據(jù)如下
      ? ? ? ? ? =============================================================
      ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0 qid:1 1:3 2:0 3:2 4:2 ... 135:0 136:0?
      ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 qid:1 1:3 2:3 3:0 4:0 ... 135:0 136:0?
      ? ? ? ? ? =============================================================
      ? ? ? ? 其數(shù)據(jù)格式: label?qid:id ?feaid:feavalue ?feaid:feavalue ...
      ? ? ? ? 每行表示一個(gè)樣本,相同的查詢(xún)請(qǐng)求的樣本qid相同,上面就是兩個(gè)對(duì)qid為“1”的查詢(xún);label表示該樣本和該查詢(xún)請(qǐng)求的相關(guān)程度,該label等級(jí)劃分方式為?{Perfect, Excellent,Good, Fair, Bad}?共五個(gè)類(lèi)別。

      4. 文檔對(duì)方法(PairWise Approach)

      ??????? 對(duì)于搜索系統(tǒng)來(lái)說(shuō),系統(tǒng)接收到用戶(hù)査詢(xún)后,返回相關(guān)文檔列表,所以問(wèn)題的關(guān)鍵是確定文檔之間的先后順序關(guān)系。單文檔方法完全從單個(gè)文檔的分類(lèi)得分角度計(jì)算,沒(méi)有考慮文檔之間的順序關(guān)系。文檔對(duì)方法則將重點(diǎn)轉(zhuǎn)向量對(duì)文檔順序關(guān)系是否合理進(jìn)行判斷。

      ??????? 之所以被稱(chēng)為文檔對(duì)方法,是因?yàn)檫@種機(jī)器學(xué)習(xí)方法的訓(xùn)練過(guò)程和訓(xùn)練目標(biāo),是判斷任意兩個(gè)文檔組成的文檔對(duì)<D0C1,D0C2>是否滿(mǎn)足順序關(guān)系,即判斷是否D0C1應(yīng)該排在DOC2的前面。圖3展示了一個(gè)訓(xùn)練實(shí)例:査詢(xún)Q1對(duì)應(yīng)的搜索結(jié)果列表如何轉(zhuǎn)換為文檔對(duì)的形式,因?yàn)閺娜斯?biāo)注的相關(guān)性得分可以看出,D0C2得分最高,D0C3次之,D0C1得分最低,于是我們可以按照得分大小順序關(guān)系得到3個(gè)如圖3所示的文檔對(duì),將每個(gè)文檔對(duì)的文檔轉(zhuǎn)換為特征向量后,就形成了一個(gè)具體的訓(xùn)練實(shí)例。

      ? ??

      圖3 ?文檔對(duì)的方法訓(xùn)練實(shí)例

      ?????? 根據(jù)轉(zhuǎn)換后的訓(xùn)練實(shí)例,就可以利用機(jī)器學(xué)習(xí)方法進(jìn)行分類(lèi)函數(shù)的學(xué)習(xí),具體的學(xué)習(xí)方法有很多,比如SVM. Boosts、神經(jīng)網(wǎng)絡(luò)等都可以作為具體的學(xué)習(xí)方法,但是不論具體方法是什么,其學(xué)習(xí)目標(biāo)都是一致的,即輸入- 個(gè)査詢(xún)和文檔對(duì)<Docl,DOC2>, 機(jī)器學(xué)習(xí)排序能夠判斷這種順序關(guān)系是否成立,如果成立,那么在搜索結(jié)果中D0C1應(yīng)該排在D0C2 前面,否則Doe2應(yīng)該摔在Docl前面,通過(guò)這種方式,就完成搜索結(jié)果的排序任務(wù)。
      ??????? 盡管文檔對(duì)方法相對(duì)單文檔方法做出了改進(jìn),但是這種方法也存在兩個(gè)明顯的問(wèn)題:

      ?????? 一個(gè)問(wèn)題是:文檔對(duì)方法只考慮了兩個(gè)文檔對(duì)的相對(duì)先后順序,卻沒(méi)有考慮文檔出現(xiàn)在搜索列表中的位置,排在搜索站果前列的文檔更為重要,如果前列文檔出現(xiàn)判斷錯(cuò)誤,代價(jià)明顯高于排在后面的文檔。針對(duì)這個(gè)問(wèn)題的改進(jìn)思路是引入代價(jià)敏感因素,即每個(gè)文檔對(duì)根據(jù)其在列表中的順序具有不同的權(quán)重,越是排在前列的權(quán)重越大,即在搜索列表前列如 果排錯(cuò)順序的話(huà)其付出的代價(jià)更高?
      ??????? 另外一個(gè)問(wèn)題是:不同的査詢(xún),其相關(guān)文檔數(shù)量差異很大,所以轉(zhuǎn)換為文檔對(duì)之后, 有的查詢(xún)對(duì)能有幾百個(gè)對(duì)應(yīng)的文檔對(duì),而有的查詢(xún)只有十幾個(gè)對(duì)應(yīng)的文檔對(duì),這對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的效果評(píng)價(jià)造成困難 ?我們?cè)O(shè)想有兩個(gè)查詢(xún),査詢(xún)Q1對(duì)應(yīng)500個(gè)文文檔對(duì),查詢(xún)Q2 對(duì)應(yīng)10個(gè)文檔對(duì),假設(shè)學(xué)習(xí)系統(tǒng)對(duì)于査詢(xún)Ql的文檔對(duì)能夠判斷正確480個(gè),對(duì)于査詢(xún) Q2的義格對(duì)能夠判新正確2個(gè),如果從總的文檔對(duì)數(shù)量來(lái)看,這個(gè)學(xué)習(xí)系統(tǒng)的準(zhǔn)確率是 (480+2)/(500+10)=0.95.即95%的準(zhǔn)確率,但是從査詢(xún)的角度,兩個(gè)査詢(xún)對(duì)應(yīng)的準(zhǔn)確率 分別為:96%和20%,兩者平均為58%,與純粹從文檔對(duì)判斷的準(zhǔn)確率相差甚遠(yuǎn),這對(duì)如何繼續(xù)調(diào)優(yōu)機(jī)器學(xué)習(xí)系統(tǒng)會(huì)帶來(lái)困擾。

      ? ? ? ?PS:Pairwise方法有很多的實(shí)現(xiàn),比如SVM Rank(開(kāi)源), 還有RankNet(C. Burges, et al. ICML 2005), FRank(M.Tsai, T.Liu, et al. SIGIR 2007),RankBoost(Y. Freund, et al. JMLR 2003)等等。
      ? ? ? ? 你通常會(huì)看到微軟數(shù)據(jù)集每個(gè)Fold文件夾下有train.txt test.txt vail.text三個(gè)文件,它們分別的作用是什么呢?
      ? ? ? ? 訓(xùn)練集--用于學(xué)習(xí)參數(shù),比如可以訓(xùn)練10個(gè)不同階的線(xiàn)性模型,這里得到每個(gè)特征值的權(quán)值驗(yàn)證集--用來(lái)選擇模型,主要考慮的準(zhǔn)則是在新的數(shù)據(jù)上的泛化能力,比如根據(jù)各個(gè)模型在驗(yàn)證集上的權(quán)值,選擇了3階的模型測(cè)試集--測(cè)試模型,測(cè)試這個(gè)被選中的3階模型的表現(xiàn)。

      4. 文檔列表方法(ListWise Approach)

      ????????? 單文檔方法將訓(xùn)練集里每一個(gè)文檔當(dāng)做一個(gè)訓(xùn)練實(shí)例,文檔對(duì)方法將同一個(gè)査詢(xún)的搜索結(jié)果里任意兩個(gè)文檔對(duì)作為一個(gè)訓(xùn)練實(shí)例,文檔列表方法與上述兩種表示方式不同,是將每一個(gè)查詢(xún)對(duì)應(yīng)的所有搜索結(jié)果列表整體作為一個(gè)訓(xùn)練實(shí)例,這也是為何稱(chēng)之為文檔列表方法的原因。
      ??????? 文檔列表方法根據(jù)K個(gè)訓(xùn)練實(shí)例(一個(gè)査詢(xún)及其對(duì)應(yīng)的所有搜索結(jié)果評(píng)分作為一個(gè)實(shí) 例)訓(xùn)練得到最優(yōu)評(píng)分函數(shù)F, 對(duì)于一個(gè)新的用戶(hù)査詢(xún),函數(shù)F 對(duì)每一個(gè)文檔打分,之后按照得分順序由高到低排序,就是對(duì)應(yīng)的搜索結(jié)果。 所以關(guān)鍵問(wèn)題是:拿到訓(xùn)練數(shù)據(jù),如何才能訓(xùn)練得到最優(yōu)的打分函數(shù)?

      ??????? 這里介紹一種訓(xùn)練方法,它是基于搜索結(jié)果排列組合的概率分布情況來(lái)訓(xùn)練的,圖4是這種方式訓(xùn)練過(guò)程的圖解示意。

      ? ? ??

      圖4 不同評(píng)分函數(shù)的KL距離

      ? ? ? ? 首先解釋下什么是搜索結(jié)果排列組合的概率分布,我們知道,對(duì)于搜索 引擎來(lái)說(shuō),用戶(hù)輸入査詢(xún)Q, 搜索引擎返回搜索結(jié)果,我們假設(shè)搜索結(jié)果集合包含A. B 和C 3個(gè)文檔,搜索引擎要對(duì)搜索結(jié)果排序,而這3個(gè)文檔的順序共有6種排列組合方式:

      ? ? ? ??ABC, ACB, BAG, BCA, CAB和CBA,

      ? ? ? ? 而每種排列組合都是一種可能的搜索結(jié)果排序方法。

      ??????? 對(duì)于某個(gè)評(píng)分函數(shù)F來(lái)說(shuō),對(duì)3個(gè)搜索結(jié)果文檔的相關(guān)性打分,得到3個(gè)不同的相關(guān)度得分F(A)、 F(B)和F(C), 根據(jù)這3個(gè)得分就可以計(jì)算6種排列組合情況各自的概率值。 不同的評(píng)分函數(shù),其6種搜索結(jié)果排列組合的概率分布是不一樣的。
      ????? 了解了什么是搜索結(jié)果排列組合的概率分布,我們介紹如何根據(jù)訓(xùn)練實(shí)例找到最優(yōu)的 評(píng)分函數(shù)。圖4展示了一個(gè)具體的訓(xùn)練實(shí)例,即査詢(xún)Q1及其對(duì)應(yīng)的3個(gè)文檔的得分情況,這個(gè)得分是由人工打上去的,所以可以看做是標(biāo)準(zhǔn)答案。可以設(shè)想存在一個(gè)最優(yōu)的評(píng)分函數(shù)g,對(duì)查詢(xún)Q1來(lái)說(shuō),其打分結(jié)果是:A文檔得6分,B文檔得4分,C文檔得3分, 因?yàn)榈梅质侨斯ご虻?#xff0c;所以具體這個(gè)函數(shù)g是怎樣的我們不清楚,我們的任務(wù)就是找到一 個(gè)函數(shù),使得函數(shù)對(duì)Ql的搜索結(jié)果打分順序和人工打分順序盡可能相同。既然人工打分 (虛擬的函數(shù)g) 已知,那么我們可以計(jì)算函數(shù)g對(duì)應(yīng)的搜索結(jié)果排列組合概率分布,其具體分布情況如圖4中間的概率分布所示。假設(shè)存在兩個(gè)其他函數(shù)h和f,它們的計(jì)算方法已知,對(duì)應(yīng)的對(duì)3個(gè)搜索結(jié)果的打分在圖上可以看到,由打分結(jié)果也可以推出每個(gè)函數(shù)對(duì)應(yīng)的搜索結(jié)果排列組合概率分布,那么h與f哪個(gè)與虛擬的最優(yōu)評(píng)分函數(shù)g更接近呢?一般可以用兩個(gè)分布概率之間的距離遠(yuǎn)近來(lái)度量相似性,KL距離就是一種衡量概率分布差異大小的計(jì)算工具,通過(guò)分別計(jì)算h與g的差異大小及f與g的差異大小,可以看出f比h更接近的最優(yōu)函數(shù)g,那么在這個(gè)函數(shù)中,我們應(yīng)該優(yōu)先選f作為將來(lái)搜索可用的評(píng)分函數(shù),訓(xùn)練過(guò)程就是在可能的函數(shù)中尋找最接近虛擬最優(yōu)函數(shù)g的那個(gè)函數(shù)作為訓(xùn)練結(jié)果,將來(lái)作為在搜索時(shí)的評(píng)分函數(shù)。

      ?????? 上述例子只是描述了對(duì)于單個(gè)訓(xùn)練實(shí)例如何通過(guò)訓(xùn)練找到最優(yōu)函數(shù),事實(shí)上我們有K 個(gè)訓(xùn)練實(shí)例,雖然如此,其訓(xùn)練過(guò)程與上述說(shuō)明是類(lèi)似的,可以認(rèn)為存在一個(gè)虛擬的最優(yōu) 評(píng)分函數(shù)g (實(shí)際上是人工打分),訓(xùn)練過(guò)程就是在所有訓(xùn)練實(shí)例基礎(chǔ)上,探尋所有可能的 候選函數(shù),從中選擇那個(gè)KL距離最接近于函數(shù)g的,以此作為實(shí)際使用的評(píng)分函數(shù)。 經(jīng)驗(yàn)結(jié)果表明,基于文檔列表方法的機(jī)器學(xué)習(xí)排序效果要好于前述兩種方法。

      總結(jié)

      以上是生活随笔為你收集整理的机器学习排序之Learning to Rank简单介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

      如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。