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

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

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【学习排序】 Learning to Rank中Pointwise关于PRank算法源码实现

發(fā)布時(shí)間:2024/5/28 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【学习排序】 Learning to Rank中Pointwise关于PRank算法源码实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 最近終于忙完了Learning to Rank的作業(yè),同時(shí)也學(xué)到了很多東西.我準(zhǔn)備寫幾篇相關(guān)的文章簡(jiǎn)單講述自己對(duì)它的理解和認(rèn)識(shí).第一篇準(zhǔn)備講述的就是Learning to Rank中Pointwise的認(rèn)識(shí)及PRank算法的實(shí)現(xiàn).主要從以下四個(gè)方面進(jìn)行講述:
? ?
1.學(xué)習(xí)排序(Learning to Rank)概念
? ? 2.基于點(diǎn)的排序算法(Pointwise)介紹
? ? 3.基于順序回歸(Ordinal Regression-based)的PRank排序算法
? ? 4.PRank算法Java\C++實(shí)現(xiàn)及總結(jié)

一. 學(xué)習(xí)排序(Learning to Rank)概念

? ??學(xué)習(xí)排序概念推薦轉(zhuǎn)載的文章:機(jī)器學(xué)習(xí)排序之Learning to Rank簡(jiǎn)單介紹
? ? 1.首先,為什么會(huì)出現(xiàn)學(xué)習(xí)排序呢?
? ??傳統(tǒng)的排序方法是通過(guò)構(gòu)造一個(gè)排序函數(shù)實(shí)現(xiàn),在Information Retrieval領(lǐng)域一般按照相關(guān)度進(jìn)行排序。比較典型的是搜索引擎中一條查詢query,將返回一個(gè)相關(guān)的文檔document,然后根據(jù)(query,document)之間的相關(guān)度進(jìn)行排序,再返回給用戶。
? ? 而隨著影響相關(guān)度的因素(如PageRank)變多,Google目前排序方法考慮了200多種方法。這使得傳統(tǒng)排序方法變得困難,人們就想到通過(guò)機(jī)器學(xué)習(xí)來(lái)解決這一問(wèn)題,這就導(dǎo)致了Learning to Rank的誕生。

? ? 2.然后是學(xué)習(xí)排序的基本流程如下圖所示.
? ? 很明顯它就是基本步驟就是通過(guò)訓(xùn)練集數(shù)據(jù)(Train Set)學(xué)習(xí)得到模型h,然后通過(guò)該模型去對(duì)測(cè)試集數(shù)據(jù)(Test Set)進(jìn)行計(jì)算和排序,最后得到一個(gè)預(yù)測(cè)的結(jié)果.


? ??3.那么,學(xué)習(xí)排序的數(shù)據(jù)集是怎樣的一個(gè)東西呢?也就是上圖中x、y、h分別代表著什么呢?
? ?
數(shù)據(jù)集可參考微軟136維數(shù)據(jù)——MSLR-WEB10K?它是2010年的數(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è)樣本,相同的查詢請(qǐng)求的樣本qid相同,上面就是兩個(gè)對(duì)qid為“1”的查詢;label表示該樣本和該查詢請(qǐng)求的相關(guān)程度,該label等級(jí)劃分方式為?{Perfect, Excellent,Good, Fair, Bad}?共五個(gè)類別,后面對(duì)應(yīng)的是特征和特征值,我們通常使用的<X,Y>即是<特征量,人工標(biāo)注>.
? ? 同樣你也可以使用比較經(jīng)典的2007的數(shù)據(jù)集——
LETOR4.0,它是46維數(shù)據(jù).如下圖所示:

? ??它表示每行相當(dāng)于一個(gè)Document(樣本文檔),第一行是樣本相關(guān)程度,在46維中l(wèi)abel共三個(gè)值:2-完全相關(guān)、1-部分相關(guān)、0-不相關(guān);同時(shí)qid相同表示同一個(gè)查詢對(duì)應(yīng)多行樣本;中間是46維特征之,最后#相當(dāng)于注釋解釋.
? ? 4.如果你還是不清楚,我換成通俗的例子解釋:


?? ?比如,現(xiàn)在你在Google瀏覽器中輸入"Learning to Rank",它就相當(dāng)于一個(gè)qid.而下面列出的各個(gè)鏈接就是多個(gè)樣本集合,其中每一個(gè)都有200多種影響因素(如其中一種PageRank).在學(xué)習(xí)過(guò)程中需要找到一個(gè)模型來(lái)預(yù)測(cè)新查詢文檔的得分,并排序計(jì)算出用戶最想要的結(jié)果.
? ? PS:這是我的個(gè)人理解,如果有錯(cuò)誤或不足之處,歡迎提出!
?

二. 基于點(diǎn)的排序算法(Pointwise)介紹

? ??機(jī)器學(xué)習(xí)解決排序?qū)W習(xí)問(wèn)題可分為3類:
? ? 1.基于回歸排序?qū)W習(xí)(regression-based algorithms):序列轉(zhuǎn)為實(shí)數(shù)
? ? 2.基于分類排序?qū)W習(xí)(classification-based algorithms):二值分類
? ? 3.基于順序回歸排序?qū)W習(xí)(ordinal regression-based algorithms)

? ? 但是這里我想講述的是最常見(jiàn)的分類,它們應(yīng)該與上面是交叉的:
? ? 1.基于點(diǎn)的LTR算法——Pointwise Approach
? ? 2.基于對(duì)的LTR算法——Pairwise Approach
? ? 3.基于列的LTR算法——Listwise Approach

? ??Pointwise處理對(duì)象是一篇文檔,將文檔轉(zhuǎn)化為特征向量后,機(jī)器學(xué)習(xí)系統(tǒng)根據(jù)訓(xùn)練得出的模型對(duì)文檔進(jìn)行打分(注意:訓(xùn)練集學(xué)習(xí)出權(quán)重模型去給測(cè)試集文檔打分是LTR中非常經(jīng)典的用法),打分的順序即為搜索排序的結(jié)果.
? ?
Score(x)=w1*F1+w2*F2+w3*F3+...+w136*F136
? ? 其中w1-w136為136維對(duì)應(yīng)權(quán)重參數(shù),由訓(xùn)練集訓(xùn)練得到;F1-F136為測(cè)試文檔給出136個(gè)特征值.
? ? 原數(shù)據(jù)有5個(gè)類標(biāo)(0-4代表相關(guān)程度:Perfect>Excellent>Good>Fair>Bad),則設(shè)置5個(gè)閾值來(lái)區(qū)分所得分?jǐn)?shù)的分類.如果得分大于相關(guān)閾值,則劃分為相應(yīng)的類.常見(jiàn)算法包括:Prank、McRank
? ? 下面是我自己畫的一張圖,其中四根紅線是四個(gè)閾值,它把這些文檔集劃分為了五個(gè)不同類.每當(dāng)一個(gè)新的文檔來(lái)測(cè)試,它都會(huì)根據(jù)已有模型計(jì)算出相應(yīng)分?jǐn)?shù),再根據(jù)分?jǐn)?shù)和閾值劃分類即可.



三. PRank算法介紹

? ? PRank算法是基于點(diǎn)的排序?qū)W習(xí),順序回歸學(xué)習(xí)問(wèn)題.其算法主要參考Kolby Crammer & Yoram Singer(From:The HeBrew University,以色列希伯來(lái)大學(xué))論文《Pranking with Ranking》.網(wǎng)址如下:
? ??http://papers.nips.cc/paper/2023-pranking-with-ranking.pdf
? ? 算法過(guò)程如下:

? ??算法描述:(感覺(jué)算法一目了然,但是我功力不夠描述不清楚)
? ? 對(duì)于46維數(shù)據(jù)而言,它存在3個(gè)類標(biāo)(0-2).故上述算法中初始閾值b[0]=b[1]=b[2]=0,b[3]=正無(wú)窮.
? ? 注意它只有一層循環(huán)For(1...T)表示樣本集的總行數(shù),而沒(méi)有進(jìn)行迭代(CSDN三國(guó)那個(gè)例子含迭代錯(cuò)誤);它主要是通過(guò)預(yù)測(cè)標(biāo)號(hào)y~和實(shí)際標(biāo)號(hào)y進(jìn)行對(duì)比,來(lái)更新權(quán)重和閾值.

? ? 在H排序決策函數(shù)中,它通過(guò)K個(gè)閾值b把空間劃分為K個(gè)連續(xù)的子空間,每個(gè)子空間對(duì)應(yīng)一個(gè)序列號(hào),即滿足所有的樣本x都有相同的排序結(jié)果.對(duì)每個(gè)樣本,先計(jì)算權(quán)重w與xi的內(nèi)積w·x,找出所有滿足w·x-br中最小的br,并將此br對(duì)應(yīng)的序標(biāo)號(hào)xi作為排序模型對(duì)樣本的預(yù)測(cè)排序結(jié)果.
? ? 推薦中文資料:南開(kāi)大學(xué)論文《基于PRank算法的主動(dòng)排序?qū)W習(xí)算法》

四. PRank算法Java\C++實(shí)現(xiàn)及總結(jié)

? ? 1.Java代碼實(shí)現(xiàn)
? ?
代碼中有詳細(xì)注釋,每個(gè)步驟都是按照上面的算法進(jìn)行設(shè)計(jì)的.左圖是主函數(shù),它主要包括:讀取文件并解析數(shù)據(jù)、寫數(shù)據(jù)(該函數(shù)可注釋掉,它是我用于驗(yàn)證讀取是否正確時(shí)寫的)、學(xué)習(xí)排序模型和打分預(yù)測(cè).右圖是預(yù)測(cè)排序結(jié)果的算法.

? ?代碼如下: package com.example.pointwise;import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List;/*** Pointwise基于點(diǎn)學(xué)習(xí)排序(Learning to Rank)的Prank算法* @author Eastmount YXZ* 參考資料* 該算法從136維數(shù)據(jù)集改成46維數(shù)據(jù)集,中間可能有注釋不一致現(xiàn)象* (原始論文) http://papers.nips.cc/paper/2023-pranking-with-ranking.pdf* (新浪) http://blog.sina.com.cn/s/blog_4c98b960010008xn.html* (CSDN)http://blog.csdn.net/pennyliang/article/details/17333373*/ public class Prank {public int RANK_NUM = 10000; //記錄總樣本數(shù) (總行數(shù))public int RANK_CATA = 46; //排序的特征維數(shù) (數(shù)據(jù)集136維 后改為46維)public int RANK_ITER = 1; //排序的迭代次數(shù) (原文迭代1次)public int RANK_LABEL= 3; //排序劃分的閾值 (微軟數(shù)據(jù)集劃分5類 0-4) 3維全相關(guān),部分相關(guān),不相關(guān)//采用該方法實(shí)現(xiàn)動(dòng)態(tài)數(shù)組添加數(shù)據(jù)List<Float> weight = null; //特征值的權(quán)重向量 (46個(gè) 136個(gè))//訓(xùn)練集數(shù)據(jù) 每行共48個(gè)數(shù)據(jù) (46個(gè)特征值 二維數(shù)組-feature[行號(hào)][46] + 真實(shí)Label值0-2 + qid值)List<List<Float>> x = null; Float [] b = null; //閾值數(shù) K+1個(gè)(RANK_LABEL+1)public int sumLabel = 0; //文件總行數(shù) (標(biāo)記數(shù))/** * 函數(shù)功能 讀取文件* 參數(shù) String filePath 文件路徑*/public void ReadTxtFile(String filePath) throws IOException {String encoding="GBK";File file = new File(filePath); //文件BufferedReader bufferedReader = null;try {//判斷文件是否存在if(file.isFile() && file.exists()) { //輸入流InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding); bufferedReader = new BufferedReader(read);String lineTxt = null;sumLabel =0; //記錄總樣本數(shù)x = new ArrayList<List<Float>> ();//按行讀取數(shù)據(jù)并分解數(shù)據(jù)while((lineTxt = bufferedReader.readLine()) != null) {String str = null;int lengthLine = lineTxt.length();List<Float> subList=new ArrayList<Float>();x.add(subList);//獲取數(shù)據(jù) 字符串空格分隔String arrays[] = lineTxt.split(" ");for(int i=2; i<arrays.length; i++) {if(i>=48) { //#號(hào)后跳出 后面注釋不進(jìn)行讀取continue;}//獲取特征:特征值 如1:0.0004String subArrays[] = arrays[i].split(":");int number = Integer.parseInt(subArrays[0]); //判斷特征 float value = Float.parseFloat(subArrays[1]); subList.add(value); }//獲取每行樣本的Label值 i=0 (五個(gè)等級(jí)0-4)subList.add(Float.parseFloat(arrays[0]));//獲取qid值 i=1String subArrays[] = arrays[1].split(":");subList.add(Float.parseFloat(subArrays[1]));//總行數(shù)+1sumLabel++; } //End 按行讀取read.close();} else {System.out.println("找不到指定的文件\n");}} catch (Exception e) {System.out.println("讀取文件內(nèi)容出錯(cuò)");e.printStackTrace();} finally {bufferedReader.close();}}/*** 函數(shù) 寫文件* 參數(shù) String filePath 文件路徑* 注意 該函數(shù)還是136維數(shù)據(jù),但算法該成46維 故不使用該函數(shù) */public void WriteTxtFile(String filePath) {try {System.out.println("文件輸出");String encoding = "GBK";FileWriter fileWriter = new FileWriter(filePath);//按行寫文件for(int i=0; i<sumLabel; i++) {fileWriter.write("樣本行數(shù)"+i+"\r\n");fileWriter.flush(); String value;//寫數(shù)據(jù)特征值 136for(int j=0;j<136;j++) {value = String.valueOf(x.get(i).get(j)); //輸出第i行 第j個(gè)特征值 fileWriter.write(value+" ");}//label等級(jí) qidfileWriter.write("\r\n");value = String.valueOf(x.get(i).get(136)); //labelfileWriter.write(value+" ");value = String.valueOf(x.get(i).get(137));fileWriter.write(value+" ");fileWriter.write("\r\n");}fileWriter.close();} catch(Exception e) {e.printStackTrace();}} /*** 學(xué)習(xí)排序* 主要功能計(jì)算136維權(quán)重w和劃分五個(gè)等級(jí)的閾值b*/public void LearningToRank() {int realRank; //真實(shí)Label等級(jí)int predictRank; //預(yù)測(cè)Label等級(jí)Float[] y= new Float[RANK_LABEL+1]; //new labelFloat tao [] = new Float[RANK_LABEL+1];//初始化權(quán)重 全為0weight = new ArrayList<Float>();for(int i=0; i< RANK_CATA; i++){ //特征向量的維數(shù)weight.add((float) 0.0);}//初始化閾值 b[0]=b[1]=[2]=0 b[3]=正無(wú)窮大b=new Float[RANK_LABEL+1];for(int i=0; i<RANK_LABEL; i++){ //b[0] b[1] b[2]b[i] = (float) 0.0;}b[RANK_LABEL] = Float.POSITIVE_INFINITY; //b[3]/** 開(kāi)始計(jì)算權(quán)重 * 注意:迭代主要參照CSDN博客,它沒(méi)有退出.同時(shí)沒(méi)有損失計(jì)算,其結(jié)果差別不大* 同時(shí)原論文中Loop 1...T是總行數(shù) 并沒(méi)有講述迭代*/for(int iter = 0; iter < RANK_ITER; iter++){ //總的迭代次數(shù) RANK_ITER=1for(int i=0; i< RANK_NUM; i++){ //總樣本數(shù) 可以設(shè)置讀取txt中部分//測(cè)試順序predictRank = 1;//權(quán)重*特征向量-閾值float sumWX = (float) 0.0;for(int z=0; z<46; z++) {sumWX += weight.get(z)*x.get(i).get(z); } //預(yù)測(cè)排名for(int r=1;r<=RANK_LABEL;r++) { //閾值數(shù) RANK_LABEL=3if(sumWX-b[r]<0) {predictRank = r;break;}}//獲取真實(shí)等級(jí) 即數(shù)據(jù)集中第一個(gè)Label數(shù)字realRank = Math.round(x.get(i).get(46)); //四舍五入并轉(zhuǎn)整數(shù)if(realRank!=predictRank) {for(int r=1; r < RANK_LABEL; r++){//若136維數(shù)據(jù) 5個(gè)值時(shí)if(realRank <= r) { // y形如 1 1 -1 -1 -1y[r] = (float)-1;}else {y[r] = (float)1;}}float tao_sum = (float) 0.0; //tau和for(int r=1; r < RANK_LABEL; r++) { //三個(gè)等級(jí)//權(quán)重*特征向量-閾值if((sumWX - b[r]) * y[r] <= 0) {tao[r] = y[r];} else {tao[r] = (float) 0.0;}tao_sum += tao[r]; }//更新數(shù)據(jù)for(int z=0; z<RANK_CATA; z++) { //136維權(quán)重float newWeight = weight.get(z) +tao_sum*x.get(i).get(z);weight.set(z, newWeight);} for(int r=1;r < RANK_LABEL;++r) { //5個(gè)閾值b[r] = b[r] - tao[r]; }} //End ifelse {continue;}} //End 樣本總數(shù)} //End 迭代次數(shù)}/*** 函數(shù) 預(yù)測(cè)排序結(jié)果* 主要 通過(guò)LearningToRank()函數(shù)計(jì)算的得分計(jì)算分?jǐn)?shù),再根據(jù)閾值劃分等級(jí)*/public void PredictNewLabel() {float rightCount = 0;float score = (float) 0.0;for(int i=0; i < RANK_NUM; i++){int predict_r = 1;//權(quán)重*特征向量-閾值 (W*X-B)float sumWX = (float) 0.0; for(int z=0; z<46; z++) {sumWX = sumWX + weight.get(z) * x.get(i).get(z);}for(int r=1; r<= RANK_LABEL; r++){ //5if(sumWX < b[r]){score = sumWX;predict_r = r;break;}}//計(jì)算正確概率if(predict_r == Math.round(x.get(i).get(46))) //46維數(shù)據(jù) 46-label 47-qid 0-45特征值{rightCount++;}System.out.println("predict="+predict_r+" score="+score+" real="+x.get(i).get(46));}//輸出結(jié)果System.out.println("正確率:"+rightCount/(float)RANK_NUM);System.out.println("輸出閾值");for(int i= 1;i<4;i++){System.out.println(b[i]+" ");}}/*** 主函數(shù) */public static void main(String[] args) {String fileInput = "train.txt";String fileOutput = "output.txt";String fileRank = "rank.txt";//實(shí)例化Prank prank = new Prank();try {//第一步 讀取文件并解析數(shù)據(jù)prank.ReadTxtFile(fileInput);//第二步 輸出解析的基礎(chǔ)數(shù)據(jù)//prank.WriteTxtFile(fileOutput);//第三步 學(xué)習(xí)排序訓(xùn)練模型prank.LearningToRank();//第四步 測(cè)試打分排序prank.PredictNewLabel();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** End*/ }? ?運(yùn)行結(jié)果如下圖所示,算法流程分析都很清楚,同時(shí)我采用的是下標(biāo)從0開(kāi)始取.b[1]和[2]兩個(gè)閾值即可劃分為3個(gè)不同的類,b[3]=Infinity.但是預(yù)測(cè)結(jié)果總是一個(gè)值,不知道為什么?可能算法中有些細(xì)節(jié)錯(cuò)誤,糾結(jié)了我很長(zhǎng)時(shí)間.如果知道希望告知.下面是采用C++實(shí)現(xiàn).

? ? 2.C++代碼實(shí)現(xiàn)
? ? 該部分代碼參考自新浪播客:
? ??http://blog.sina.com.cn/s/blog_4c98b960010008xn.html
? ? 運(yùn)行結(jié)果過(guò)程如下圖所示,通過(guò)train.txt數(shù)據(jù)集得到model.txt,里面存儲(chǔ)的是46個(gè)權(quán)重.如:
? ? -0.052744 1.886342 1.002179 -6.400005 -1.824795 0.000000 0.000000 ..
? ? 然后通過(guò)該模型對(duì)test.txt進(jìn)行打分預(yù)測(cè),同時(shí)計(jì)算正確率(已標(biāo)注Label=預(yù)測(cè)Label).

#include <iostream> #include <fstream> #include <limits> #include <iomanip>using namespace std;#define K 3 //排序的序數(shù),即如排成全相關(guān),部分相關(guān),不相關(guān),序數(shù)就是3 #define N 46 //特征的維數(shù)double *w; //權(quán)值 int *b; //偏置項(xiàng) int *y; int *t;//從文件中獲得特征值 X 存儲(chǔ)特征向量 yt 存儲(chǔ)標(biāo)簽 bool getData(double *x,int &yt,ifstream &fin) {if (fin.eof())return false;char data[1024];int index = 1;fin.getline(data,1024);char *p = data;char q[100];q[0] = p[0];q[1] = '\0';yt = atoi(q) + 1; // 標(biāo)簽 p = p+8;//跳過(guò)qid:xx的冒號(hào)for( ; *p != '\0'; ++p){if(*p == ':'){++p;int i = 0;for(i=0; *p != ' '; i++, p++){q[i] = *p;}q[i] = '\0'; x[index ++] = atof(q);}}return true; }//各變量進(jìn)行初始化 void Initialize() {w = new double[N+1];b = new int[K+1];y = new int[K+1];t = new int[K+1];int i;int r;for(i=1; i<=N;i++)w[i] = 0 ;for(r=1;r<=K-1;r++)b[r] = 0;b[K] = std::numeric_limits<int>::max();//無(wú)窮大 }//利用Prank算法進(jìn)行訓(xùn)練 void PrankTraining(double *x,int yt) {int i;int r;double wx = 0; //存儲(chǔ) W*X 的計(jì)算結(jié)果 for(i =1; i<=N; i++) //計(jì)算 W*X wx += w[i] * x[i];for(r =1; r<=K; r++) //找到滿足 W*X-b<0 的最小 r {if(wx - b[r] <0 )break;}int yy = r ; //預(yù)測(cè)值 if (yy == yt) //預(yù)測(cè)正確,直接返回 {return;} else //預(yù)測(cè)錯(cuò)誤,權(quán)值更新 {for(r=1; r<K; r++){if(yt <= r)y[r] = -1;elsey[r] = 1;}for(r=1; r<K; r++){if ((wx-b[r])*y[r] <= 0){t[r] = y[r];}elset[r] = 0;}//更新 W 和 b int sumt = 0;for(r=1; r<K; r++)sumt = sumt + t[r];for(i=1;i<=N;i++) //更新 W w[i] = w[i] + sumt*x[i];for(r=1; r<K; r++) //更新 b b[r] = b[r] - t[r];} }//利用得到的model進(jìn)行測(cè)試 int Pranking(double *x) {int i;int r;double wx = 0;for(i=1; i<=N; i++)wx = wx + w[i] * x[i];for(r=1; r<=K; r++)if(wx - b[r] <0 ){cout<< " "<<wx;break;}return r; }int main(int argc,char **argv) {int right=0,wrong=0;//排正確和錯(cuò)誤的樣本數(shù)//輸入訓(xùn)練數(shù)據(jù)文件名 string sin_train = "train.txt";ifstream fin_train(sin_train.c_str());if(fin_train.fail()){cout << "can't open the traningsetFile!"<<endl;return -1;}//輸入輸出模型文件名 string sout_model = "model.txt";ofstream fout_model(sout_model.c_str()); if(fout_model.fail()){cout << "can't open the ModelFile!"<<endl;return -1;}//輸入測(cè)試數(shù)據(jù)文件名string sin_test = "test.txt";ifstream fin_test(sin_test.c_str()); if(fin_test.fail()){cout << "can't open the testsetFile!"<<endl;return -1;}// 輸入輸出結(jié)果文件名string sout_result = "result.txt";ofstream fout_result(sout_result.c_str()); if(fout_result.fail()){cout << "open resultFile failed!"<<endl;return -1;}double *tr = new double[N+1]; // 特征向量 int yt; // 標(biāo)簽 Initialize(); //初始化權(quán)值w和偏置項(xiàng)b int i = 0;//讀入訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練得到modelwhile(true){if (getData(tr,yt,fin_train)){PrankTraining(tr,yt);//訓(xùn)練}elsebreak;}//將得到的w和b寫入文件char buff[128];cout<<"訓(xùn)練出的w為:\n";for(i=1; i<=N; i++) //寫 w{cout<<setw(8)<<w[i]<<'\t';memset(buff,0,sizeof(buff)); sprintf(buff,"%f",w[i]);fout_model << buff << " ";}fout_model<<endl;cout<<"\n\n訓(xùn)練出的b為:\n";for(i = 1; i<K;i++) //寫 b{cout<<b[i]<<'\t';memset(buff,0,sizeof(buff)); sprintf(buff,"%d",b[i]);fout_model << buff << " ";}//讀入測(cè)試數(shù)據(jù)進(jìn)行測(cè)試得到正確率while(true){if (getData(tr,yt,fin_test)){int yy = Pranking(tr);char p[2];p[0] = yy -1 + 48;p[1] = '\0';fout_result << p << endl;if (yy == yt)right ++;elsewrong ++;}elsebreak;}cout<<"\n\n排正確的個(gè)數(shù)為"<<right<<",錯(cuò)誤的個(gè)數(shù)為"<<wrong<<",正確率為%"<<right*100*1.0/(right+wrong)<<endl;cout<<b[0]<<'\t'<<b[1]<<'\t'<<b[2];//釋放申請(qǐng)的空間并關(guān)閉文件 delete []w; delete []y;delete []t;delete []b;delete []tr;fin_train.close();fin_test.close();fout_result.close();fout_model.close();system("PAUSE");return 0; }

五. 總結(jié)與問(wèn)題

? ? 最后講述在該算法中你可能遇到的問(wèn)題和我的體會(huì):
? ? 1.由于它是讀取文件,可能文件很大(幾百兆或上G).最初我設(shè)計(jì)的數(shù)組是double feature[10000][136],用來(lái)存儲(chǔ)每行特征值,但是如果行數(shù)太大時(shí),What can do?此時(shí)我們應(yīng)該設(shè)置動(dòng)態(tài)數(shù)組<List<List<Float>>>x解決.
? ? 2.最初閱讀了CSDN的Prank代碼,它迭代了1萬(wàn)次,最后查看原文發(fā)現(xiàn)它并沒(méi)有迭代.所以你可以參考C++那部分代碼,每次只需要讀取一行數(shù)據(jù)處理,并記住上一次的46維權(quán)重和閾值即可.
? ? 3.為什么我從136維數(shù)據(jù)轉(zhuǎn)變成了46維數(shù)據(jù)?
? ? 你打開(kāi)136維特征值數(shù)據(jù)時(shí),你會(huì)發(fā)現(xiàn)它的值特別大,不論是Pointwise,還是Pairwise和Listwise都可能出現(xiàn)越界,一次內(nèi)積求和可能就10的7次方數(shù)據(jù)了.但是46維數(shù)據(jù),每個(gè)特征值都是非常小的,所以如果用136維數(shù)據(jù),你需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,即數(shù)據(jù)縮小至-1到1之間.
? ? 4.評(píng)價(jià)Pointwise、Pairwise和Listwise指標(biāo)通常是MAP和NDCG@k,后面講述基于對(duì)的學(xué)習(xí)排序和基于列的學(xué)習(xí)排序會(huì)具體介紹.
? ? 5.你可能會(huì)發(fā)現(xiàn)數(shù)據(jù)集中存在vail驗(yàn)證集,以及交叉驗(yàn)證、交叉熵、梯度下降后面都會(huì)講述.但由于相對(duì)于算法,我對(duì)開(kāi)發(fā)更感興趣,很多東西也是一知半解的.
? ? 6.最后要求該算法到Hadoop或Spark實(shí)現(xiàn)并行化處理,但算法的機(jī)制是串行化.有一定的方法,但我沒(méi)有實(shí)現(xiàn).我們做的是一種偽并行化處理,即模型得到權(quán)重后進(jìn)行并行化計(jì)算分?jǐn)?shù)排序.
? ? 最后簡(jiǎn)單附上我們的實(shí)驗(yàn)結(jié)果,后面的算法實(shí)驗(yàn)結(jié)果是基于MAP和NDCG@k



? ?希望文章對(duì)大家有所幫助!主要是現(xiàn)在看到LTR很多都是理論介紹,論文也沒(méi)有具體代碼,而開(kāi)源的RankLib有點(diǎn)看不懂,所以提出了自己的認(rèn)識(shí)及代碼執(zhí)行.我也是才接觸這個(gè)一個(gè)月,可能過(guò)程中存在錯(cuò)誤或不足之處,歡迎提出建議~同時(shí)感謝一起奮斗的伙伴,尤其是Pu哥.
? ? ? ?(By:Eastmount 2015-01-28 夜5點(diǎn)半? ??http://blog.csdn.net/eastmount/


總結(jié)

以上是生活随笔為你收集整理的【学习排序】 Learning to Rank中Pointwise关于PRank算法源码实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

91成人在线视频观看 | 91色视频| 国产在线自 | 国产在线不卡一区 | 91av手机在线观看 | 天天超碰| 久久精品视频在线播放 | 精品国偷自产国产一区 | 中文在线免费一区三区 | 一区二区三区视频 | 婷婷精品在线视频 | 欧美另类交在线观看 | 日韩av伦理片 | 中文网丁香综合网 | 国产99一区二区 | 日本福利视频在线 | 天天躁日日躁狠狠 | 香蕉蜜桃视频 | 久久精品中文字幕一区二区三区 | 人人添人人澡 | 欧美激情综合五月色丁香 | 欧美日韩一区二区免费在线观看 | 视频在线观看入口黄最新永久免费国产 | 免费黄色网址网站 | 操操色| 国产午夜精品av一区二区 | 亚洲免费国产视频 | 奇人奇案qvod| 国产精品爽爽久久久久久蜜臀 | 欧美日韩中文在线视频 | 91人人网 | h动漫中文字幕 | 亚洲另类视频在线观看 | 中文字幕av全部资源www中文字幕在线观看 | 精品1区二区| 精品久久国产 | 五月婷婷.com | 久久久久久久久久久久久9999 | 丁香综合网 | 国产精品久久久久永久免费 | 天天激情 | 99久久这里只有精品 | 天天草天天草 | 一级特黄aaa大片在线观看 | 亚洲日韩精品欧美一区二区 | 日韩在线观看中文字幕 | 久久久久久久精 | 久草免费在线观看视频 | 日韩欧美网址 | 国产一级片不卡 | 国产精品久久久久永久免费 | 91刺激视频| 久久成人资源 | 韩国一区二区三区在线观看 | 99高清视频有精品视频 | 香蕉视频网站在线观看 | 国产韩国精品一区二区三区 | 亚洲免费国产 | 日韩久久精品一区二区 | 国产一性一爱一乱一交 | 99婷婷| 国产精品久久久久aaaa九色 | 一级黄色视屏 | 日韩免费在线网站 | 久久久久久综合网天天 | 久久人人爽人人爽人人片av免费 | 午夜久久网站 | av黄色免费在线观看 | 成人综合婷婷国产精品久久免费 | 一本一道久久a久久精品蜜桃 | 夜夜操夜夜干 | 特级黄色视频毛片 | 久久国产精品免费视频 | 色姑娘综合天天 | 国产精品成人免费精品自在线观看 | 91免费视频网站在线观看 | 亚洲永久精品在线观看 | 久草在线免费看视频 | 亚洲国产精品久久久久久 | 精品国产一区二区三区久久影院 | 日韩一区二区免费视频 | 午夜免费视频网站 | 国产一二三区av | 国产精品女同一区二区三区久久夜 | 成人日韩av| 中文字幕在线免费97 | 欧美久久久久久久久久 | 91色国产在线 | av爱干| 国产在线不卡 | 国产福利在线免费 | 综合色影院 | 女人魂免费观看 | 在线观看的黄色 | 欧美极度另类 | 天天干天天想 | 欧美精品成人在线 | 99久久精品久久久久久清纯 | 日韩经典一区二区三区 | 在线观看成人毛片 | 西西444www高清大胆 | 美女黄频免费 | 国产精华国产精品 | 亚洲精品视频中文字幕 | japanesexxxhd奶水 国产一区二区在线免费观看 | 久久精品视频免费观看 | 激情av一区二区 | 亚洲日本欧美在线 | 成人黄色电影在线播放 | 国产性天天综合网 | 99久久激情 | 欧美污污网站 | 99久久夜色精品国产亚洲 | 欧美片网站yy | 成人av资源 | a级片久久 | 视频一区二区免费 | 亚州性色| 国产黄色一级大片 | 在线影视 一区 二区 三区 | 免费久久久| 五月婷婷开心 | 草草草影院 | 色国产精品一区在线观看 | 一级黄色片在线免费观看 | 成人丁香花 | 99福利影院 | 久久久久中文字幕 | 91在线看视频免费 | 夜夜干夜夜 | 超碰人在线 | 午夜视频日本 | 久久老司机精品视频 | 在线国产高清 | 国产伦精品一区二区三区在线 | 成人网大片 | 久久超级碰视频 | 黄色的视频 | 国产高清视频色在线www | 亚洲九九九在线观看 | 天天干天天射天天插 | 国产成人免费观看久久久 | 国产中文字幕视频 | 六月色丁 | 亚洲国产精品久久久久久 | 在线观看成人网 | 日韩免费在线一区 | 91视频一8mav | 五月天六月婷 | 亚洲精品午夜久久久久久久 | 91精品在线播放 | 在线视频日韩一区 | 三三级黄色片之日韩 | 黄色小说视频网站 | 激情在线五月天 | 天天操夜夜爱 | 久久久精品国产免费观看同学 | 综合黄色网 | 正在播放国产一区二区 | 一本色道久久精品 | 亚洲电影第一页av | 免费精品视频在线观看 | 中文字幕在线影院 | 欧美综合国产 | 久久久久综合视频 | 九草在线观看 | 亚洲精品国产综合久久 | 综合激情av | 93久久精品日日躁夜夜躁欧美 | 久久久久久久久久电影 | 91精品毛片 | 日韩毛片久久久 | 日韩免费三区 | 欧美a级在线播放 | 在线色资源 | 在线观看精品黄av片免费 | 99精品国产成人一区二区 | 涩五月婷婷 | 丁香花在线观看视频在线 | 欧美在线91 | 最近中文字幕免费av | 欧美精品亚州精品 | 在线婷婷| 欧美日韩在线视频一区二区 | 97在线播放视频 | 丁香九月婷婷 | 日本少妇久久久 | 天天爽天天碰狠狠添 | 婷婷社区五月天 | 国产黄色特级片 | 91在线免费公开视频 | 99久久99久久精品国产片 | 蜜臀av性久久久久av蜜臀三区 | 日本高清xxxx| 99国产精品免费网站 | 国产99爱 | av在线电影网站 | 久久免费精品国产 | 国产乱视频 | 日韩av在线影视 | 亚洲国产精品成人综合 | 狠狠色噜噜狠狠 | 亚洲乱码国产乱码精品天美传媒 | 国产亚洲aⅴaaaaaa毛片 | 久久视频国产 | 三上悠亚一区二区在线观看 | 狠狠地日 | 国产精品99久久久久 | 婷婷综合伊人 | 日韩av成人在线观看 | 99中文字幕视频 | 国产精品一区二区三区四区在线观看 | 99色国产| 日韩免费在线网站 | 亚洲精品久久久久久久不卡四虎 | 在线 国产 日韩 | 成人av.com| 最近免费中文字幕 | 在线你懂 | 丁香花在线视频观看免费 | 亚洲干视频在线观看 | 97操碰| 国产精品岛国久久久久久久久红粉 | 玖玖视频国产 | 天天操天天射天天操 | 中文字幕在线视频第一页 | 国产一区二区在线播放视频 | 九九热精| 国产美女网站在线观看 | 欧美另类交人妖 | 欧美日韩亚洲在线观看 | 成人毛片在线观看视频 | 色综合天天天天做夜夜夜夜做 | 精品一区二区三区在线播放 | 超碰com| 日韩中文字幕电影 | 中文字幕一区二区三区在线观看 | 国产在线视频在线观看 | 99久久99视频只有精品 | 国内精品久久久久影院优 | 日韩亚洲在线 | 日韩有码网站 | 最新99热| 丁香花在线视频观看免费 | 国内三级在线 | 日韩在线免费视频观看 | 免费毛片一区二区三区久久久 | 天天做日日爱夜夜爽 | 九九九九精品 | h文在线观看免费 | 人人超在线公开视频 | 欧美日韩视频在线观看免费 | 久久亚洲福利 | 在线成人av | 国内成人综合 | 在线观看黄网站 | 狠狠做深爱婷婷综合一区 | 国内精品视频在线播放 | 亚洲黄色av网址 | 国产高清一级 | 欧美性精品| 黄色小说视频在线 | 免费看黄的视频 | 国产成人一区二区三区久久精品 | 91豆麻精品91久久久久久 | 综合色伊人 | 91精品视频观看 | 狠狠干天天操 | 亚洲一区二区三区毛片 | 91麻豆操| 五月天高清欧美mv | 黄色小视频在线观看免费 | 热久久视久久精品18亚洲精品 | 91精品推荐 | 国产欧美精品一区二区三区 | 啪啪动态视频 | 999国内精品永久免费视频 | 亚洲精品在线视频观看 | 天天干天天操天天入 | 国产精品夜夜夜一区二区三区尤 | 国产精品久久久久永久免费观看 | 国产精品 日韩精品 | 97碰碰碰| 99精品视频观看 | 国产亚洲欧美日韩高清 | 亚洲视屏一区 | 伊人婷婷在线 | 欧美日本不卡视频 | 日本论理电影 | 亚洲少妇激情 | 六月丁香在线视频 | 国产欧美综合在线观看 | 国产91全国探花系列在线播放 | 日韩中文字幕免费在线观看 | a午夜在线 | 亚洲欧美日韩国产一区二区三区 | 99精品视频免费看 | 久久香蕉国产精品麻豆粉嫩av | 亚洲成人av一区 | 狠狠操天天干 | 日韩欧美大片免费观看 | 免费看片日韩 | 国产第一页在线观看 | 亚洲精品国产精品国自 | 成人黄色在线电影 | 国产日产精品一区二区三区四区的观看方式 | 亚洲国产午夜 | 久久久久福利视频 | 国产成人精品三级 | 99热这里只有精品8 久久综合毛片 | 四虎www. | 91亚洲精品久久久久图片蜜桃 | 91精品国产成 | 韩日成人av | 国产三级av在线 | 中文字幕久久精品 | 久久少妇 | 国产成人免费在线观看 | 国产一区免费 | 最近能播放的中文字幕 | aaa日本高清在线播放免费观看 | av成人免费在线观看 | 一二三四精品 | 色综合天 | 日韩精品视频一二三 | 69av在线播放| 国产精品久久久久久久久久 | 人人盈棋牌 | 日韩高清在线观看 | 天天操伊人 | 久久久国产影院 | 久久久久久久久久免费视频 | 99色亚洲| 国产一级黄大片 | 在线观看中文字幕dvd播放 | www.777奇米 | 欧美午夜a| 成人午夜剧场在线观看 | 国产视频亚洲精品 | 成人午夜电影在线播放 | 成人av影视观看 | 色网站在线免费 | 中文字幕免费 | 久久中文欧美 | av免费观看网址 | 日本中文字幕在线看 | 97精品在线 | 免费看一及片 | 九九涩涩av台湾日本热热 | 精品国产aⅴ麻豆 | 国产第一页福利影院 | 日韩在线视频国产 | 国产精品成人一区二区 | 一区av在线播放 | 在线视频精品 | 91精品国产高清自在线观看 | 天天操天天操天天操天天操 | 国产欧美日韩一区 | 日韩中文字幕a | 不卡的av| 日韩免费中文字幕 | 日韩欧美在线观看一区二区三区 | 亚洲久久视频 | 精品美女久久久久 | 伊人成人久久 | www四虎影院 | 久久涩视频 | 在线看国产一区 | 日本久久中文字幕 | 精品免费 | 日本高清中文字幕有码在线 | 天天操天天综合网 | av性网站| 国产专区日韩专区 | 国产成人精品在线观看 | 国产成人精品在线播放 | 久久伦理 | 国产无遮挡猛进猛出免费软件 | 欧美色就是色 | 五月天av在线 | 99精品久久久久久久 | 久久综合免费视频影院 | www.天堂av | 天天鲁天天干天天射 | 日韩性色| 国产精品18毛片一区二区 | 99精品视频在线观看免费 | 免费人做人爱www的视 | 在线观看中文字幕av | 国产永久免费观看 | 欧美大jb | 曰本免费av| 中文在线字幕免费观看 | 激情综合网婷婷 | 国产精品午夜在线 | 午夜美女福利 | 色婷婷狠狠干 | 99久久99久久免费精品蜜臀 | 亚洲精品综合一二三区在线观看 | 日日成人网 | 国产丝袜美腿在线 | 亚洲欧洲视频 | 一本一本久久a久久精品综合小说 | 69精品久久久 | 欧美成天堂网地址 | 国产资源在线视频 | 国产精品久久久久久久久久三级 | 免费a级黄色毛片 | 成人av高清在线观看 | 亚洲欧美国产日韩在线观看 | 四虎影视久久久 | 天天做天天爱夜夜爽 | 在线99| 日日干av| 91人人视频在线观看 | 亚洲成av人影院 | 国产精品成人免费一区久久羞羞 | 在线视频你懂得 | 91精品色| 在线观看完整版 | 中文字幕电影高清在线观看 | 久久99精品久久久久久 | 永久免费精品视频网站 | 99精品在线视频观看 | 一区二区激情视频 | 视频在线观看入口黄最新永久免费国产 | 91tv国产成人福利 | 国产一级一级国产 | 亚洲天堂网视频在线观看 | 日韩视频在线观看视频 | www91在线观看 | 国产视频欧美视频 | 久久国产欧美日韩精品 | 全黄网站 | 亚洲最大av网 | 国产在线播放观看 | 日韩高清免费电影 | 最新国产中文字幕 | 国产视频资源在线观看 | 欧美91在线 | 中文字幕日韩精品有码视频 | 久久看片网| 日韩在线不卡 | 日韩日韩日韩日韩 | 日韩91av | 欧美日韩综合在线观看 | 91精品综合在线观看 | 婷婷综合伊人 | 亚洲国产精品久久久 | 亚洲男人天堂2018 | 天天拍天天草 | 亚洲综合视频在线播放 | 日韩欧美在线高清 | 国产一级特黄毛片在线毛片 | 欧美在线观看视频免费 | 探花视频免费观看高清视频 | 久久综合欧美精品亚洲一区 | 日韩大片免费在线观看 | 午夜三级在线 | 91黄色成人| 激情av一区二区 | 伊人五月天综合 | 91在线精品视频 | 国产日韩欧美在线播放 | 91九色网站| 综合网中文字幕 | 久久国产精品99久久久久 | 亚洲乱码久久久 | 国产精品久久久久久久久久久杏吧 | 97精品国产一二三产区 | 精品国产电影一区二区 | 国产精品福利在线 | 激情伊人五月天 | 国产高清在线永久 | 久久国产91| 九九热中文字幕 | 粉嫩高清一区二区三区 | 99亚洲精品在线 | 超碰在线观看av | 中文字幕一区二区三区乱码不卡 | 国产精品女主播一区二区三区 | 日韩精品不卡在线观看 | 成人免费看片98欧美 | 国产成人精品亚洲精品 | 激情视频一区二区三区 | 日本福利视频在线 | 在线国产视频 | 高潮毛片无遮挡高清免费 | 欧美久久综合 | 免费av在线播放 | 激情五月伊人 | 日韩精品中文字幕在线播放 | 久久tv视频| 92中文资源在线 | 国产在线综合视频 | 免费观看十分钟 | 在线综合 亚洲 欧美在线视频 | 99视频久 | 最近中文字幕国语免费高清6 | 夜色成人网 | 欧美另类性 | 久久影院午夜论 | 少妇bbr搡bbb搡bbb | 国产精品中文字幕av | 久久久久久久久影视 | 久久9精品 | 成人h动漫在线看 | 国产精品久久精品 | 成人九九视频 | 国内成人av | 亚洲更新最快 | 黄色国产在线观看 | 久久久久久国产精品美女 | a级成人毛片 | 毛片永久免费 | 在线中文日韩 | 国产一区二区在线播放视频 | 91亚色视频在线观看 | 天天操月月操 | 一区二区影院 | 亚洲乱码在线 | 亚洲 欧美 变态 国产 另类 | 久久精品欧美日韩精品 | 婷婷激情五月综合 | 亚洲激情视频在线观看 | 中文字幕第一页在线播放 | 国产精品久久网 | 日韩av成人免费看 | 成人av电影在线观看 | 在线激情小视频 | 久久久久久亚洲精品 | 久久成人麻豆午夜电影 | 久久99精品久久久久久久久久久久 | 久久99国产精品自在自在app | 国产精品久久久久久久av电影 | 深爱激情五月综合 | 国产精品福利无圣光在线一区 | 亚洲国产三级 | 精品日韩中文字幕 | 亚洲精品乱码久久久一二三 | 中文字幕电影在线 | 91精品国产九九九久久久亚洲 | 亚洲国产伊人 | 日韩av一区二区在线影视 | 日韩免费电影一区二区 | 亚洲一级黄色 | 人人爽人人爽人人片av免 | 麻豆视频91| 欧美三级免费 | 国产免码va在线观看免费 | 九九久久影视 | 亚洲成人av免费 | 美女视频黄网站 | 国产视频精品视频 | 色婷婷综合久久久久中文字幕1 | 九九国产精品视频 | 色综合久久久久综合体 | 日韩久久激情 | av超碰免费在线 | 日韩免费在线网站 | 99这里有精品 | 国产精品福利小视频 | 五月天狠狠操 | 超碰97人| 国产99免费 | 午夜黄色 | 免费麻豆网站 | 国产精品电影一区二区 | 99免在线观看免费视频高清 | 国产精品激情偷乱一区二区∴ | 久草在线资源视频 | 国产成人精品999在线观看 | 91插插插网站 | 久草99| 免费一级片在线观看 | 天天激情综合 | 黄色毛片网站在线观看 | 视频三区 | 久久精品精品 | 手机av资源 | av在线之家电影网站 | 人人藻人人澡人人爽 | 丁香五婷 | 久久69av | 精品国产一二区 | 这里只有精品视频在线观看 | 最新日韩在线观看 | 亚洲闷骚少妇在线观看网站 | 91在线日本 | 国产高清视频免费最新在线 | 亚洲精品午夜久久久久久久久久久 | 91丨porny丨九色 | 国产精品久久久久久av | 久草在线视频首页 | 福利视频区 | 天天干视频在线 | 久久a v视频| 亚洲精品视频免费 | 亚洲精品视频一 | 香蕉久草在线 | 中文字幕成人网 | 国产亚洲精品v | 久久99婷婷 | 精品国产免费一区二区三区五区 | 网站免费黄色 | 尤物九九久久国产精品的分类 | 欧美日韩网址 | 五月婷网站| 国产亚洲情侣一区二区无 | 一级性av| 国产剧在线观看片 | 九九热在线精品视频 | 国产婷婷精品av在线 | 国产成人福利在线 | 日韩大陆欧美高清视频区 | 又大又硬又黄又爽视频在线观看 | 911精品视频 | 99r在线 | 最新国产在线视频 | 久久九九国产视频 | 色婷婷亚洲精品 | 视频成人永久免费视频 | 激情在线免费视频 | 久久成年人网站 | 国产精品自在线 | 久久免费a | 特级西西444www大胆高清无视频 | 国产视频 亚洲精品 | 美女av免费 | 欧美日韩高清不卡 | 欧美伦理一区二区 | 亚州精品视频 | 毛片激情永久免费 | 精品一二三四在线 | 国产中文字幕在线观看 | 福利视频| av午夜电影 | 成人av在线影视 | 精品一区 精品二区 | 久久天天躁 | 亚洲一区久久久 | 91av视频免费在线观看 | 黄色一区二区在线观看 | 黄色综合 | .国产精品成人自产拍在线观看6 | 国产精品成人一区二区三区吃奶 | 在线网站黄| 免费的成人av | 97视频总站 | 激情在线五月天 | 视频直播国产精品 | 色99中文字幕 | 国内精品视频在线播放 | 中文av在线播放 | 天天射天天操天天 | 久久久久一区二区三区四区 | 久久er99热精品一区二区 | 久久久久久久久综合 | 成人精品一区二区三区电影免费 | 国产中文字幕大全 | 日韩电影在线观看一区二区 | www.夜夜操.com | 尤物九九久久国产精品的分类 | 亚洲国产日韩在线 | 久久久久久国产精品久久 | 天天操天天操天天操天天操天天操天天操 | 日韩欧美网址 | 亚洲精品国产麻豆 | 国产免费二区 | 国产精品高清一区二区三区 | 中文字幕日韩在线播放 | 免费在线观看污网站 | 在线91视频 | 在线网站黄 | 黄色在线观看www | 久久久久国产成人精品亚洲午夜 | 伊人在线视频 | 天天操操操操操 | 日韩精品中文字幕av | 999久久精品 | 免费看一级一片 | 国产亚洲精品久久久久久久久久久久 | 精品一区二区久久久久久久网站 | 国产69精品久久久久久久久久 | 久色 网| 99精品免费在线 | 久久永久视频 | 天天插天天干天天操 | 中文字幕一区二区在线观看 | 在线观看亚洲国产 | 国产精品自产拍在线观看 | 中文字幕免费在线 | 97国产情侣爱久久免费观看 | 天天做天天爱夜夜爽 | 啪啪动态视频 | 免费aa大片| 国产一区二区在线免费视频 | 99婷婷| 在线观看完整版 | 久久国产色| 国产成人三级一区二区在线观看一 | 免费91在线 | 久久三级毛片 | 99欧美视频| 日本一区二区免费在线观看 | 国产爽视频 | 日韩大片在线免费观看 | 天天操天天射天天舔 | 97久久久免费福利网址 | 日韩在线免费播放 | 人人澡人人添人人爽一区二区 | 成人免费看片98欧美 | 欧美午夜性生活 | 亚洲日韩中文字幕 | 激情av网| 在线免费高清视频 | 99福利片 | 国产高清在线一区 | 亚洲永久字幕 | 干天天 | 久久久免费少妇 | 久久久久久久综合色一本 | 久久人91精品久久久久久不卡 | 国产美女黄网站免费 | 亚洲精品视频国产 | 久久精品免视看 | 国产婷婷久久 | 亚洲国产福利视频 | 一区二区三区精品在线视频 | 欧美日韩69| va视频在线 | 久久免费精品 | 中文字幕a∨在线乱码免费看 | 国产精品日韩久久久久 | 久久精品看 | 丁香综合网 | 成年人黄色免费视频 | 亚洲视屏一区 | 在线视频精品播放 | 911久久香蕉国产线看观看 | 97视频免费看 | 国产一区久久 | 婷婷丁香自拍 | 久久爱资源网 | 亚洲精品五月 | 九草视频在线观看 | 日本久久久影视 | 99精品免费视频 | www.亚洲激情.com | 91精品国产乱码久久桃 | 一区二区理论片 | 国产精品高 | 国产99在线播放 | 日韩免费一区二区 | 伊人导航 | 亚洲国产福利视频 | 久久久电影网站 | 亚洲成a人片在线观看网站口工 | 黄色大片视频网站 | 伊人五月天av| 天天在线免费视频 | 97超碰资源站 | 精品久久99 | 91视频在线观看免费 | 国产精品岛国久久久久久久久红粉 | 精品国产精品国产偷麻豆 | 国产一级片观看 | 成年人在线免费视频观看 | 天天干天天在线 | 国产高清小视频 | 午夜性生活片 | 国产高清视频在线 | 久久亚洲二区 | 丁香视频全集免费观看 | 最近中文字幕免费 | 婷婷免费视频 | 中文字幕精品在线 | 成人免费网站在线观看 | 在线电影91| 中文字幕在线免费观看视频 | 久久都是精品 | 久久久精品在线观看 | 久久综合狠狠综合久久综合88 | 久久综合之合合综合久久 | www.综合网.com| 欧美在线你懂的 | 中文字幕在线观看一区二区 | 日韩久久视频 | 欧美91精品久久久久国产性生爱 | 久久激情小说 | 色婷婷中文 | v片在线播放 | 日韩视频中文字幕在线观看 | 欧美性色综合网 | 97爱爱爱 | 在线黄色观看 | 91香蕉视频好色先生 | 国产免费专区 | 国产精品久久久av久久久 | 久久99国产精品二区护士 | 国产一区二区精品 | 91伊人久久大香线蕉蜜芽人口 | 一区二区三区日韩在线观看 | 成人av在线网 | 在线观看国产 | 久久久久中文字幕 | 操久在线 | 国产在线视频在线观看 | 国产亚洲情侣一区二区无 | 日韩av电影手机在线观看 | av在线影片 | 超碰国产人人 | 国产拍在线 | 天天se天天cao天天干 | 久久久这里有精品 | 成人在线视频观看 | 激情综合久久 | 国产精品99久久久久久大便 | 成人中文字幕+乱码+中文字幕 | 狠狠干干 | 黄色成人在线网站 | 黄网站色成年免费观看 | 看国产黄色大片 | 亚洲精品1区2区3区 超碰成人网 | 国产激情电影综合在线看 | 国产99久久久精品 | 特级aaa毛片| 亚洲一区二区观看 | 日韩视频一二三区 | 亚洲综合成人婷婷小说 | 国产精品精品久久久 | 欧美极度另类 | 一区二区不卡视频在线观看 | 天天操狠狠操网站 | 6699私人影院 | 亚洲视频 一区 | 欧美成a人片在线观看久 | 99精品免费在线 | 久久国产精品视频免费看 | 欧美成年黄网站色视频 | 亚洲尺码电影av久久 | 欧美精品久久99 | 色.www| 日日夜夜免费精品 | 国产精品一区二区在线观看免费 | 日韩经典一区二区三区 | 国产视频一区二区在线 | 一区二区三区不卡在线 | 一二三区视频在线 | 久久久这里有精品 | 亚洲精品乱码久久久久久 | 日韩免费一二三区 | 国产精品久久网站 | 波多野结衣一区 | 日韩一区二区免费视频 | 欧美无极色 | 中文字幕在线字幕中文 | 人人爽人人舔 | 色狠狠久久av五月综合 | 在线视频你懂得 | 天天操天天操天天操天天操天天操 | 日日婷婷夜日日天干 | 国产 一区二区三区 在线 | 综合久久久久久 | 在线观看一级片 | 99久久精品免费看国产麻豆 | 亚洲免费精彩视频 | 日本巨乳在线 | 国产麻豆精品免费视频 | 99色在线观看视频 | 免费黄色看片 | 亚洲黄色三级 | 欧美一区二区三区在线 | 色婷婷久久 | 97国产大学生情侣酒店的特点 | 91看片淫黄大片一级在线观看 | 天天狠狠 | 激情网站免费观看 | 国产精品伦一区二区三区视频 | 日韩视频一区二区在线观看 | 毛片播放网站 | 中文视频在线看 | 久草视频在线观 | 中文字幕最新精品 | 久久久久久久久艹 | 亚洲小视频在线观看 | 米奇狠狠狠888| 永久黄网站色视频免费观看w | 最新av在线播放 | 欧美精品在线一区二区 | 亚洲一区二区三区在线看 | 久久综合福利 | 久久久久久久久久久久久久电影 | 亚洲蜜桃av| 亚洲五月婷 | 亚洲国内精品在线 | 日产乱码一二三区别免费 | 国际精品久久久 | 天天干天天干天天射 | 免费不卡中文字幕视频 | 狠狠色2019综合网 | 在线观看涩涩 | 欧美一级免费在线 | 黄色a级片在线观看 | 国产黑丝一区二区三区 | 国产精品福利在线播放 | 在线黄色av电影 | av九九九| 国产精品免费高清 | 免费能看的黄色片 | 亚洲精品高清一区二区三区四区 | 天天干天天操天天搞 | 中文av在线天堂 | 久久视频在线免费观看 | 最新极品jizzhd欧美 | 国产成人在线播放 | 久久婷婷亚洲 | 日韩精品第一区 | 五月婷婷在线观看 | 免费视频久久久久 | 亚洲久草在线视频 | 免费亚洲黄色 | 手机av观看| 日韩在线视频一区二区三区 | 在线a亚洲视频播放在线观看 | 一级黄色片在线免费看 | 麻豆91精品视频 | freejavvideo日本免费 | a级国产片 | 欧美一区二视频在线免费观看 | 免费观看特级毛片 | 久久久影院官网 | 日韩精品一区二区三区外面 | 精品久久精品久久 | 精品免费视频. | 国产精品欧美一区二区三区不卡 | 3d黄动漫免费看 | 97在线精品 | 亚洲精品a区 | 国产午夜精品理论片在线 | 999久久a精品合区久久久 | 综合久久综合久久 | 992tv又爽又黄的免费视频 | 97超级碰碰碰碰久久久久 | 色婷婷 亚洲 | 日韩成片| 亚洲一级影院 | 丁香综合五月 | 亚洲伊人婷婷 | 又黄又爽的视频在线观看网站 | 国产清纯在线 | 国产成人久久精品一区二区三区 | 国产理伦在线 | 国产日韩精品一区二区三区在线 | 人人玩人人添人人澡97 | 色综合中文综合网 | www.久久99| 五月天天av | 国产手机视频在线播放 | 最新日韩中文字幕 | 国产精品久久久久久久午夜 | 黄色小说网站在线 | 美女久久久久久 | av在线8| 精品视频免费久久久看 | 麻豆国产露脸在线观看 | 午夜三级福利 | 色黄视频免费观看 | 国产美女搞久久 | av成人在线电影 | 久久精品影片 | www欧美日韩 | 亚洲伦理中文字幕 | 色天堂在线视频 | 色午夜影院 | 久久亚洲国产精品 | 日韩精品久久久久久久电影99爱 | 国产91九色蝌蚪 | 99久高清在线观看视频99精品热在线观看视频 | 国产精品综合久久久 | 日韩在线视频一区二区三区 | 久久精品综合网 | 韩国av免费在线 | 国产精品中文字幕在线 | 国产精品久久艹 | 日日草夜夜操 | 午夜影院日本 | 国产人成一区二区三区影院 | 中文字幕av有码 | 色中色综合| 99国产精品一区二区 | 亚洲综合色婷婷 | 国产视频精品免费 | 久久 地址| 国产精品都在这里 | 国产91精品在线观看 | 日韩一级片网址 | 亚洲精品中文在线 |