精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python機(jī)器學(xué)習(xí):超參數(shù)調(diào)優(yōu)

開發(fā) 后端
那超參數(shù)應(yīng)該如何設(shè)置呢?似乎沒有捷徑,去嘗試不同的取值,比較不同的結(jié)果取最好的結(jié)果。

[[377792]]

 1.什么是超參數(shù)

超參數(shù)(hyper parameters)就是機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法中需要預(yù)先設(shè)置的參數(shù),這些參數(shù)不是通過訓(xùn)練數(shù)據(jù)學(xué)習(xí)到的參數(shù);原始算法一般只給出超參數(shù)的取值范圍和含義,根據(jù)不同的應(yīng)用場景,同一個算法的同一超參數(shù)設(shè)置也不同。

那超參數(shù)應(yīng)該如何設(shè)置呢?似乎沒有捷徑,去嘗試不同的取值,比較不同的結(jié)果取最好的結(jié)果。

本文整理了不同的嘗試方法,如下:

  •  RandomSearch
  •  GridSearch
  •  貝葉斯優(yōu)化(Bayesian optimization)

2. GridSearchCV

暴力窮舉是尋找最優(yōu)超參數(shù)一種簡單有效的方法,但是對于算法龐大的超參數(shù)空間來說,窮舉會損耗大量的時間,特別是多個超參數(shù)情況下。GridSearchCV的做法是縮減了超參數(shù)值的空間,只搜索人為重要的超參數(shù)和有限的固定值。同時結(jié)合了交叉驗證的方式來搜索最優(yōu)的超參數(shù)。

拿lightgbm為例子: 

  1. import pandas as pd  
  2. import numpy as np  
  3. import math  
  4. import warnings  
  5. import lightgbm as lgb  
  6. from sklearn.model_selection import GridSearchCV  
  7. from sklearn.model_selection import RandomizedSearchCV  
  8. lg = lgb.LGBMClassifier(silent=False 
  9. param_dist = {"max_depth": [2, 3, 4, 5, 7, 10],  
  10.               "n_estimators": [50, 100, 150, 200],  
  11.               "min_child_samples": [2,3,4,5,6]  
  12.              }  
  13. grid_search = GridSearchCV(estimator=lgn_jobs=10param_grid=param_distcv = 5scoring='f1'verbose=5 
  14. grid_search.fit(X_train, y)  
  15. grid_search.best_estimator_, grid_search.best_score_ 
  16. # Fitting 5 folds for each of 120 candidates, totalling 600 fits  
  17. # [Parallel(n_jobs=10)]: Using backend LokyBackend with 10 concurrent workers.  
  18. # [Parallel(n_jobs=10)]: Done  52 tasks      | elapsed:    2.5s  
  19. # [Parallel(n_jobs=10)]: Done 142 tasks      | elapsed:    6.6s  
  20. # [Parallel(n_jobs=10)]: Done 268 tasks      | elapsed:   14.0s  
  21. # [Parallel(n_jobs=10)]: Done 430 tasks      | elapsed:   25.5s  
  22. # [Parallel(n_jobs=10)]: Done 600 out of 600 | elapsed:   40.6s finished  
  23. # (LGBMClassifier(max_depth=10min_child_samples=6n_estimators=200 
  24. #                 silent=False), 0.6359524127649383) 

從上面可知,GridSearchCV搜索過程

  •  模型estimator:lgb.LGBMClassifier
  •  param_grid:模型的超參數(shù),上面例子給出了3個參數(shù),值得數(shù)量分別是6,4,5,組合起來的搜索空間是120個
  •  cv:交叉驗證的折數(shù)(上面例子5折交叉), 算法訓(xùn)練的次數(shù)總共為120*5=600
  •  scoring:模型好壞的評價指標(biāo)分?jǐn)?shù),如F1值
  •  搜索返回: 最好的模型 best_estimator_和最好的分?jǐn)?shù)

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV

3. RandomSearchCV

和GridSearchCV一樣,RandomSearchCV也是在有限的超參數(shù)空間(人為重要的超參數(shù))中搜索最優(yōu)超參數(shù)。不一樣的地方在于搜索超參數(shù)的值不是固定,是在一定范圍內(nèi)隨機(jī)的值。不同超參數(shù)值的組合也是隨機(jī)的。值的隨機(jī)性可能會彌補GridSearchCV超參數(shù)值固定的有限組合,但也可能更壞。 

  1. Better than grid search in various senses but still expensive to guarantee good coverage 

 

  1. import pandas as pd  
  2. import numpy as np  
  3. import math  
  4. import warnings  
  5. import lightgbm as lgb  
  6. from scipy.stats import uniform  
  7. from sklearn.model_selection import GridSearchCV  
  8. from sklearn.model_selection import RandomizedSearchCV  
  9. lg = lgb.LGBMClassifier(silent=False 
  10. param_dist = {"max_depth": range(2,15,1),  
  11.               "n_estimators": range(50,200,4),  
  12.               "min_child_samples": [2,3,4,5,6],  
  13.              }  
  14. random_search = RandomizedSearchCV(estimator=lgn_jobs=10param_distparam_distributions=param_dist, n_iter=100cv = 5scoring='f1'verbose=5 
  15. random_search.fit(X_train, y)  
  16. random_search.best_estimator_, random_search.best_score_  
  17. # Fitting 5 folds for each of 100 candidates, totalling 500 fits  
  18. # [Parallel(n_jobs=10)]: Using backend LokyBackend with 10 concurrent workers.  
  19. # [Parallel(n_jobs=10)]: Done  52 tasks      | elapsed:    6.6s  
  20. # [Parallel(n_jobs=10)]: Done 142 tasks      | elapsed:   12.9s  
  21. # [Parallel(n_jobs=10)]: Done 268 tasks      | elapsed:   22.9s  
  22. # [Parallel(n_jobs=10)]: Done 430 tasks      | elapsed:   36.2s  
  23. # [Parallel(n_jobs=10)]: Done 500 out of 500 | elapsed:   42.0s finished  
  24. # (LGBMClassifier(max_depth=11min_child_samples=3n_estimators=198 
  25. #                 silent=False), 0.628180299445963) 

從上可知,基本和GridSearchCV類似,不同之處如下:

  •  n_iter:隨機(jī)搜索值的數(shù)量
  •  param_distributions:搜索值的范圍,除了list之外,也可以是某種分布如uniform均勻分布等

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV

4. 貝葉斯優(yōu)化(Bayesian optimization)

不管是GridSearchCV還是RandomSearchCV, 都是在調(diào)參者給定的有限范圍內(nèi)搜索全部或者部分參數(shù)的組合情況下模型的最佳表現(xiàn);可想而知最優(yōu)模型參數(shù)取決于先驗的模型參數(shù)和有限范圍,某些情況下并一定是最優(yōu)的, 而且暴力搜索對于大的候選參數(shù)空間也是很耗時的。

我們換了角度來看待參數(shù)搜索的問題:我們的目的是選擇一個最優(yōu)的參數(shù)組合,使得訓(xùn)練的模型在給定的數(shù)據(jù)集上表現(xiàn)最好,所以可以理解成是一個最優(yōu)化問題。

我們通常使用梯度下降的方式來迭代的計算最優(yōu)值,但是梯度下降要求優(yōu)化的函數(shù)是固定并且是可導(dǎo)的,如交叉熵loss等。對于參數(shù)搜索問題, 我們要在眾多模型(不同的超參)中找一個效果最好的模型,判斷是否最好是由模型決定的,而模型是一個黑盒子,不知道是什么結(jié)構(gòu),以及是否是凸函數(shù),是沒辦法使用梯度下降方法。

這種情況下,貝葉斯優(yōu)化是一種解決方案。貝葉斯優(yōu)化把搜索的模型空間假設(shè)為高斯分布,利用高斯過程,按迭代的方式每次計算得到比當(dāng)前最優(yōu)參數(shù)期望提升的新的最優(yōu)參數(shù)。

通用的算法如下:

  •  Input:f是模型, M是高斯擬合函數(shù), X是參數(shù), S是參數(shù)選擇算法Acquisition Function
  •  初始化高斯分布擬合的數(shù)據(jù)集D,為(x,y), x是超參數(shù),y是超參數(shù)的x的執(zhí)行結(jié)果(如精確率等)
  •  迭代T次
  •  每次迭代,用D數(shù)據(jù)集擬合高斯分布函數(shù)
  •  根據(jù)擬合的函數(shù),根據(jù)Acquisition Function(如Expected improvement算法),在參數(shù)空間選擇一個比當(dāng)前最優(yōu)解更優(yōu)的參數(shù)xi
  •  將參數(shù)xi代入模型f(訓(xùn)練一個模型),得出相應(yīng)的yi(新模型的精確率等)
  •  (xi,yi)重新加入擬合數(shù)據(jù)集D,再一次迭代

由此可知,貝葉斯優(yōu)化每次都利用上一次參數(shù)選擇。而GridSearchCV和RandomSearchCV每一次搜索都是獨立的。

到此,簡單介紹了貝葉斯優(yōu)化的理論知識。有很多第三方庫實現(xiàn)了貝葉斯優(yōu)化的實現(xiàn),如 advisor,bayesian-optimization,Scikit-Optimize和GPyOpt等。本文以GPyOpt和bayesian-optimization為例子。 

  1. pip install gpyopt  
  2. pip install bayesian-optimization 
  3. pip install scikit-optimize 
  •  gpyopt例子 
  1. import GPy  
  2. import GPyOpt  
  3. from GPyOpt.methods import BayesianOptimization  
  4. from sklearn.model_selection import train_test_split  
  5. from sklearn.model_selection import cross_val_score  
  6. from sklearn.datasets import load_iris  
  7. from xgboost import XGBRegressor  
  8. import numpy as np   
  9. iris = load_iris()  
  10. X = iris.data 
  11. y = iris.target  
  12. x_train, x_test, y_train, y_test = train_test_split(X,y,test_size = 0.3,random_state = 14 
  13. # 超參數(shù)搜索空間  
  14. bds = [{'name': 'learning_rate', 'type': 'continuous', 'domain': (0, 1)},  
  15.         {'name': 'gamma', 'type': 'continuous', 'domain': (0, 5)},  
  16.         {'name': 'max_depth', 'type': 'continuous', 'domain': (1, 50)}]   
  17. # Optimization objective 模型F  
  18. def cv_score(parameters): 
  19.      parametersparameters = parameters[0]  
  20.     score = cross_val_score 
  21.                 XGBRegressor(learning_rate=parameters[0],  
  22.                               gamma=int(parameters[1]),  
  23.                               max_depth=int(parameters[2])),  
  24.                 X, y, scoring='neg_mean_squared_error').mean()  
  25.     score = np.array(score)  
  26.     return score  
  27. # acquisition就是選擇不同的Acquisition Function  
  28. optimizer = GPyOpt.methods.BayesianOptimization(f = cv_score,            # function to optimize         
  29.                                           domain = bds,         # box-constraints of the problem  
  30.                                           acquisition_type ='LCB',       # LCB acquisition  
  31.                                           acquisition_weight = 0.1)   # Exploration exploitation  
  32.  x_best = optimizer.X[np.argmax(optimizer.Y)]  
  33. print("Best parameters: learning_rate="+str(x_best[0])+",gamma="+str(x_best[1])+",max_depth="+str(x_best[2]))  
  34. # Best parameters: learning_rate=0.4272184438229706,gamma=1.4805727469635759,max_depth=41.8460390442754 
  •  bayesian-optimization例子 
  1. from sklearn.datasets import make_classification  
  2. from xgboost import XGBRegressor  
  3. from sklearn.model_selection import cross_val_score  
  4. from bayes_opt import BayesianOptimization  
  5. iris = load_iris()  
  6. X = iris.data  
  7. y = iris.target  
  8. x_train, x_test, y_train, y_test = train_test_split(X,y,test_size = 0.3,random_state = 14 
  9. bds ={'learning_rate': (0, 1),  
  10.         'gamma': (0, 5),  
  11.         'max_depth': (1, 50)}  
  12. # Optimization objective   
  13. def cv_score(learning_rate, gamma,  max_depth):  
  14.     score = cross_val_score 
  15.                 XGBRegressor(learning_ratelearning_rate=learning_rate,  
  16.                               gamma=int(gamma),  
  17.                               max_depth=int(max_depth)),   
  18.                 X, y, scoring='neg_mean_squared_error').mean()  
  19.     score = np.array(score)  
  20.     return score  
  21. rf_bo = BayesianOptimization 
  22.         cv_score,  
  23.         bds  
  24.     )  
  25. rf_bo.maximize()  
  26. rf_bo.max   
  27. |   iter    |  target   |   gamma   | learni... | max_depth |  
  28. -------------------------------------------------------------  
  29. |  1        | -0.0907   |  0.7711   |  0.1819   |  20.33    |  
  30. |  2        | -0.1339   |  4.933    |  0.6599   |  8.972    |  
  31. |  3        | -0.07285  |  1.55     |  0.8247   |  33.94    |  
  32. |  4        | -0.1359   |  4.009    |  0.3994   |  25.55    |  
  33. |  5        | -0.08773  |  1.666    |  0.9551   |  48.67    |  
  34. |  6        | -0.05654  |  0.0398   |  0.3707   |  1.221    |  
  35. |  7        | -0.08425  |  0.6883   |  0.2564   |  33.25    |  
  36. |  8        | -0.1113   |  3.071    |  0.8913   |  1.051    |  
  37. |  9        | -0.9167   |  0.0      |  0.0      |  2.701    |  
  38. |  10       | -0.05267  |  0.0538   |  0.1293   |  1.32     |  
  39. |  11       | -0.08506  |  1.617    |  1.0      |  32.68    |  
  40. |  12       | -0.09036  |  2.483    |  0.2906   |  33.21    |  
  41. |  13       | -0.08969  |  0.4662   |  0.3612   |  34.74    |  
  42. |  14       | -0.0723   |  1.295    |  0.2061   |  1.043    |  
  43. |  15       | -0.07531  |  1.903    |  0.1182   |  35.11    |  
  44. |  16       | -0.08494  |  2.977    |  1.0      |  34.57    |  
  45. |  17       | -0.08506  |  1.231    |  1.0      |  36.05    |  
  46. |  18       | -0.07023  |  2.81     |  0.838    |  36.16    |  
  47. |  19       | -0.9167   |  1.94     |  0.0      |  36.99    |  
  48. |  20       | -0.09041  |  3.894    |  0.9442   |  35.52    |  
  49. |  21       | -0.1182   |  3.188    |  0.01882  |  35.14    |  
  50. |  22       | -0.08521  |  0.931    |  0.05693  |  31.66    |  
  51. |  23       | -0.1003   |  2.26     |  0.07555  |  31.78    |  
  52. |  24       | -0.1018   |  0.08563  |  0.9838   |  32.22    |  
  53. |  25       | -0.1017   |  0.8288   |  0.9947   |  30.57    |  
  54. |  26       | -0.9167   |  1.943    |  0.0      |  30.2     |  
  55. |  27       | -0.08506  |  1.518    |  1.0      |  35.04    |  
  56. |  28       | -0.08494  |  3.464    |  1.0      |  32.36    |  
  57. |  29       | -0.1224   |  4.296    |  0.4472   |  33.47    |  
  58. |  30       | -0.1017   |  0.0      |  1.0      |  35.86    |  
  59. =============================================================  
  60. {'target': -0.052665895082105285,  
  61.  'params': {'gamma': 0.05379782654053811,  
  62.   'learning_rate': 0.1292986176550608,  
  63.   'max_depth': 1.3198257775801387}} 

bayesian-optimization只支持最大化,如果score是越小越好,可以加一個負(fù)號轉(zhuǎn)化為最大值優(yōu)化。

兩者的優(yōu)化結(jié)果并不是十分一致的,可能和實現(xiàn)方式和選擇的算法不同,也和初始化的擬合數(shù)據(jù)集有關(guān)系。

5. 總結(jié)

本文介紹三種超參數(shù)優(yōu)化的策略,希望對你有幫助。簡要總結(jié)如下:

  •  GridSearchCV網(wǎng)格搜索,給定超參和取值范圍,遍歷所有組合得到最優(yōu)參數(shù)。首先你要給定一個先驗的取值,不能取得太多,否則組合太多,耗時太長。可以啟發(fā)式的嘗試。
  •  RandomSearchCV隨機(jī)搜索,搜索超參數(shù)的值不是固定,是在一定范圍內(nèi)隨機(jī)的值
  •  貝葉斯優(yōu)化,采用高斯過程迭代式的尋找最優(yōu)參數(shù),每次迭代都是在上一次迭代基礎(chǔ)上擬合高斯函數(shù)上,尋找比上一次迭代更優(yōu)的參數(shù),推薦gpyopt庫 

 

責(zé)任編輯:龐桂玉 來源: Python中文社區(qū)(ID:python-china)
相關(guān)推薦

2024-07-16 16:13:14

2022-10-31 11:33:30

機(jī)器學(xué)習(xí)參數(shù)調(diào)優(yōu)

2025-01-07 12:55:28

2024-11-25 08:20:35

2022-08-30 00:31:12

機(jī)器學(xué)習(xí)超參數(shù)調(diào)優(yōu)算法

2023-06-06 15:42:13

Optuna開源

2017-11-07 11:00:59

數(shù)據(jù)庫調(diào)優(yōu)DBMS

2021-03-26 06:05:17

Tomcat

2010-03-04 10:56:52

JVM參數(shù)

2023-11-10 11:23:20

JVM內(nèi)存

2010-09-25 13:05:07

JVM參數(shù)

2023-07-28 14:49:00

黑盒優(yōu)化機(jī)器學(xué)習(xí)

2013-03-20 17:30:18

2011-03-31 13:40:34

2012-01-10 14:35:08

JavaJVM

2025-05-07 07:17:18

2025-05-27 08:20:00

Linux內(nèi)核參數(shù)調(diào)優(yōu)系統(tǒng)

2010-09-17 17:02:24

JVM參數(shù)

2017-07-21 08:55:13

TomcatJVM容器

2022-03-10 09:48:11

人工智能機(jī)器學(xué)習(xí)模型
點贊
收藏

51CTO技術(shù)棧公眾號

色135综合网| 唐人社导航福利精品| 夫妻av一区二区| 欧美亚洲在线视频| 国产毛片欧美毛片久久久| 国产91在线精品| 一区二区三区四区不卡在线| 精品综合在线| 91久久精品无码一区二区| 最新亚洲激情| www.亚洲人.com| 国产真实乱人偷精品| 国内av在线播放| 天堂美国久久| 中国一级免费毛片| 亚洲成人三级在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 日韩精品一区二区三区在线| 浮妇高潮喷白浆视频| 人人干在线视频| av影院午夜一区| 成人亲热视频网站| 天天干天天操天天爱| 欧美91大片| 国产一区二区日韩精品欧美精品| 手机看片国产精品| 精品日本视频| 欧美日韩美女在线观看| 成人性做爰片免费视频| 成人高清免费在线播放| 不卡大黄网站免费看| 亚洲精品日产aⅴ| 欧美男人天堂网| 国产一区二区三区久久久久久久久 | 亚洲三级视频在线观看| 任我爽在线视频精品一| 少妇一级淫片免费看| 国产裸体歌舞团一区二区| 1769国产精品| 久久高清免费视频| 欧美激情第8页| 日韩在线视频网站| 国产高清一区二区三区四区| 91精品久久久久久综合五月天| 色综合久久久网| 日韩精品 欧美| 欧美理论片在线播放| 亚洲免费在线观看| 欧美日韩视频免费在线观看| av电影在线播放高清免费观看| 91丨porny丨首页| 国产亚洲欧美一区二区三区| www久久久com| 高清不卡一二三区| aa日韩免费精品视频一| 一级黄色片视频| 日本va欧美va瓶| 国产精品99久久久久久人| 天天干在线播放| 国产精品久久国产愉拍| 国产91|九色| 亚洲黄色三级视频| 午夜亚洲性色视频| 日本高清不卡的在线| 欧美激情黑白配| 久久国产精品亚洲77777| 欧洲成人在线视频| 无码久久精品国产亚洲av影片| 久久久蜜桃一区二区人| 国产精品久久久久久av下载红粉| 波多野结衣二区三区| 日韩精品久久久久久| 国产精品免费在线免费| 国产精品视频一区二区三区,| 久国产精品韩国三级视频| 92看片淫黄大片欧美看国产片| a级片在线视频| 成人少妇影院yyyy| 女同一区二区| 又爽又大又黄a级毛片在线视频| 中文字幕一区二区三区四区不卡| 99精品一级欧美片免费播放| 男女在线视频| 欧美午夜精品久久久久久人妖 | 久久国产精品波多野结衣av| 一区视频在线看| 69av成年福利视频| 欧美激情一区二区三区免费观看 | 欧美成人性生活视频| 亚洲情趣在线观看| 国内精品视频一区二区三区| 毛片免费看不卡网站| 欧美老肥妇做.爰bbww| 国产xxx在线观看| 亚洲系列另类av| 久久精品国产视频| 日韩伦理在线视频| 麻豆精品视频在线观看视频| 电影午夜精品一区二区三区| 久久综合九色综合久| 亚洲日本一区二区| 浮妇高潮喷白浆视频| 97久久中文字幕| 日韩电影中文 亚洲精品乱码 | 色婷婷热久久| 午夜精品久久久久久久99黑人 | 福利影院在线看| 8x8x8国产精品| 少妇伦子伦精品无吗| 精品视频免费| 隔壁老王国产在线精品| 潘金莲一级淫片aaaaaa播放| 国产乱理伦片在线观看夜一区| 久久精品美女| 亚洲欧美成人影院| 欧洲av一区二区嗯嗯嗯啊| 动漫美女无遮挡免费| 成人婷婷网色偷偷亚洲男人的天堂| 色与欲影视天天看综合网| 精品乱码一区内射人妻无码 | 黄页网站在线| 欧美二区在线观看| 在线小视频你懂的| 国产欧美午夜| 国产精品久久7| 免费不卡视频| 欧美少妇xxx| 女人被狂躁c到高潮| 欧美永久精品| 国产有码在线一区二区视频| 国产中文字幕在线播放| 午夜精品久久久久久久蜜桃app| 亚洲欧美偷拍另类| 成人a'v在线播放| 欧美最近摘花xxxx摘花| 日本黄色三级视频| 一区二区三区免费观看| 免费黄频在线观看| 精品久久精品| 日韩美女福利视频| 深夜福利在线视频| 精品久久久久久久久久| v天堂中文在线| 亚洲一本视频| 国产精品国产三级欧美二区| 羞羞污视频在线观看| 欧美一区二区三区喷汁尤物| 国产精品suv一区二区88| 日韩国产欧美在线视频| 久久国产精品久久| 亚洲精品mv| 日韩精品视频在线| 久久久久99精品成人片三人毛片| av资源站一区| 国产中文字幕在线免费观看| 国产精品videossex| 98视频在线噜噜噜国产| 无码精品人妻一区二区| 精品久久久视频| 欧美精品黑人猛交高潮| 亚洲一区二区网站| 欧美在线激情| gogo亚洲高清大胆美女人体| 欲色天天网综合久久| 中文字幕乱码无码人妻系列蜜桃| 中文字幕成人av| 国产无色aaa| 一个色综合网| 国产精品久久精品国产| 九色porny丨入口在线| 精品亚洲夜色av98在线观看 | 18av在线视频| 精品盗摄一区二区三区| 久久一区二区三区视频| 久久精品欧美一区二区三区麻豆 | 日韩精品一区二区在线播放| 久久综合网色—综合色88| 熟妇人妻va精品中文字幕| 成人羞羞网站入口免费| 91在线观看免费高清完整版在线观看| 亚洲GV成人无码久久精品| 97国产一区二区| 欧美视频第三页| 久久中文字幕av一区二区不卡| 成人有码在线播放| 阿v视频在线| 中文字幕精品视频| 亚洲国产999| 色综合 综合色| 日本午夜在线观看| 99久久综合国产精品| 免费日韩视频在线观看| 亚州av乱码久久精品蜜桃| 国产精品区一区二区三含羞草| 成人影院网站| 九九久久国产精品| 激情视频在线观看免费| 91精品国产入口在线| 天堂中文在线网| 亚洲精品一二三四区| 久久久久亚洲av无码专区桃色| 激情综合网最新| 男人操女人逼免费视频| 久久国产亚洲精品| 韩国成人一区| 成人短视频软件网站大全app| 国外成人在线播放| 1769在线观看| 亚洲精品国产精品国自产在线| 中文字幕乱码人妻无码久久| 性做久久久久久久免费看| 色婷婷国产精品免| 99久久精品免费| 久久人人爽人人片| 日韩av中文字幕一区二区| 精品视频在线观看一区二区| 精品日韩一区| 免费观看成人高| 伊人久久大香线蕉av超碰| 国产精品一区二区三| 蜜桃视频在线观看免费视频| 久久综合伊人77777| 国产色a在线| 精品香蕉在线观看视频一| 亚洲成人av综合| 777午夜精品视频在线播放| 日韩精品一区不卡| 欧美日韩黄色大片| 久久久久久久久久一区二区三区| 国产精品网站一区| 成人性生交大免费看| 白白色亚洲国产精品| 亚洲欧美激情一区二区三区| 狠狠色综合播放一区二区| 日本爱爱免费视频| 丝袜美腿亚洲综合| www.玖玖玖| 亚洲精品激情| 久久久亚洲国产精品| 欧美三级小说| 亚洲精品国产suv一区88| 亚洲九九视频| 麻豆中文字幕在线观看| 日韩中文首页| 亚洲精品一区二区毛豆| 日韩国产欧美| 亚洲精品不卡| 日韩啪啪电影网| 亚洲成人av动漫| 日韩在线观看| 伊人情人网综合| 日韩在线二区| 久久久久久久久影视| 一区二区中文| 99久热在线精品视频| 欧美日韩视频一区二区三区| 日韩精品手机在线观看| 狠狠干成人综合网| 日本手机在线视频| 国产精品毛片一区二区三区| 亚洲午夜精品久久久久久人妖| 久久aⅴ国产紧身牛仔裤| 黄色片一级视频| 日韩av中文字幕一区二区三区| 久久精品影视大全| 久久福利视频一区二区| 亚洲自拍第三页| 成人免费视频国产在线观看| 在线视频 日韩| 久久美女艺术照精彩视频福利播放 | 国产一区二区三区四区五区入口 | 国产视频一区二区在线| 成人做爰69片免网站| 国产精品久久久久久一区二区三区 | 国产剧情在线观看一区| 亚洲日本精品国产第一区| 亚洲精品国产偷自在线观看| 国产一区二区三区在线免费| 夜夜嗨av一区二区三区网站四季av| 日日橹狠狠爱欧美超碰| 日本在线播放一区二区三区| 91网址在线观看精品| 成人高清免费观看| 中文字幕在线观看免费高清| 亚洲色图欧美在线| 日韩黄色精品视频| 在线视频一区二区免费| a在线观看免费| 亚洲精品国产精品国自产观看浪潮| 国产三级在线| 欧美成人精品在线| a日韩av网址| 亚洲一区中文字幕| 无码少妇一区二区三区| 一本色道久久综合亚洲精品婷婷| 1024精品一区二区三区| www.99在线| 成人精品视频网站| 狂野欧美性猛交| 天天免费综合色| 6—12呦国产精品| 日韩精品在线第一页| 老司机在线永久免费观看| 国语自产偷拍精品视频偷| 成人国产综合| 激情小说综合网| 亚洲精品a级片| 成人亚洲视频在线观看| 成人一道本在线| 99热99这里只有精品| 欧美性生交xxxxxdddd| 国产suv一区二区| 一区二区欧美激情| 女人让男人操自己视频在线观看| 91精品国产自产在线观看永久| 欧美性生活一级片| 成人av在线播放观看| 精品一区二区三区蜜桃| 最近中文字幕在线mv视频在线| 亚洲最大色网站| 国产精品无码免费播放| 亚洲图片欧美午夜| 自拍网站在线观看| 久久久久久久久久码影片| 欧美视频亚洲视频| 91丨porny丨九色| 国产精品视频一二| 亚洲第一网站在线观看| 亚洲国产欧美久久| 99热99re6国产在线播放| 97久久人人超碰caoprom欧美| 欧美丰满日韩| 国产又大又黄又粗又爽| 国产日韩欧美不卡| 欧美黄色一级大片| 国产亚洲欧美aaaa| 最新日韩三级| 欧洲视频一区二区三区| 翔田千里一区二区| 亚洲最大成人网站| 色悠悠亚洲一区二区| 你懂的免费在线观看| 欧美一级片一区| 亚洲精品小区久久久久久| 久久婷婷五月综合色国产香蕉| 91麻豆成人久久精品二区三区| 日本一级一片免费视频| 日韩风俗一区 二区| av中文字幕在线观看第一页| 国产自产精品| 亚洲欧美卡通另类91av| 亚洲精品视频久久久| 色婷婷久久久亚洲一区二区三区| 麻豆app在线观看| 国产精品成人av在线| 日韩精品久久久久久久电影99爱| 精品日韩久久久| 中文字幕中文乱码欧美一区二区| 五月天中文字幕| 久久五月天色综合| 99国产精品久久一区二区三区| 免费在线黄网站| 国产不卡视频一区| 国产无套粉嫩白浆内谢| 精品黑人一区二区三区久久 | 亚洲国产精品久久久久爰性色| 色综合天天狠天天透天天伊人| 午夜精品在线| 日本不卡一区二区三区四区| 国产在线一区二区| xxx在线播放| 欧美欧美欧美欧美首页| www.久久久久.com| 国产日韩三区| 国产精品婷婷| 一本色道久久88| 日韩一区二区三区精品视频| 黄在线观看免费网站ktv| 久久精品五月婷婷| 精品一区二区三区在线播放视频| 亚洲少妇xxx| 亚洲国内高清视频| 欧美极品影院| 麻豆传媒一区二区| 久久国产人妖系列| 高h视频免费观看| 亚洲高清福利视频| 日日夜夜天天综合| 4444亚洲人成无码网在线观看| 本田岬高潮一区二区三区| 一区精品在线观看| 美日韩精品视频免费看| 亚洲欧洲av| 一起操在线视频| 精品美女国产在线| 91在线播放网站| 精品国产一区二区三区久久久久久| 男人的天堂亚洲| 欧美成人三级在线观看| 日韩电影免费观看在线观看|