亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svm_c.cpp

?? C++實現的支持向量機神經網絡代碼
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    };  };    SVMFLOAT r_delta = max_norm_x;  if(parameters->loo_estim){    r_delta = 0;    SVMFLOAT r_current;    for(SVMINT j=0;j<examples_total;j++){      norm_x = kernel->calculate_K(j,j);      for(i=0;i<examples_total;i++){	r_current = norm_x-kernel->calculate_K(i,j);	if(r_current > r_delta){	  r_delta = r_current;	};      };    };  };  for(i=0;i<examples_total;i++){    alpha=all_alphas[i];    if(alpha<min_alpha) min_alpha = alpha;    if(alpha>max_alpha) max_alpha = alpha;    prediction = predict(i);    y = examples->unscale_y(all_ys[i]);    actloss=loss(prediction,y);    theloss+=actloss;    MAE += abs(prediction-y);    MSE += (prediction-y)*(prediction-y);    if(y < prediction-parameters->epsilon_pos){      theloss_pos += actloss;      countpos++;    }    else if(y > prediction+parameters->epsilon_neg){      theloss_neg += actloss;      countneg++;    };    if(parameters->loo_estim){      if(abs(alpha)>is_zero){ 	if(is_alpha_neg(i)>=0){	  loo_loss_estim += loss(prediction-(abs(alpha)*(2*kernel->calculate_K(i,i)+r_delta)+2*epsilon_neg),y);	}	else{	  loo_loss_estim += loss(prediction+(abs(alpha)*(2*kernel->calculate_K(i,i)+r_delta)+2*epsilon_pos),y);	};      };    }    else{      // loss doesn't change if non-SV is omitted      loo_loss_estim += actloss;    };    if(abs(alpha)>is_zero){      // a support vector      svs++;       if((alpha-Cneg >= -is_zero) || (alpha+Cpos <= is_zero)){ 	bsv++;       };    };    if(is_pattern){      if(y>0){	if(prediction>0){	  correct_pos++;	};	if(prediction>1){	  xi=0;	}	else{	  xi=1-prediction;	};	if(2*alpha*r_delta+xi >= 1){	  estim_pos++;	};	total_pos++;      }      else{	if(prediction<=0){	  correct_neg++;	};	if(prediction<-1){	  xi=0;	}	else{	  xi=1+prediction;	};	if(2*(-alpha)*r_delta+xi >= 1){	  estim_neg++;	};	total_neg++;      };    };      };  if(countpos != 0){    theloss_pos /= (SVMFLOAT)countpos;  };  if(countneg != 0){    theloss_neg /= (SVMFLOAT)countneg;  };  the_result.MAE = MAE / (SVMFLOAT)examples_total;  the_result.MSE = MSE / (SVMFLOAT)examples_total;  the_result.VCdim = 1+norm_w*max_norm_x;  the_result.loss = theloss/((SVMFLOAT)examples_total);  if(parameters->loo_estim){    the_result.pred_loss = loo_loss_estim/((SVMFLOAT)examples_total);  }  else{    the_result.pred_loss = the_result.loss;  };  the_result.loss_pos = theloss_pos;  the_result.loss_neg = theloss_neg;  the_result.number_svs = svs;  the_result.number_bsv = bsv;  if(is_pattern){    the_result.accuracy = ((SVMFLOAT)(correct_pos+correct_neg))/((SVMFLOAT)(total_pos+total_neg));    the_result.precision = ((SVMFLOAT)correct_pos/((SVMFLOAT)(correct_pos+total_neg-correct_neg)));    the_result.recall = ((SVMFLOAT)correct_pos/(SVMFLOAT)total_pos);    if(parameters->loo_estim){      the_result.pred_accuracy = (1-((SVMFLOAT)(estim_pos+estim_neg))/((SVMFLOAT)(total_pos+total_neg)));      the_result.pred_precision = ((SVMFLOAT)(total_pos-estim_pos))/((SVMFLOAT)(total_pos-estim_pos+estim_neg));      the_result.pred_recall = (1-(SVMFLOAT)estim_pos/((SVMFLOAT)total_pos));    }    else{      the_result.pred_accuracy = the_result.accuracy;      the_result.pred_precision = the_result.precision;      the_result.pred_recall = the_result.recall;    };  }  else{    the_result.accuracy = -1;    the_result.precision = -1;    the_result.recall = -1;    the_result.pred_accuracy = -1;    the_result.pred_precision = -1;    the_result.pred_recall = -1;  };  if(convergence_epsilon > parameters->convergence_epsilon){    cout<<"WARNING: The results were obtained using a relaxed epsilon of "<<convergence_epsilon<<" on the KKT conditions!"<<endl;  }  else if(parameters->verbosity>=2){    cout<<"The results are valid with an epsilon of "<<convergence_epsilon<<" on the KKT conditions."<<endl;  };  if(parameters->verbosity >= 2){    cout << "Average loss  : "<<the_result.loss<<" (loo-estim: "<< the_result.pred_loss<<")"<<endl;    cout << "Avg. loss pos : "<<theloss_pos<<"\t ("<<countpos<<" occurences)"<<endl;    cout << "Avg. loss neg : "<<theloss_neg<<"\t ("<<countneg<<" occurences)"<<endl;    cout << "Mean absolute error : "<<the_result.MAE<<endl;    cout << "Mean squared error  : "<<the_result.MSE<<endl;    cout << "Support Vectors : "<<svs<<endl;    cout << "Bounded SVs     : "<<bsv<<endl;    cout<<"min SV: "<<min_alpha<<endl	<<"max SV: "<<max_alpha<<endl;    cout<<"|w| = "<<sqrt(norm_w)<<endl;    cout<<"max |x| = "<<sqrt(max_norm_x)<<endl;    cout<<"VCdim <= "<<the_result.VCdim<<endl;    print_special_statistics();    if((is_pattern) && (! parameters->is_distribution)){      // output precision, recall and accuracy      if(parameters->loo_estim){	cout<<"performance (+estimators):"<<endl;	cout<<"Accuracy  : "<<the_result.accuracy<<" ("<<the_result.pred_accuracy<<")"<<endl;	cout<<"Precision : "<<the_result.precision<<" ("<<the_result.pred_precision<<")"<<endl;	cout<<"Recall    : "<<the_result.recall<<" ("<<the_result.pred_recall<<")"<<endl;      }      else{	cout<<"performance :"<<endl;	cout<<"Accuracy  : "<<the_result.accuracy<<endl;	cout<<"Precision : "<<the_result.precision<<endl;	cout<<"Recall    : "<<the_result.recall<<endl;      };      if(parameters->verbosity>= 2){	// nice printout ;-)	int rows = (int)(1+log10((SVMFLOAT)(total_pos+total_neg)));	int now_digits = rows+2;	int i,j;	cout<<endl;	cout<<"Predicted values:"<<endl;	cout<<"   |";	for(i=0;i<rows;i++){ cout<<" "; };	cout<<"+  |";	for(j=0;j<rows;j++){ cout<<" "; };	cout<<"-"<<endl;	cout<<"---+";	for(i=0;i<now_digits;i++){ cout<<"-"; };	cout<<"-+-";	for(i=0;i<now_digits;i++){ cout<<"-"; };	cout<<endl;	cout<<" + |  ";	now_digits=rows-(int)(1+log10((SVMFLOAT)correct_pos))-1;	for(i=0;i<now_digits;i++){ cout<<" "; };	cout<<correct_pos<<"  |  ";	now_digits=rows-(int)(1+log10((SVMFLOAT)(total_pos-correct_pos)))-1;	for(i=0;i<now_digits;i++){ cout<<" "; };	cout<<total_pos-correct_pos<<"    (true pos)"<<endl;	cout<<" - |  ";	now_digits=rows-(int)(1+log10((SVMFLOAT)(total_neg-correct_neg)))-1;	for(i=0;i<now_digits;i++){ cout<<" "; };	cout<<(total_neg-correct_neg)<<"  |  ";	now_digits=rows-(int)(1+log10((SVMFLOAT)correct_neg))-1;	for(i=0;i<now_digits;i++){ cout<<" "; };	cout<<correct_neg<<"    (true neg)"<<endl;	cout<<endl;      };    };  };  SVMINT dim = examples->get_dim();  if(((parameters->print_w == 1) && (parameters->is_linear != 0)) ||     ((dim<100) &&       (parameters->verbosity>= 2) &&       (parameters->is_linear != 0))     ){    // print hyperplane    SVMINT j;    svm_example example;    SVMFLOAT* w = new SVMFLOAT[dim];    SVMFLOAT b = examples->get_b();    for(j=0;j<dim;j++) w[j] = 0;    for(i=0;i<examples_total;i++){      example = examples->get_example(i);      alpha = examples->get_alpha(i);      for(j=0;j<example.length;j++){	w[((example.example)[j]).index] += alpha*((example.example)[j]).att;      };    };    if(examples->initialised_scale()){      SVMFLOAT* exp = examples->get_exp();      SVMFLOAT* var = examples->get_var();      for(j=0;j<dim;j++){	if(var[j] != 0){	  w[j] /= var[j];	};	if(0 != var[dim]){	  w[j] *= var[dim];	};	b -= w[j]*exp[j];      };      b += exp[dim];    };    for(j=0;j<dim;j++){      cout << "w["<<j<<"] = " << w[j] << endl;    };    cout << "b = "<<b<<endl;    if(dim==1){      cout<<"y = "<<w[0]<<"*x+"<<b<<endl;    };    if((dim==2) && (is_pattern)){      cout<<"x1 = "<<-w[0]/w[1]<<"*x0+"<<-b/w[1]<<endl;    };    delete []w;  };  if(parameters->verbosity>= 2){    cout<<"Time for learning:"<<endl	<<"init        : "<<(time_init/100)<<"s"<<endl	<<"optimizer   : "<<(time_optimize/100)<<"s"<<endl	<<"convergence : "<<(time_convergence/100)<<"s"<<endl	<<"update ws   : "<<(time_update/100)<<"s"<<endl	<<"calc ws     : "<<(time_calc/100)<<"s"<<endl	<<"============="<<endl	<<"all         : "<<(time_all/100)<<"s"<<endl;  }  else if(parameters->verbosity>=2){    cout<<"Time for learning: "<<(time_all/100)<<"s"<<endl;  };  return the_result;};/** * * Pattern SVM * */int svm_pattern_c::is_alpha_neg(const SVMINT i){  // variable i is alpha*  int result;  if(all_ys[i] > 0){    result = 1;  }  else{    result = -1;  };  return result;};SVMFLOAT svm_pattern_c::nabla(const SVMINT i){  // = is_alpha_neg(i) * sum[i] - 1  if(all_ys[i]>0){    return(sum[i]-1);  }  else{    return(-sum[i]-1);  };};SVMFLOAT svm_pattern_c::lambda(const SVMINT i){  // size lagrangian multiplier of the active constraint  SVMFLOAT alpha;  SVMFLOAT result=0;  alpha=all_alphas[i];  if(alpha == Cneg){ //-Cneg >= - is_zero){    // upper bound active    result = -lambda_eq - sum[i] + 1;  }  else if(alpha == 0){ //(alpha <= is_zero) && (alpha >= -is_zero)){    // lower bound active    if(all_ys[i]>0){      result = (sum[i]+lambda_eq) - 1;    }    else{      result = -(sum[i]+lambda_eq) - 1;    };  }  else if(alpha == -Cpos){ //+Cpos <= is_zero){    // upper bound active    result = lambda_eq + sum[i] + 1;  }  else{    if(all_ys[i]>0){      result = -abs(sum[i]+lambda_eq - 1);    }    else{      result = -abs(-sum[i]-lambda_eq - 1);    };  };  return result;};int svm_pattern_c::feasible(const SVMINT i, SVMFLOAT* the_nabla, SVMFLOAT* the_lambda, int* atbound){  // is direction i feasible to minimize the target function  // (includes which_alpha==0)  int is_feasible=1;  if(at_bound[i] >= shrink_const){ is_feasible = 0; };  SVMFLOAT alpha;  alpha=all_alphas[i];  if(alpha == Cneg){ //alpha-Cneg >= - is_zero){    // alpha* at upper bound    *atbound = 1;    *the_nabla = sum[i] - 1;    *the_lambda = -lambda_eq - *the_nabla; //sum[i] + 1;    if(*the_lambda >= 0){      at_bound[i]++;      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else if(alpha == 0){    // lower bound active    *atbound = -1;    if(all_ys[i]>0){      *the_nabla = sum[i] - 1;      *the_lambda = lambda_eq + *the_nabla; //sum[i]+lambda_eq - 1;    }    else{      *the_nabla = -sum[i] - 1;      *the_lambda = -lambda_eq + *the_nabla; //-sum[i]-lambda_eq - 1;    };    if(*the_lambda >= 0){      at_bound[i]++;      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else if(alpha == -Cpos){ //alpha+Cpos <= is_zero){    *atbound = 1;    *the_nabla = -sum[i] - 1;    *the_lambda = lambda_eq - *the_nabla; //sum[i] - 1;    if(*the_lambda >= 0){      at_bound[i]++;      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else{    // not at bound    *atbound = 0;    if(all_ys[i]>0){      *the_nabla = sum[i] - 1;      *the_lambda = -abs(*the_nabla+lambda_eq);    }    else{      *the_nabla = -sum[i] - 1;      *the_lambda = -abs(lambda_eq - *the_nabla);    };    at_bound[i] = 0;  };  if(*the_lambda >= feasible_epsilon){      is_feasible = 0;   };  return is_feasible;};void svm_pattern_c::init_optimizer(){  // Cs are dived by examples_total in init_optimizer  svm_c::init_optimizer();  SVMINT i;  for(i=0;i<working_set_size;i++){    qp.l[i] = 0;  };};/** * * Regression SVM * */int svm_regression_c::is_alpha_neg(const SVMINT i){  // variable i is alpha*  int result;  if(all_alphas[i] > 0){    result = 1;  }  else if(all_alphas[i] == 0){    if(sum[i] - all_ys[i] + lambda_eq>0){      result = -1;    }    else{      result = 1;    };    //    result = 2*((i+at_bound[i])%2)-1;  }  else{    result = -1;  };  return result;};SVMFLOAT svm_regression_c::nabla(const SVMINT i){  if(all_alphas[i] > 0){    return( sum[i] - all_ys[i] + epsilon_neg);  }  else if(all_alphas[i] == 0){    if(is_alpha_neg(i)>0){      return( sum[i] - all_ys[i] + epsilon_neg);    }    else{      return(-sum[i] + all_ys[i] + epsilon_pos);    };  }  else{    return(-sum[i] + all_ys[i] + epsilon_pos);  };};SVMFLOAT svm_regression_c::lambda(const SVMINT i){  // size lagrangian multiplier of the active constraint  SVMFLOAT alpha;  SVMFLOAT result = -abs(nabla(i)+is_alpha_neg(i)*lambda_eq);    //= -infinity; // default = not at bound  alpha=all_alphas[i];  if(alpha>is_zero){    // alpha*    if(alpha-Cneg >= - is_zero){      // upper bound active      result = -lambda_eq-sum[i] + all_ys[i] - epsilon_neg;    };  }  else if(alpha >= -is_zero){    // lower bound active    if(all_alphas[i] > 0){      result = sum[i] - all_ys[i] + epsilon_neg + lambda_eq;    }    else if(all_alphas[i] == 0){      if(is_alpha_neg(i)>0){	result = sum[i] - all_ys[i] + epsilon_neg + lambda_eq;      }      else{	result = -sum[i] + all_ys[i] + epsilon_pos-lambda_eq;      };    }    else{      result = -sum[i] + all_ys[i] + epsilon_pos-lambda_eq;    };  }  else if(alpha+Cpos <= is_zero){    // upper bound active    result = lambda_eq + sum[i] - all_ys[i] - epsilon_pos;  };  return result;};int svm_regression_c::feasible(const SVMINT i, SVMFLOAT* the_nabla, SVMFLOAT* the_lambda, int* atbound){  // is direction i feasible to minimize the target function  // (includes which_alpha==0)  int is_feasible = 1; // <=> at_bound < shrink and lambda < -feas_eps  if(at_bound[i] >= shrink_const){ is_feasible = 0; };  SVMFLOAT alpha;  alpha=all_alphas[i];  if(alpha-Cneg >= -is_zero){    // alpha* at upper bound    *atbound = 1;    *the_nabla = sum[i] - all_ys[i] + epsilon_neg;    *the_lambda = -lambda_eq- *the_nabla;    if(*the_lambda >= 0){      at_bound[i]++;      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else if((alpha<=is_zero) && (alpha >= -is_zero)){    // lower bound active    *atbound = 1;    if(all_alphas[i] > 0){      *the_nabla = sum[i] - all_ys[i] + epsilon_neg;      *the_lambda = *the_nabla + lambda_eq;    }    else if(all_alphas[i]==0){      if(is_alpha_neg(i)>0){	*the_nabla = sum[i] - all_ys[i] + epsilon_neg;	*the_lambda = *the_nabla + lambda_eq;      }      else{	*the_nabla = -sum[i] + all_ys[i] + epsilon_pos;	*the_lambda = *the_nabla - lambda_eq;      };    }    else{      *the_nabla = -sum[i] + all_ys[i] + epsilon_pos;      *the_lambda = *the_nabla - lambda_eq;    };    if(*the_lambda >= 0){      if(all_alphas[i] != 0){	// check both constraints!	all_alphas[i]=0;	if(is_alpha_neg(i)>0){	  *the_lambda = *the_nabla + lambda_eq;	}	else{	  *the_lambda = *the_nabla - lambda_eq;	};	if(*the_lambda >= 0){	  at_bound[i]++;	};      }      else{	at_bound[i]++;      };      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else if(alpha+Cpos <= is_zero){    // alpha at upper bound    *atbound = 1;    *the_nabla = -sum[i] + all_ys[i] + epsilon_pos;    *the_lambda = lambda_eq - *the_nabla;    if(*the_lambda >= 0){      at_bound[i]++;      if(at_bound[i] == shrink_const) to_shrink++;    }    else{      at_bound[i] = 0;    };  }  else{    // not at bound    *atbound = 0;    if(is_alpha_neg(i)>0){      *the_nabla = sum[i] - all_ys[i] + epsilon_neg;      *the_lambda = -abs(*the_nabla + lambda_eq);    }    else{      *the_nabla = -sum[i] + all_ys[i] + epsilon_pos;      *the_lambda = -abs(lambda_eq - *the_nabla);    };  };  if(*the_lambda>=feasible_epsilon){    is_feasible = 0;   };  return is_feasible;};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区 二区 三区 久久精品 | 亚洲精品国产一区二区精华液| 亚洲人精品午夜| 青青草国产成人av片免费| a级精品国产片在线观看| 欧美久久一区二区| 亚洲欧美日韩成人高清在线一区| 极品销魂美女一区二区三区| 欧美日韩国产小视频在线观看| 亚洲国产精品99久久久久久久久| 琪琪久久久久日韩精品| 在线观看成人小视频| 亚洲欧美成人一区二区三区| 久久精品噜噜噜成人88aⅴ| 色哟哟一区二区| 国产精品久久看| 国产精品一区二区不卡| 精品久久久久久久久久久久久久久久久| 亚洲免费观看在线观看| 99久久伊人精品| 欧美国产一区在线| 国产激情91久久精品导航| 日韩视频免费观看高清完整版| 亚洲乱码国产乱码精品精小说| 成人影视亚洲图片在线| 久久久91精品国产一区二区精品 | 国产精品毛片大码女人| 国产成人亚洲精品青草天美| 2024国产精品视频| 激情欧美一区二区三区在线观看| 日韩一区二区在线观看视频| 天天爽夜夜爽夜夜爽精品视频| 欧美在线观看视频在线| 一区二区三区在线播| 91国偷自产一区二区开放时间 | 成人精品在线视频观看| 国产精品视频一二| 不卡的av中国片| 中文字幕中文在线不卡住| gogogo免费视频观看亚洲一| 亚洲欧洲在线观看av| 色综合久久66| 亚洲国产视频在线| 51午夜精品国产| 热久久久久久久| 久久男人中文字幕资源站| 国产精品亚洲午夜一区二区三区| 欧美国产精品中文字幕| www.色精品| 亚洲高清免费观看高清完整版在线观看 | 亚洲国产日日夜夜| 56国语精品自产拍在线观看| 激情综合色播激情啊| 中文字幕成人在线观看| 91成人免费电影| 日韩高清不卡一区二区| 国产亚洲一区字幕| 91香蕉视频mp4| 亚洲第一主播视频| 欧美精品一区二区三区在线| 成人黄色网址在线观看| 午夜精品爽啪视频| 久久综合色播五月| 一本在线高清不卡dvd| 三级成人在线视频| 中文字幕一区免费在线观看| 99久久伊人精品| 蜜桃视频一区二区| 国产精品人妖ts系列视频| 欧美日韩国产片| 国产成人精品免费看| 亚洲成人激情自拍| 国产欧美精品日韩区二区麻豆天美| 91国模大尺度私拍在线视频| 久久精品国产秦先生| 亚洲三级在线观看| 精品国产3级a| 91免费在线看| 国产精品99精品久久免费| 午夜电影久久久| 国产精品久久久久久久第一福利| 欧美二区乱c少妇| 成人网在线播放| 美女网站色91| 亚洲一级二级在线| 国产精品入口麻豆原神| 日韩三级免费观看| 欧洲一区在线观看| 国产成人亚洲综合a∨猫咪| 视频一区欧美日韩| 一区二区三区蜜桃网| 国产亚洲一区二区三区在线观看| 欧美男生操女生| 色婷婷精品大在线视频| 国产传媒一区在线| 久久精品国产99国产| 午夜欧美电影在线观看| 成人欧美一区二区三区小说| 久久九九久精品国产免费直播| 欧美高清视频一二三区| 欧美伊人精品成人久久综合97| av在线一区二区三区| 国产馆精品极品| 精品午夜一区二区三区在线观看| 天天操天天色综合| 亚洲综合色成人| 一区二区三区在线视频播放| 中文字幕在线一区二区三区| 国产日韩三级在线| 久久你懂得1024| 久久久精品影视| 久久久久国产精品人| 精品国产一区a| 精品第一国产综合精品aⅴ| 日韩欧美一区二区不卡| 26uuu国产电影一区二区| 日韩欧美三级在线| 日韩美女主播在线视频一区二区三区| 欧美挠脚心视频网站| 这里是久久伊人| 日韩一区二区不卡| 337p粉嫩大胆噜噜噜噜噜91av| 久久九九影视网| 最好看的中文字幕久久| 亚洲欧美韩国综合色| 五月婷婷综合在线| 免费观看一级特黄欧美大片| 国产真实乱对白精彩久久| 粉嫩一区二区三区在线看| 懂色av一区二区三区蜜臀| 99精品视频在线免费观看| 91成人免费电影| 日韩一区二区在线播放| 久久精品亚洲精品国产欧美| 中文字幕第一区二区| 樱桃国产成人精品视频| 日韩高清不卡一区二区三区| 久久69国产一区二区蜜臀| 国产激情视频一区二区三区欧美 | 1024国产精品| 亚洲一本大道在线| 久久精品国产色蜜蜜麻豆| 盗摄精品av一区二区三区| 一本久久精品一区二区| 欧美一区国产二区| 欧美国产精品久久| 亚洲午夜在线观看视频在线| 久久aⅴ国产欧美74aaa| eeuss鲁片一区二区三区| 欧美日韩中文国产| 国产片一区二区| 亚洲gay无套男同| 粉嫩13p一区二区三区| 欧美在线观看一区| 国产亚洲综合在线| 香蕉乱码成人久久天堂爱免费| 精品亚洲免费视频| 在线观看一区日韩| 久久久国产午夜精品 | 欧美电影在线免费观看| 久久综合九色综合97婷婷女人| 一区二区三区中文字幕| 精久久久久久久久久久| 在线视频中文字幕一区二区| 久久香蕉国产线看观看99| 亚洲国产成人av好男人在线观看| 国产成人一区二区精品非洲| 69久久99精品久久久久婷婷| 亚洲欧美一区二区视频| 国产在线观看一区二区| 欧美日韩一区二区不卡| 国产精品日韩精品欧美在线| 另类小说视频一区二区| 欧美视频日韩视频在线观看| 欧美高清一级片在线观看| 久久精品国产一区二区三| 欧美日韩极品在线观看一区| 国产精品传媒视频| 91在线观看成人| 欧美v国产在线一区二区三区| 伊人婷婷欧美激情| 成人激情视频网站| 久久久久久免费| 国内久久婷婷综合| 日韩免费福利电影在线观看| 亚洲123区在线观看| 在线视频你懂得一区| 亚洲桃色在线一区| 97精品电影院| 成人免费在线视频观看| 成人久久视频在线观看| 亚洲国产成人一区二区三区| 国产一区在线观看麻豆| 精品国产免费视频| 秋霞成人午夜伦在线观看| 91精品在线观看入口| 午夜精品视频一区| 7799精品视频| 麻豆免费精品视频| 欧美哺乳videos|