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

如何判斷LSTM模型中的過擬合與欠擬合

開發 開發工具
判斷長短期記憶模型在序列預測問題上是否表現良好可能是一件困難的事。也許你會得到一個不錯的模型技術得分,但了解模型是較好的擬合,還是欠擬合/過擬合,以及模型在不同的配置條件下能否實現更好的性能是非常重要的。

在本教程中,你將發現如何診斷 LSTM 模型在序列預測問題上的擬合度。完成教程之后,你將了解:

  • 如何收集 LSTM 模型的訓練歷史并為其畫圖。
  • 如何判別一個欠擬合、較好擬合和過擬合的模型。
  • 如何通過平均多次模型運行來開發更魯棒的診斷方法。

讓我們開始吧。

1. Keras 中的訓練歷史

你可以通過回顧模型的性能隨時間的變化來更多地了解模型行為。

LSTM 模型通過調用 fit() 函數進行訓練。這個函數會返回一個叫作 history 的變量,該變量包含損失函數的軌跡,以及在模型編譯過程中被標記出來的任何一個度量指標。這些得分會在每一個 epoch 的***被記錄下來。

  1. ...  
  2. history = model.fit ( ... ) 

例如,如果你的模型被編譯用來優化 log loss(binary_crossentropy),并且要在每一個 epoch 中衡量準確率,那么,log loss 和準確率將會在每一個訓練 epoch 的歷史記錄中被計算出,并記錄下來。

每一個得分都可以通過由調用 fit() 得到的歷史記錄中的一個 key 進行訪問。默認情況下,擬合模型時優化過的損失函數為「loss」,準確率為「acc」。

  1. model.com pile ( loss='binary_crossentropy'optimizer='adam'metrics= [ 'accuracy' ] ) 
  2.  
  3. history = model.fit ( X, Y, epochs=100 ) 
  4.  
  5. print ( history.history [ 'loss' ] ) 
  6.  
  7. print ( history.history [ 'acc' ] ) 

Keras 還允許在擬合模型時指定獨立的驗證數據集,該數據集也可以使用同樣的損失函數和度量指標進行評估。

該功能可以通過在 fit() 中設置 validation_split 參數來啟用,以將訓練數據分割出一部分作為驗證數據集。

  1. history = model.fit ( X, Y, epochs=100validation_split=0.33 ) 

該功能也可以通過設置 validation_data 參數,并向其傳遞 X 和 Y 數據集元組來執行。

  1. history = model.fit ( X, Y, epochs=100validation_data= ( valX, valY ) ) 

在驗證數據集上計算得到的度量指標會使用相同的命名,只是會附加一個「val_」前綴。

  1. ... 
  2. model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy']) 
  3. history =model.fit(X,Y,epochs=100,validation_split=0.33) 
  4. print(history.history['loss']) 
  5. print(history.history['acc']) 
  6. print(history.history['val_loss']) 
  7. print(history.history['val_acc']) 

2. 診斷圖

LSTM 模型的訓練歷史可用于診斷模型行為。你可以使用 Matplotlib 庫來進行性能的可視化,你可以將訓練損失和測試損失都畫出來以作比較,如下所示:

  1. frommatplotlib importpyplot 
  2. ... 
  3. history =model.fit(X,Y,epochs=100,validation_data=(valX,valY)) 
  4. pyplot.plot(history.history['loss']) 
  5. pyplot.plot(history.history['val_loss']) 
  6. pyplot.title('model train vs validation loss') 
  7. pyplot.ylabel('loss') 
  8. pyplot.xlabel('epoch') 
  9. pyplot.legend(['train','validation'],loc='upper right'
  10. pyplot.show() 

創建并檢查這些圖有助于啟發你找到新的有可能優化模型性能的配置。

接下來,我們來看一些例子。我們將從損失最小化的角度考慮在訓練集和驗證集上的建模技巧。

3. 欠擬合實例

欠擬合模型就是在訓練集上表現良好而在測試集上性能較差的模型。

這個可以通過以下情況來診斷:訓練的損失曲線低于驗證的損失曲線,并且驗證集中的損失函數表現出了有可能被優化的趨勢。

下面是一個人為設計的小的欠擬合 LSTM 模型。

  1. fromkeras.models importSequential 
  2. fromkeras.layers importDense 
  3. fromkeras.layers importLSTM 
  4. frommatplotlib importpyplot 
  5. fromnumpy importarray 
  6. # return training data 
  7. defget_train(): 
  8. seq =[[0.0,0.1],[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]] 
  9. seq =array(seq) 
  10. X,y =seq[:,0],seq[:,1] 
  11. XX =X.reshape((len(X),1,1)) 
  12. returnX,y 
  13. # return validation data 
  14. defget_val(): 
  15. seq =[[0.5,0.6],[0.6,0.7],[0.7,0.8],[0.8,0.9],[0.9,1.0]] 
  16. seq =array(seq) 
  17. X,y =seq[:,0],seq[:,1] 
  18. XX =X.reshape((len(X),1,1)) 
  19. returnX,y 
  20. # define model 
  21. model.add(LSTM(10,input_shape=(1,1))) 
  22. model.add(Dense(1,activation='linear')) 
  23. # compile model 
  24. model.compile(loss='mse',optimizer='adam'
  25. # fit model 
  26. X,y =get_train() 
  27. valX,valY =get_val() 
  28. history =model.fit(X,y,epochs=100,validation_data=(valX,valY),shuffle=False
  29. # plot train and validation loss 
  30. pyplot.plot(history.history['loss']) 
  31. pyplot.plot(history.history['val_loss']) 
  32. pyplot.title('model train vs validation loss') 
  33. pyplot.ylabel('loss') 
  34. pyplot.xlabel('epoch') 
  35. pyplot.legend(['train','validation'],loc='upper right'
  36. pyplot.show() 

運行這個實例會產生一個訓練損失和驗證損失圖,該圖顯示欠擬合模型特點。在這個案例中,模型性能可能隨著訓練 epoch 的增加而有所改善。

欠擬合模型的診斷圖

欠擬合模型的診斷圖

另外,如果模型在訓練集上的性能比驗證集上的性能好,并且模型性能曲線已經平穩了,那么這個模型也可能欠擬合。下面就是一個缺乏足夠的記憶單元的欠擬合模型的例子。

  1. fromkeras.models importSequential 
  2. fromkeras.layers importDense 
  3. fromkeras.layers importLSTM 
  4. frommatplotlib importpyplot 
  5. fromnumpy importarray 
  6. # return training data 
  7. defget_train(): 
  8. seq =[[0.0,0.1],[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]] 
  9. seq =array(seq) 
  10. X,y =seq[:,0],seq[:,1] 
  11. XX =X.reshape((5,1,1)) 
  12. returnX,y 
  13. # return validation data 
  14. defget_val(): 
  15. seq =[[0.5,0.6],[0.6,0.7],[0.7,0.8],[0.8,0.9],[0.9,1.0]] 
  16. seq =array(seq) 
  17. X,y =seq[:,0],seq[:,1] 
  18. XX =X.reshape((len(X),1,1)) 
  19. returnX,y 
  20. # define model 
  21. model.add(LSTM(1,input_shape=(1,1))) 
  22. model.add(Dense(1,activation='linear')) 
  23. # compile model 
  24. model.compile(loss='mae',optimizer='sgd'
  25. # fit model 
  26. X,y =get_train() 
  27. valX,valY =get_val() 
  28. history =model.fit(X,y,epochs=300,validation_data=(valX,valY),shuffle=False
  29. # plot train and validation loss 
  30. pyplot.plot(history.history['loss']) 
  31. pyplot.plot(history.history['val_loss']) 
  32. pyplot.title('model train vs validation loss') 
  33. pyplot.ylabel('loss') 
  34. pyplot.xlabel('epoch') 
  35. pyplot.legend(['train','validation'],loc='upper right'
  36. pyplot.show() 

運行這個實例會展示出一個存儲不足的欠擬合模型的特點。

在這個案例中,模型的性能也許會隨著模型的容量增加而得到改善,例如隱藏層中記憶單元的數目或者隱藏層的數目增加。

欠擬合模型的狀態診斷線圖

欠擬合模型的狀態診斷線圖

4. 良好擬合實例

良好擬合的模型就是模型的性能在訓練集和驗證集上都比較好。

這可以通過訓練損失和驗證損失都下降并且穩定在同一個點進行診斷。

下面的小例子描述的就是一個良好擬合的 LSTM 模型。

  1. fromkeras.models importSequential 
  2. fromkeras.layers importDense 
  3. fromkeras.layers importLSTM 
  4. frommatplotlib importpyplot 
  5. fromnumpy importarray 
  6. # return training data 
  7. defget_train(): 
  8. seq =[[0.0,0.1],[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]] 
  9. seq =array(seq) 
  10. X,y =seq[:,0],seq[:,1] 
  11. XX =X.reshape((5,1,1)) 
  12. returnX,y 
  13. # return validation data 
  14. defget_val(): 
  15. seq =[[0.5,0.6],[0.6,0.7],[0.7,0.8],[0.8,0.9],[0.9,1.0]] 
  16. seq =array(seq) 
  17. X,y =seq[:,0],seq[:,1] 
  18. XX =X.reshape((len(X),1,1)) 
  19. returnX,y 
  20. # define model 
  21. model.add(LSTM(10,input_shape=(1,1))) 
  22. model.add(Dense(1,activation='linear')) 
  23. # compile model 
  24. model.compile(loss='mse',optimizer='adam'
  25. # fit model 
  26. X,y =get_train() 
  27. valX,valY =get_val() 
  28. history =model.fit(X,y,epochs=800,validation_data=(valX,valY),shuffle=False
  29. # plot train and validation loss 
  30. pyplot.plot(history.history['loss']) 
  31. pyplot.plot(history.history['val_loss']) 
  32. pyplot.title('model train vs validation loss') 
  33. pyplot.ylabel('loss') 
  34. pyplot.xlabel('epoch') 
  35. pyplot.legend(['train','validation'],loc='upper right'
  36. pyplot.show() 

運行這個實例可以創建一個線圖,圖中訓練損失和驗證損失出現重合。

理想情況下,我們都希望模型盡可能是這樣,盡管面對大量數據的挑戰,這似乎不太可能。

良好擬合模型的診斷線圖

良好擬合模型的診斷線圖

5. 過擬合實例

過擬合模型即在訓練集上性能良好且在某一點后持續增長,而在驗證集上的性能到達某一點然后開始下降的模型。

這可以通過線圖來診斷,圖中訓練損失持續下降,驗證損失下降到拐點開始上升。

下面這個實例就是一個過擬合 LSTM 模型。

  1. fromkeras.models importSequential 
  2. fromkeras.layers importDense 
  3. fromkeras.layers importLSTM 
  4. frommatplotlib importpyplot 
  5. fromnumpy importarray 
  6. # return training data 
  7. defget_train(): 
  8. seq =[[0.0,0.1],[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]] 
  9. seq =array(seq) 
  10. X,y =seq[:,0],seq[:,1] 
  11. XX =X.reshape((5,1,1)) 
  12. returnX,y 
  13. # return validation data 
  14. defget_val(): 
  15. seq =[[0.5,0.6],[0.6,0.7],[0.7,0.8],[0.8,0.9],[0.9,1.0]] 
  16. seq =array(seq) 
  17. X,y =seq[:,0],seq[:,1] 
  18. XX =X.reshape((len(X),1,1)) 
  19. returnX,y 
  20. # define model 
  21. model.add(LSTM(10,input_shape=(1,1))) 
  22. model.add(Dense(1,activation='linear')) 
  23. # compile model 
  24. model.compile(loss='mse',optimizer='adam'
  25. # fit model 
  26. X,y =get_train() 
  27. valX,valY =get_val() 
  28. history =model.fit(X,y,epochs=1200,validation_data=(valX,valY),shuffle=False
  29. # plot train and validation loss 
  30. pyplot.plot(history.history['loss'][500:]) 
  31. pyplot.plot(history.history['val_loss'][500:]) 
  32. pyplot.title('model train vs validation loss') 
  33. pyplot.ylabel('loss') 
  34. pyplot.xlabel('epoch') 
  35. pyplot.legend(['train','validation'],loc='upper right'
  36. pyplot.show() 

運行這個實例會創建一個展示過擬合模型在驗證集中出現拐點的曲線圖。

這也許是進行太多訓練 epoch 的信號。

在這個案例中,模型會在拐點處停止訓練。另外,訓練樣本的數目可能會增加。

過擬合模型的診斷線圖

過擬合模型的診斷線圖

6. 多次運行實例

LSTM 是隨機的,這意味著每次運行時都會得到一個不同的診斷圖。

多次重復診斷運行很有用(如 5、10、30)。每次運行的訓練軌跡和驗證軌跡都可以被繪制出來,以更魯棒的方式記錄模型隨著時間的行為軌跡。

以下實例多次運行同樣的實驗,然后繪制每次運行的訓練損失和驗證損失軌跡。

  1. fromkeras.models importSequential 
  2. fromkeras.layers importDense 
  3. fromkeras.layers importLSTM 
  4. frommatplotlib importpyplot 
  5. fromnumpy importarray 
  6. frompandas importDataFrame 
  7. # return training data 
  8. defget_train(): 
  9. seq =[[0.0,0.1],[0.1,0.2],[0.2,0.3],[0.3,0.4],[0.4,0.5]] 
  10. seq =array(seq) 
  11. X,y =seq[:,0],seq[:,1] 
  12. XX =X.reshape((5,1,1)) 
  13. returnX,y 
  14. # return validation data 
  15. defget_val(): 
  16. seq =[[0.5,0.6],[0.6,0.7],[0.7,0.8],[0.8,0.9],[0.9,1.0]] 
  17. seq =array(seq) 
  18. X,y =seq[:,0],seq[:,1] 
  19. XX =X.reshape((len(X),1,1)) 
  20. returnX,y 
  21. # collect data across multiple repeats 
  22. train =DataFrame() 
  23. val =DataFrame() 
  24. fori inrange(5): 
  25. # define model 
  26. model.add(LSTM(10,input_shape=(1,1))) 
  27. model.add(Dense(1,activation='linear')) 
  28. # compile model 
  29. model.compile(loss='mse',optimizer='adam'
  30. X,y =get_train() 
  31. valX,valY =get_val() 
  32. # fit model 
  33. history =model.fit(X,y,epochs=300,validation_data=(valX,valY),shuffle=False
  34. # story history 
  35. train[str(i)]=history.history['loss'] 
  36. val[str(i)]=history.history['val_loss'] 
  37. # plot train and validation loss across multiple runs 
  38. pyplot.plot(train,color='blue',label='train'
  39. pyplot.plot(val,color='orange',label='validation'
  40. pyplot.title('model train vs validation loss') 
  41. pyplot.ylabel('loss') 
  42. pyplot.xlabel('epoch') 
  43. pyplot.show() 

從下圖中,我們可以在 5 次運行中看到欠擬合模型的通常趨勢,該案例強有力地證明增加訓練 epoch 次數的有效性。

模型多次運行的診斷線圖

模型多次運行的診斷線圖

擴展閱讀

如果你想更深入地了解這方面的內容,這一部分提供了更豐富的資源。

  • Keras 的歷史回調 API(History Callback Keras API,https://keras.io/callbacks/#history)
  • 維基百科中關于機器學習的學習曲線(Learning Curve in Machine Learning on Wikipedia,https://en.wikipedia.org/wiki/Learning_curve#In_machine_learning)
  • 維基百科上關于過擬合的描述(Overfitting on Wikipedia,https://en.wikipedia.org/wiki/Overfitting)

原文:https://machinelearningmastery.com/diagnose-overfitting-underfitting-lstm-models/

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】

 

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2024-04-29 14:54:36

機器學習過擬合模型人工智能

2022-08-10 15:56:40

機器學習算法深度學習

2025-08-13 09:27:55

模型框架AI

2023-03-06 14:12:47

深度學習

2020-06-05 08:38:39

python散點圖擬合

2021-01-20 15:30:25

模型人工智能深度學習

2019-12-20 09:15:48

神經網絡數據圖形

2020-07-14 10:40:49

Keras權重約束神經網絡

2022-09-25 23:19:01

機器學習決策樹Python

2025-03-07 08:50:00

AI生成技術

2024-08-27 15:33:57

2025-01-20 09:21:00

2025-06-20 09:03:00

2025-01-09 09:29:57

2020-06-05 18:57:41

BiLSTMCRF算法

2023-10-30 10:29:50

C++最小二乘法

2023-04-10 15:48:41

代碼計算

2022-05-30 15:44:33

模型訓練GAN

2018-07-03 09:12:23

深度學習正則化Python
點贊
收藏

51CTO技術棧公眾號

日本三级一区| 国产精品一二三四五区| 网曝91综合精品门事件在线| 日本精品一区二区三区四区的功能| 久久久久久久久久久久久9999| 蜜臀精品一区二区三区| 91欧美大片| 亚洲成人免费在线视频| 99福利在线观看| 欧美91精品久久久久国产性生爱| 日韩激情中文字幕| 欧美成人午夜激情在线| 疯狂揉花蒂控制高潮h| 成人黄页网站视频| 午夜电影网一区| 亚洲欧洲日本国产| 日韩永久免费视频| 蜜臀av一区二区三区| 欧美精品九九久久| 国产又粗又长又黄的视频| 国产精品色呦| 欧美电影影音先锋| 欧美性大战久久久久xxx| 91成人高清| 91麻豆精品视频| 亚洲一区二区自拍| 精品乱码一区内射人妻无码| 日韩亚洲国产欧美| 久久av.com| 我不卡一区二区| 欧美综合精品| 欧美刺激脚交jootjob| 在线观看国产中文字幕| 超碰一区二区| 午夜精品久久久久久久99水蜜桃 | 嫩草国产精品入口| 5858s免费视频成人| 国产wwwxx| 中文一区一区三区高中清不卡免费| 亚洲美腿欧美偷拍| 国产精品h视频| freemovies性欧美| 国产色产综合产在线视频| 国产精品推荐精品| 亚洲AV无码一区二区三区少妇| 另类小说一区二区三区| 国产99久久精品一区二区永久免费| 国产真实乱偷精品视频| 欧美黄免费看| 欧美日韩国产第一页| 黄色片在线观看网站| 国产精品毛片久久| 久久九九全国免费精品观看| 日韩av毛片在线观看| 超碰成人久久| 最近2019中文字幕mv免费看| 男生裸体视频网站| 蜜臀av免费一区二区三区| 亚洲精品网址在线观看| 国产jk精品白丝av在线观看| 精品影片在线观看的网站| 亚洲视频自拍偷拍| 国产毛片欧美毛片久久久| 成人在线丰满少妇av| 日韩在线www| 国产精品 欧美激情| 午夜精品视频| 97视频在线观看视频免费视频 | 这里只有精品视频在线观看| www.成年人| 999国产精品一区| 精品国产乱码久久| 短视频在线观看| 精品一区二区三| 北条麻妃一区二区三区中文字幕| 九九精品视频免费| 伊人成人网在线看| 奇米4444一区二区三区| 中文字幕久久熟女蜜桃| 精品亚洲porn| 国产亚洲欧美一区二区| 国产精品四虎| 亚洲欧洲精品一区二区精品久久久| 特级西西444| 手机在线观看av网站| 欧美性xxxxxx少妇| 一本之道在线视频| 日韩精品免费一区二区三区竹菊| 国产亚洲精品高潮| 中文字幕在线2021| 日韩视频一区二区三区在线播放免费观看| 91成人性视频| 亚洲综合一区中| 成人午夜激情片| 欧美中日韩一区二区三区| 免费av不卡| 精品国产户外野外| www.成人黄色| 亚洲精品国产动漫| 欧美xxxx综合视频| 亚洲成人第一网站| 成人免费va视频| 亚洲成人第一| 国产一二在线播放| 欧美日韩成人在线| www.久久国产| 黑丝一区二区| 国产日本欧美一区二区三区| 亚洲人成色777777老人头| 中文字幕日韩一区| 久久久久人妻精品一区三寸| 久久综合偷偷噜噜噜色| 国产亚洲欧美日韩美女| 国产一级片网址| 久久99国产精品免费| 久久亚洲综合网| 日韩av黄色网址| 免费观看黄色av| 亚洲欧洲日韩av| 成人在线观看黄| 国产成人av毛片| 欧美成人午夜剧场免费观看| 国模私拍一区二区| 91性感美女视频| 人妻互换免费中文字幕| 香蕉久久一区| 在线一区二区日韩| 欧美性猛交bbbbb精品| 国产91富婆露脸刺激对白| 一区二区不卡在线观看| 久久久一本精品| 亚洲九九九在线观看| 国产成人精品亚洲男人的天堂| 韩国三级电影一区二区| 亚洲国产精品综合| 成人免费网站www网站高清| 亚洲国产精品系列| 久久国产在线观看| 国产精品亚洲а∨天堂免在线| 亚洲激情一区二区| 黄色成人在线视频| 伊人青青综合网站| 蜜臀尤物一区二区三区直播| 久久久综合激的五月天| 久久综合九色综合88i| 久久国产精品免费精品3p| 欧美精品videossex性护士| а√中文在线资源库| 亚洲精品国产成人久久av盗摄 | 日韩精品亚洲精品| 成年人免费看毛片| 99精品热视频| 国产aaa一级片| 精品在线手机视频| 国产裸体写真av一区二区 | 开心激情综合网| 亚洲国产中文字幕| 丰满岳乱妇一区二区| 夜夜嗨网站十八久久| 麻豆成人av| 三上悠亚国产精品一区二区三区| 亚洲情综合五月天| 中文字幕有码无码人妻av蜜桃| 国产精品丝袜91| 久国产精品视频| 欧美日韩免费| 久久精品日韩| 成人国产在线| 久久99久国产精品黄毛片入口| 亚洲乱码在线观看| 欧美日韩国产精品| 欧美三级视频网站| 国产剧情一区二区三区| 人人妻人人做人人爽| 日韩高清成人在线| 国产在线视频一区| 牛牛精品在线视频| 精品视频在线播放色网色视频| 人人妻人人爽人人澡人人精品| 中文字幕一区二区三区在线播放 | 国产欧美久久久精品影院| 亚洲综合色在线观看| 综合视频在线| 久久本道综合色狠狠五月| www.一区| 久久久久久伊人| 番号在线播放| 欧美一级高清片| 亚洲黄色激情视频| 亚洲视频 欧洲视频| www.免费av| 久久精品99国产国产精| 国产原创popny丨九色| 日韩成人综合| 极品日韩久久| 91精品视频一区二区| 性色av一区二区三区| 色综合久久久久综合一本到桃花网| 日韩欧美一区在线观看| 亚洲精品久久久久久久蜜桃| 一二三四社区欧美黄| 黄色三级生活片| 成人性视频免费网站| 鲁一鲁一鲁一鲁一av| 一区二区激情| 四虎4hu永久免费入口| 成人av动漫在线观看| 精品乱码一区| 国产一区二区三区免费在线 | 国产欧美日本一区二区三区| 天天躁日日躁狠狠躁免费麻豆| 蜜桃视频第一区免费观看| 18禁网站免费无遮挡无码中文| 99精品全国免费观看视频软件| 久久精品ww人人做人人爽| 国产欧美88| 国产精品自产拍高潮在线观看| 精精国产xxx在线视频app| 欧美成人免费视频| 日本精品一区二区三区在线播放| 精品网站999www| 蜜桃av噜噜一区二区三区麻豆| 欧美精品粉嫩高潮一区二区| 国产99免费视频| 亚洲成a天堂v人片| 久久中文字幕无码| 亚洲色图一区二区三区| 一二三四在线观看视频| 久久久久久久综合| 91精品人妻一区二区| 成a人片亚洲日本久久| 免费观看黄网站| 国产一区二三区| www.成人黄色| 国产一区二区三区免费看| 一起操在线视频| 蜜臀av一区二区在线观看| 无码日韩人妻精品久久蜜桃| 校园激情久久| 亚洲精品无码久久久久久| 国产精品日韩久久久| 国产婷婷一区二区三区| 亚洲精品系列| 99爱视频在线| 性感少妇一区| 无码无遮挡又大又爽又黄的视频| 久久精品导航| 亚洲综合在线网站| 美女尤物国产一区| 中文字幕视频三区| 国产精品一区二区免费不卡 | 日本va中文字幕| 老司机久久99久久精品播放免费| 精品一卡二卡三卡| 久久综合导航| 伊人影院综合在线| 国产原创一区二区三区| 四川一级毛毛片| 高清久久久久久| 国产二级一片内射视频播放| 99久久精品国产观看| 中文字幕一区二区三区人妻不卡| 国产色婷婷亚洲99精品小说| 天天做夜夜爱爱爱| 一区二区三区高清| 国产精品久久久免费视频| 日韩欧美综合在线视频| 中文在线资源天堂| 91精品国产一区二区三区蜜臀| www.99视频| 日韩成人高清在线| 伊人在线视频| 欧美黑人性猛交| 久久uomeier| 成人a在线视频| 第一区第二区在线| 日韩精品一区二区三区色偷偷 | 国产午夜大地久久| 琪琪一区二区三区| 特黄特色免费视频| 久久九九全国免费| 强乱中文字幕av一区乱码| 天天综合日日夜夜精品| 中文字幕免费在线看| 日韩一二三区不卡| 免费资源在线观看| 欧美成人午夜免费视在线看片| 福利在线免费视频| 国产男女猛烈无遮挡91| 红杏一区二区三区| 亚洲v欧美v另类v综合v日韩v| 欧美成人一品| 国产免费视频传媒| av一区二区久久| 日韩欧美视频免费观看| 亚洲va国产天堂va久久en| 亚洲特级黄色片| 亚洲精品第一国产综合精品| 日本亚洲精品| 国产精品91久久久| a看欧美黄色女同性恋| 亚洲欧美电影在线观看| 一本久道久久综合狠狠爱| 伊人国产精品视频| 久久久99精品久久| 国产精品成人久久| 欧美卡1卡2卡| 国产乱视频在线观看| 97国产在线观看| 欧美成人精品午夜一区二区| 日韩av大全| 校园春色综合网| 欧美肉大捧一进一出免费视频| 亚洲欧美另类在线| 在线永久看片免费的视频| 精品国产乱码久久久久久久| 日本高清中文字幕在线| 国产精品99久久久久久久久久久久 | 国产精华一区二区三区| 精品国内自产拍在线观看视频| 亚洲永久激情精品| 日韩中文字幕av电影| 久久无码人妻精品一区二区三区| 亚洲精品高清在线| 国产福利小视频| 久久久成人的性感天堂| 成人1区2区| 亚洲欧洲一区二区福利| 三级欧美韩日大片在线看| 成年人网站免费看| 午夜精品福利一区二区三区av| 精品人妻一区二区三区蜜桃 | 国精产品一区一区三区mba视频| 国产精品毛片一区二区| 五月婷婷欧美视频| 日韩中文字幕影院| 国内精品久久久久影院优| 伊人久久大香线蕉av超碰| 中文字幕超清在线免费观看| 看电视剧不卡顿的网站| 日本黄区免费视频观看| 欧美色综合网站| 在线免费观看黄色网址| 国产精品国产自产拍高清av水多| 沈樵精品国产成av片| 日韩一级在线免费观看| 久久久久久久综合狠狠综合| 国产字幕在线观看| 中日韩午夜理伦电影免费| 成人看片毛片免费播放器| 亚洲国产欧洲综合997久久| 美洲天堂一区二卡三卡四卡视频| 69xxx免费| 欧美电影一区二区三区| 日本在线视频网址| 国产午夜精品一区| 亚洲一区二区三区四区五区午夜| 制服丝袜第二页| 欧美亚洲综合一区| 黄网站免费在线播放| 成人9ⅰ免费影视网站| 亚洲精品乱码久久久久久蜜桃麻豆| 呦呦视频在线观看| 色婷婷久久综合| 日韩伦理在线观看| 99一区二区三区| 国产精品入口66mio| 在线小视频你懂的| 91精品国模一区二区三区| 欧美性受ⅹ╳╳╳黑人a性爽| 精品一区二区三区自拍图片区 | 成人性爱视频在线观看| 成人国产精品一区| 黄色综合网站| 免费人成又黄又爽又色| 91麻豆精品国产91久久久久久 | 国产欧美一区二区三区久久人妖 | 日韩毛片在线免费看| 中文字幕一区二区三区精华液| av一级黄色片| 5566日本婷婷色中文字幕97| 久久在线免费| 一级黄色片毛片| 欧美日韩中文字幕一区二区| 日本在线视频网址| 日本视频一区二区在线观看| 国产呦萝稀缺另类资源| 精品免费囯产一区二区三区| 色偷偷91综合久久噜噜| 高清精品xnxxcom| 一路向西2在线观看| 亚洲国产一区二区三区青草影视| 国产三级在线看| 国产高清在线一区| 青青草国产成人99久久| 日韩伦人妻无码| 另类少妇人与禽zozz0性伦| 天堂日韩电影| 麻豆tv在线观看| 欧美三级电影精品|