學習排序演算法(一):單文件方法 pointwise
這樣的方法主要是將搜尋結果的文件變為特徵向量,然後將排序問題轉化成了機器學習中的常規的分類問題,並且是個多類分類問題。
pointwise方法的主要流程例如以下:
我們能夠看出。整個流程分為三部分:提取特徵做訓練;分類演算法學習;測試query排序。
我們能夠把ranking量化成多個標記。比方。
然後每乙個文件相應乙個分類標記,這樣就成了標準的分類問題形式了(樣本特徵-類別標記)。
網上給出了乙個案例。例如以下:
此時。我們就能夠用機器學習中的分類演算法來學習。
怎樣對測試query的搜尋結果排序呢?非常easy。我們提取這些搜尋結果文件的特徵,然後對學習到的模型分類。分類之後依照標記進行排序~
演算法學習(一) 基本排序演算法
原理 序列中的元素兩兩比較,小 大 的元素交換到大 小 的元素前面,就像氣泡從水中浮出一樣。優化後的氣泡排序 public void bubblesort int arr 演算法時間複雜度 o n 2 原理 從左至右遍歷,找到最小 大 的元素,然後與第乙個元素交換 從剩餘未排序元素中繼續尋找最小 大...
演算法學習(一) 快速排序
快速排序演算法是對包含n個數的輸入陣列進行排序,演算法的期望時間為 nlgn 最壞的執行時間為 n2 並且其使用就地排序。舉個例子 對陣列a p.r 排序可分成以下三個步驟 分解 陣列a p.r 劃分成a p.q 1 和a q 1.r 使得a p.q 1 中的每個元素都小於等於a q 而且小於等於a...
經典排序演算法學習筆記一 氣泡排序
資料結構 陣列 最差時間複雜度 o n 2 最優時間複雜度 o n 平均時間複雜度 o n 2 最差空間複雜度 總共o n 需要輔助空間o 1 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所...