學習排序演算法簡介
學習排序(learning to rank, ltr)是一類基於機器學習方法的排序演算法。
傳統經典的模型,例如基於tfidf特徵的vsm模型,很難融入多種特徵,也就是除了tfidf特徵之外,就無法融入其他種類的特徵了。
而機器學習的方法很容易融合多種特徵,而且有成熟深厚的理論基礎,引數也是通過迭代計算出來的,有一套成熟理論來解決稀疏、過擬合等問題。
ltr方法大致可以分成三類:1) pointwise 單文件方法
2) pairwise 文件對方法
3) listwise 文件列表方法
ltr演算法在實際中應用很多,比如你在搜尋引擎中輸入乙個query,得到了一系列的搜尋結果,那麼如何根據你的query,對這些結果進行排序呢?因為我們需要把與query最相關的result排在最前面吧~機器翻譯的時候也會有個翻譯結果排序的過程。所以說,ltr演算法還是很有用滴~
下面的部落格中,我們會具體介紹上面的每一類演算法~
排序演算法簡介
所有 經過除錯可以執行,只是自己的一些簡單想法的總結,希望大家能多多批評謝謝!所使用到的標頭檔案 include define maxsize 100 typedef int keytype typedef structrecordtype typedef structtable 插入排序 直接插入...
氣泡排序 排序演算法簡介
根據排序過程中的主要操作,可以將內排序分為以下幾種 插入排序 直接插入排序,希爾排序 改進的直接插入排序 交換排序 氣泡排序,快速排序 改進的氣泡排序 選擇排序 簡單選擇排序,堆排序 改進的簡單選擇排序 歸併排序 歸併排序 本次主要介紹氣泡排序,接下來,將會陸續介紹以上各種排序演算法,以 加圖標的方...
排序演算法 基數排序簡介
基數排序也是一種穩定排序演算法,且一般計數排序被用在基數排序過程中。基數排序包括 lsd least significant digital 和 msd least significant digital 兩大類。lsd 基數排序的思想非常直觀 假設乙個陣列的最高位有 d dd 位,那麼依次從低位向...