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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习系列(4)_机器学习算法一览,应用建议与解决思路

發布時間:2023/12/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习系列(4)_机器学习算法一览,应用建议与解决思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:寒小陽
時間:2016年1月。
出處:http://blog.csdn.net/han_xiaoyang/article/details/50469334
聲明:版權所有,轉載請聯系作者并注明出處

1.引言

提起筆來寫這篇博客,突然有點愧疚和尷尬。愧疚的是,工作雜事多,加之懶癌嚴重,導致這個系列一直沒有更新,向關注該系列的同學們道個歉。尷尬的是,按理說,機器學習介紹與算法一覽應該放在最前面寫,詳細的應用建議應該在講完機器學習常用算法之后寫,突然莫名奇妙在中間插播這么一篇,好像有點打亂主線。
老話說『亡羊補牢,為時未晚』,前面開頭忘講的東西,咱在這塊兒補上。我們先帶著大家過一遍傳統機器學習算法,基本思想和用途。把問題解決思路和方法應用建議提前到這里的想法也很簡單,希望能提前給大家一些小建議,對于某些容易出錯的地方也先給大家打個預防針,這樣在理解后續相應機器學習算法之后,使用起來也有一定的章法。

2.機器學習算法簡述

按照不同的分類標準,可以把機器學習的算法做不同的分類。

2.1 從機器學習問題角度分類

我們先從機器學習問題本身分類的角度來看,我們可以分成下列類型的算法:

  • 監督學習算法

機器學習中有一大部分的問題屬于『監督學習』的范疇,簡單口語化地說明,這類問題中,給定的訓練樣本中,每個樣本的輸入xxx都對應一個確定的結果yyy,我們需要訓練出一個模型(數學上看是一個x→yx → yxy的映射關系fff),在未知的樣本x′x'x給定后,我們能對結果y′y'y做出預測。

這里的預測結果如果是離散值(很多時候是類別類型,比如郵件分類問題中的垃圾郵件/普通郵件,比如用戶會/不會購買某商品),那么我們把它叫做分類問題(classification problem);如果預測結果是連續值(比如房價,股票價格等等),那么我們把它叫做回歸問題(regression problem)。

有一系列的機器學習算法是用以解決監督學習問題的,比如最經典的用于分類問題的樸素貝葉斯、邏輯回歸、支持向量機等等;比如說用于回歸問題的線性回歸等等。

  • 無監督學習

有另外一類問題,給我們的樣本并沒有給出『標簽/標準答案』,就是一系列的樣本。而我們需要做的事情是,在一些樣本中抽取出通用的規則。這叫做『無監督學習』。包括關聯規則和聚類算法在內的一系列機器學習算法都屬于這個范疇。

  • 半監督學習

這類問題給出的訓練數據,有一部分有標簽,有一部分沒有標簽。我們想學習出數據組織結構的同時,也能做相應的預測。此類問題相對應的機器學習算法有自訓練(Self-Training)、直推學習(Transductive Learning)、生成式模型(Generative Model)等。

總體說來,最常見是前兩類問題,而對應前兩類問題的一些機器學習算法如下:

2.2 從算法的功能角度分類

我們也可以從算法的共性(比如功能,運作方式)角度對機器學習算法分類。下面我們根據算法的共性去對它們歸個類。不過需要注意的是,我們下面的歸類方法可能對分類和回歸有比較強的傾向性,而這兩類問題也是最常遇到的。

2.2.1 回歸算法(Regression Algorithms)


回歸算法是一種通過最小化預測值與實際結果值之間的差距,而得到輸入特征之間的最佳組合方式的一類算法。對于連續值預測有線性回歸等,而對于離散值/類別預測,我們也可以把邏輯回歸等也視作回歸算法的一種,常見的回歸算法如下:

  • Ordinary Least Squares Regression (OLSR)
  • Linear Regression
  • Logistic Regression
  • Stepwise Regression
  • Locally Estimated Scatterplot Smoothing (LOESS)
  • Multivariate Adaptive Regression Splines (MARS)

2.2.2 基于實例的算法(Instance-based Algorithms)


這里所謂的基于實例的算法,我指的是我們最后建成的模型,對原始數據樣本實例依舊有很強的依賴性。這類算法在做預測決策時,一般都是使用某類相似度準則,去比對待預測的樣本和原始樣本的相近度,再給出相應的預測結果。常見的基于實例的算法有:

  • k-Nearest Neighbour (kNN)
  • Learning Vector Quantization (LVQ)
  • Self-Organizing Map (SOM)
  • Locally Weighted Learning (LWL)

2.2.3 決策樹類算法(Decision Tree Algorithms)


決策樹類算法,會基于原始數據特征,構建一顆包含很多決策路徑的樹。預測階段選擇路徑進行決策。常見的決策樹算法包括:

  • Classification and Regression Tree (CART)
  • Iterative Dichotomiser 3 (ID3)
  • C4.5 and C5.0 (different versions of a powerful approach)
  • Chi-squared Automatic Interaction Detection (CHAID)
  • M5
  • Conditional Decision Trees

2.2.4 貝葉斯類算法(Bayesian Algorithms)


這里說的貝葉斯類算法,指的是在分類和回歸問題中,隱含使用了貝葉斯原理的算法。包括:

  • Naive Bayes
  • Gaussian Naive Bayes
  • Multinomial Naive Bayes
  • Averaged One-Dependence Estimators (AODE)
  • Bayesian Belief Network (BBN)
  • Bayesian Network (BN)

2.2.5 聚類算法(Clustering Algorithms)


聚類算法做的事情是,把輸入樣本聚成圍繞一些中心的『數據團』,以發現數據分布結構的一些規律。常用的聚類算法包括:

  • k-Means
  • Hierarchical Clustering
  • Expectation Maximisation (EM)

2.2.6 關聯規則算法(Association Rule Learning Algorithms)


關聯規則算法是這樣一類算法:它試圖抽取出,最能解釋觀察到的訓練樣本之間關聯關系的規則,也就是獲取一個事件和其他事件之間依賴或關聯的知識,常見的關聯規則算法有:

  • Apriori algorithm
  • Eclat algorithm

2.2.7 人工神經網絡類算法(Artificial Neural Network Algorithms)


這是受人腦神經元工作方式啟發而構造的一類算法。需要提到的一點是,我把『深度學習』單拎出來了,這里說的人工神經網絡偏向于更傳統的感知算法,主要包括:

  • Perceptron
  • Back-Propagation
  • Radial Basis Function Network (RBFN)

2.2.8 深度學習(Deep Learning Algorithms)


深度學習是近年來非常火的機器學習領域,相對于上面列的人工神經網絡算法,它通常情況下,有著更深的層次和更復雜的結構。有興趣的同學可以看看我們另一個系列機器學習與計算機視覺,最常見的深度學習算法包括:

  • Deep Boltzmann Machine (DBM)
  • Deep Belief Networks (DBN)
  • Convolutional Neural Network (CNN)
  • Stacked Auto-Encoders

2.2.9 降維算法(Dimensionality Reduction Algorithms)


從某種程度上說,降維算法和聚類其實有點類似,因為它也在試圖發現原始訓練數據的固有結構,但是降維算法在試圖,用更少的信息(更低維的信息)總結和描述出原始信息的大部分內容。
有意思的是,降維算法一般在數據的可視化,或者是降低數據計算空間有很大的作用。它作為一種機器學習的算法,很多時候用它先處理數據,再灌入別的機器學習算法學習。主要的降維算法包括:

  • Principal Component Analysis (PCA)
  • Principal Component Regression (PCR)
  • Partial Least Squares Regression (PLSR)
  • Sammon Mapping
  • Multidimensional Scaling (MDS)
  • Linear Discriminant Analysis (LDA)
  • Mixture Discriminant Analysis (MDA)
  • Quadratic Discriminant Analysis (QDA)
  • Flexible Discriminant Analysis (FDA)

2.2.10 模型融合算法(Ensemble Algorithms)


嚴格意義上來說,這不算是一種機器學習算法,而更像是一種優化手段/策略,它通常是結合多個簡單的弱機器學習算法,去做更可靠的決策。拿分類問題舉個例,直觀的理解,就是單個分類器的分類是可能出錯,不可靠的,但是如果多個分類器投票,那可靠度就會高很多。常用的模型融合增強方法包括:

  • Random Forest
  • Boosting
  • Bootstrapped Aggregation (Bagging)
  • AdaBoost
  • Stacked Generalization (blending)
  • Gradient Boosting Machines (GBM)
  • Gradient Boosted Regression Trees (GBRT)

2.3 機器學習算法使用圖譜

scikit-learn作為一個豐富的python機器學習庫,實現了絕大多數機器學習的算法,有相當多的人在使用,于是我這里很無恥地把machine learning cheat sheet for sklearn搬過來了,原文可以看這里。哈哈,既然講機器學習,我們就用機器學習的語言來解釋一下,這是針對實際應用場景的各種條件限制,對scikit-learn里完成的算法構建的一顆決策樹,每一組條件都是對應一條路徑,能找到相對較為合適的一些解決方法,具體如下:

首先樣本量如果非常少的話,其實所有的機器學習算法都沒有辦法從里面『學到』通用的規則和模式,so多弄點數據是王道。然后根據問題是有/無監督學習和連續值/離散值預測,分成了分類、聚類、回歸和維度約減四個方法類,每個類里根據具體情況的不同,又有不同的處理方法。

3. 機器學習問題解決思路

上面帶著代價走馬觀花過了一遍機器學習的若干算法,下面我們試著總結總結在拿到一個實際問題的時候,如果著手使用機器學習算法去解決問題,其中的一些注意點以及核心思路。主要包括以下內容:

  • 拿到數據后怎么了解數據(可視化)
  • 選擇最貼切的機器學習算法
  • 定位模型狀態(過/欠擬合)以及解決方法
  • 大量極的數據的特征分析與可視化
  • 各種損失函數(loss function)的優缺點及如何選擇

多說一句,這里寫的這個小教程,主要是作為一個通用的建議和指導方案,你不一定要嚴格按照這個流程解決機器學習問題。

3.1 數據與可視化

我們先使用scikit-learn的make_classification函數來生產一份分類數據,然后模擬一下拿到實際數據后我們需要做的事情。

#numpy科學計算工具箱 import numpy as np #使用make_classification構造1000個樣本,每個樣本有20個feature from sklearn.datasets import make_classification X, y = make_classification(1000, n_features=20, n_informative=2, n_redundant=2, n_classes=2, random_state=0) #存為dataframe格式 from pandas import DataFrame df = DataFrame(np.hstack((X, y[:, None])),columns = range(20) + ["class"])

我們生成了一份包含1000個分類數據樣本的數據集,每個樣本有20個數值特征。同時我們把數據存儲至pandas中的DataFrame數據結構中。我們取前幾行的數據看一眼:

df[:6]

不幸的是,肉眼看數據,尤其是維度稍微高點的時候,很有可能看花了也看不出看不出任何線索。幸運的是,我們對于圖像的理解力,比數字好太多,而又有相當多的工具可以幫助我們『可視化』數據分布。

我們在處理任何數據相關的問題時,了解數據都是很有必要的,而可視化可以幫助我們更好地直觀理解數據的分布和特性

數據的可視化有很多工具包可以用,比如下面我們用來做數據可視化的工具包Seaborn。最簡單的可視化就是數據散列分布圖和柱狀圖,這個可以用Seanborn的pairplot來完成。以下圖中2種顏色表示2種不同的類,因為20維的可視化沒有辦法在平面表示,我們取出了一部分維度,兩兩組成pair看數據在這2個維度平面上的分布狀況,代碼和結果如下:

import matplotlib.pyplot as plt import seaborn as sns #使用pairplot去看不同特征維度pair下數據的空間分布狀況 _ = sns.pairplot(df[:50], vars=[8, 11, 12, 14, 19], hue="class", size=1.5) plt.show()

我們從散列圖和柱狀圖上可以看出,確實有些維度的特征相對其他維度,有更好的區分度,比如第11維和14維看起來很有區分度。這兩個維度上看,數據點是近似線性可分的。而12維和19維似乎呈現出了很高的負相關性。接下來我們用Seanborn中的corrplot來計算計算各維度特征之間(以及最后的類別)的相關性。代碼和結果圖如下:

import matplotlib.pyplot as plt plt.figure(figsize=(12, 10)) _ = sns.corrplot(df, annot=False) plt.show()

相關性圖很好地印證了我們之前的想法,可以看到第11維特征和第14維特征和類別有極強的相關性,同時它們倆之間也有極高的相關性。而第12維特征和第19維特征卻呈現出極強的負相關性。強相關的特征其實包含了一些冗余的特征,而除掉上圖中顏色較深的特征,其余特征包含的信息量就沒有這么大了,它們和最后的類別相關度不高,甚至各自之間也沒什么先慣性。

插一句,這里的維度只有20,所以這個相關度計算并不費太大力氣,然而實際情形中,你完全有可能有遠高于這個數字的特征維度,同時樣本量也可能多很多,那種情形下我們可能要先做一些處理,再來實現可視化了。別著急,一會兒我們會講到。

3.2 機器學習算法選擇

數據的情況我們大致看了一眼,確定一些特征維度之后,我們可以考慮先選用機器學習算法做一個baseline的系統出來了。這里我們繼續參照上面提到過的機器學習算法使用圖譜。
我們只有1000個數據樣本,是分類問題,同時是一個有監督學習,因此我們根據圖譜里教的方法,使用LinearSVC(support vector classification with linear kernel)試試。注意,LinearSVC需要選擇正則化方法以緩解過擬合問題;我們這里選擇使用最多的L2正則化,并把懲罰系數C設為10。我們改寫一下sklearn中的學習曲線繪制函數,畫出訓練集和交叉驗證集上的得分:

from sklearn.svm import LinearSVC from sklearn.learning_curve import learning_curve #繪制學習曲線,以確定模型的狀況 def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None,train_sizes=np.linspace(.1, 1.0, 5)):"""畫出data在某模型上的learning curve.參數解釋----------estimator : 你用的分類器。title : 表格的標題。X : 輸入的feature,numpy類型y : 輸入的target vectorylim : tuple格式的(ymin, ymax), 設定圖像中縱坐標的最低點和最高點cv : 做cross-validation的時候,數據分成的份數,其中一份作為cv集,其余n-1份作為training(默認為3份)"""plt.figure()train_sizes, train_scores, test_scores = learning_curve(estimator, X, y, cv=5, n_jobs=1, train_sizes=train_sizes)train_scores_mean = np.mean(train_scores, axis=1)train_scores_std = np.std(train_scores, axis=1)test_scores_mean = np.mean(test_scores, axis=1)test_scores_std = np.std(test_scores, axis=1)plt.fill_between(train_sizes, train_scores_mean - train_scores_std,train_scores_mean + train_scores_std, alpha=0.1,color="r")plt.fill_between(train_sizes, test_scores_mean - test_scores_std,test_scores_mean + test_scores_std, alpha=0.1, color="g")plt.plot(train_sizes, train_scores_mean, 'o-', color="r",label="Training score")plt.plot(train_sizes, test_scores_mean, 'o-', color="g",label="Cross-validation score")plt.xlabel("Training examples")plt.ylabel("Score")plt.legend(loc="best")plt.grid("on") if ylim:plt.ylim(ylim)plt.title(title)plt.show()#少樣本的情況情況下繪出學習曲線 plot_learning_curve(LinearSVC(C=10.0), "LinearSVC(C=10.0)",X, y, ylim=(0.8, 1.01),train_sizes=np.linspace(.05, 0.2, 5))

這幅圖上,我們發現隨著樣本量的增加,訓練集上的得分有一定程度的下降,交叉驗證集上的得分有一定程度的上升,但總體說來,兩者之間有很大的差距,訓練集上的準確度遠高于交叉驗證集。這其實意味著我們的模型處于過擬合的狀態,也即模型太努力地刻畫訓練集,一不小心把很多噪聲的分布也擬合上了,導致在新數據上的泛化能力變差了。

3.2.1 過擬合的定位與解決

問題來了,過擬合咋辦?
針對過擬合,有幾種辦法可以處理:

  • 增大樣本量

這個比較好理解吧,過擬合的主要原因是模型太努力地去記住訓練樣本的分布狀況,而加大樣本量,可以使得訓練集的分布更加具備普適性,噪聲對整體的影響下降。恩,我們提高點樣本量試試:

#增大一些樣本量 plot_learning_curve(LinearSVC(C=10.0), "LinearSVC(C=10.0)",X, y, ylim=(0.8, 1.1),train_sizes=np.linspace(.1, 1.0, 5))

是不是發現問題好了很多?隨著我們增大訓練樣本量,我們發現訓練集和交叉驗證集上的得分差距在減少,最后它們已經非常接近了。增大樣本量,最直接的方法當然是想辦法去采集相同場景下的新數據,如果實在做不到,也可以試試在已有數據的基礎上做一些人工的處理生成新數據(比如圖像識別中,我們可能可以對圖片做鏡像變換、旋轉等等),當然,這樣做一定要謹慎,強烈建議想辦法采集真實數據。

  • 減少特征的量(只用我們覺得有效的特征)

比如在這個例子中,我們之前的數據可視化和分析的結果表明,第11和14維特征包含的信息對識別類別非常有用,我們可以只用它們。

plot_learning_curve(LinearSVC(C=10.0), "LinearSVC(C=10.0) Features: 11&14", X[:, [11, 14]], y, ylim=(0.8, 1.0), train_sizes=np.linspace(.05, 0.2, 5))

從上圖上可以看出,過擬合問題也得到一定程度的緩解。不過我們這是自己觀察后,手動選出11和14維特征。那能不能自動進行特征組合和選擇呢,其實我們當然可以遍歷特征的組合樣式,然后再進行特征選擇(前提依舊是這里特征的維度不高,如果高的話,遍歷所有的組合是一個非常非常非常耗時的過程!!):

from sklearn.pipeline import Pipeline from sklearn.feature_selection import SelectKBest, f_classif # SelectKBest(f_classif, k=2) 會根據Anova F-value選出 最好的k=2個特征plot_learning_curve(Pipeline([("fs", SelectKBest(f_classif, k=2)), # select two features("svc", LinearSVC(C=10.0))]), "SelectKBest(f_classif, k=2) + LinearSVC(C=10.0)", X, y, ylim=(0.8, 1.0), train_sizes=np.linspace(.05, 0.2, 5))

如果你自己跑一下程序,會發現在我們自己手造的這份數據集上,這個特征篩選的過程超級順利,但依舊像我們之前提過的一樣,這是因為特征的維度不太高。
從另外一個角度看,我們之所以做特征選擇,是想降低模型的復雜度,而更不容易刻畫到噪聲數據的分布。從這個角度出發,我們還可以有(1)多項式你和模型中降低多項式次數 (2)神經網絡中減少神經網絡的層數和每層的結點數 ?SVM中增加RBF-kernel的bandwidth等方式來降低模型的復雜度。
話說回來,即使以上提到的辦法降低模型復雜度后,好像能在一定程度上緩解過擬合,但是我們一般還是不建議一遇到過擬合,就用這些方法處理,優先用下面的方法:

  • 增強正則化作用(比如說這里是減小LinearSVC中的C參數)
    正則化是我認為在不損失信息的情況下,最有效的緩解過擬合現象的方法。
plot_learning_curve(LinearSVC(C=0.1), "LinearSVC(C=0.1)", X, y, ylim=(0.8, 1.0), train_sizes=np.linspace(.05, 0.2, 5))

調整正則化系數后,發現確實過擬合現象有一定程度的緩解,但依舊是那個問題,我們現在的系數是自己敲定的,有沒有辦法可以自動選擇最佳的這個參數呢?可以。我們可以在交叉驗證集上做grid-search查找最好的正則化系數(對于大數據樣本,我們依舊需要考慮時間問題,這個過程可能會比較慢):

from sklearn.grid_search import GridSearchCV estm = GridSearchCV(LinearSVC(), param_grid={"C": [0.001, 0.01, 0.1, 1.0, 10.0]}) plot_learning_curve(estm, "LinearSVC(C=AUTO)", X, y, ylim=(0.8, 1.0),train_sizes=np.linspace(.05, 0.2, 5)) print "Chosen parameter on 100 datapoints: %s" % estm.fit(X[:500], y[:500]).best_params_

在500個點得到的結果是:{‘C’: 0.01}
使用新的C參數,我們再看看學習曲線:

對于特征選擇的部分,我打算多說幾句,我們剛才看過了用sklearn.feature_selection中的SelectKBest來選擇特征的過程,也提到了在高維特征的情況下,這個過程可能會非常非常慢。那我們有別的辦法可以進行特征選擇嗎?比如說,我們的分類器自己能否甄別那些特征是對最后的結果有益的?這里有個實際工作中用到的小技巧。

我們知道:

  • l2正則化,它對于最后的特征權重的影響是,盡量打散權重到每個特征維度上,不讓權重集中在某些維度上,出現權重特別高的特征。
  • 而l1正則化,它對于最后的特征權重的影響是,讓特征獲得的權重稀疏化,也就是對結果影響不那么大的特征,干脆就拿不著權重。

那基于這個理論,我們可以把SVC中的正則化替換成l1正則化,讓其自動甄別哪些特征應該留下權重。

plot_learning_curve(LinearSVC(C=0.1, penalty='l1', dual=False), "LinearSVC(C=0.1, penalty='l1')", X, y, ylim=(0.8, 1.0), train_sizes=np.linspace(.05, 0.2, 5))

好了,我們一起來看看最后特征獲得的權重:

estm = LinearSVC(C=0.1, penalty='l1', dual=False) estm.fit(X[:450], y[:450]) # 用450個點來訓練 print "Coefficients learned: %s" % est.coef_ print "Non-zero coefficients: %s" % np.nonzero(estm.coef_)[1]

得到結果:

Coefficients learned: [[ 0. 0. 0. 0. 0. 0.018579990. 0. 0. 0.004135 0. 1.052413690.01971419 0. 0. 0. 0. -0.056653140.14106505 0. ]] Non-zero coefficients: [5 9 11 12 17 18]

你看,5 9 11 12 17 18這些維度的特征獲得了權重,而第11維權重最大,也說明了它影響程度最大。

3.2.2 欠擬合定位與解決

我們再隨機生成一份數據[1000*20]的數據(但是分布和之前有變化),重新使用LinearSVC來做分類。

#構造一份環形數據 from sklearn.datasets import make_circles X, y = make_circles(n_samples=1000, random_state=2) #繪出學習曲線 plot_learning_curve(LinearSVC(C=0.25),"LinearSVC(C=0.25)",X, y, ylim=(0.5, 1.0),train_sizes=np.linspace(.1, 1.0, 5))

簡直爛出翔了有木有,二分類問題,我們做隨機猜測,準確率都有0.5,這比隨機猜測都高不了多少!!!怎么辦?

不要盲目動手收集更多資料,或者調整正則化參數。我們從學習曲線上其實可以看出來,訓練集上的準確度和交叉驗證集上的準確度都很低,這其實就對應了我們說的『欠擬合』狀態。別急,我們回到我們的數據,還是可視化看看:

f = DataFrame(np.hstack((X, y[:, None])), columns = range(2) + ["class"]) _ = sns.pairplot(df, vars=[0, 1], hue="class", size=3.5)

你發現什么了,數據根本就沒辦法線性分割!!!,所以你再找更多的數據,或者調整正則化參數,都是無濟于事的!!!

那我們又怎么解決欠擬合問題呢?通常有下面一些方法:

  • 調整你的特征(找更有效的特征!!)
    比如說我們觀察完現在的數據分布,然后我們先對數據做個映射:
# 加入原始特征的平方項作為新特征 X_extra = np.hstack((X, X[:, [0]]**2 + X[:, [1]]**2))plot_learning_curve(LinearSVC(C=0.25), "LinearSVC(C=0.25) + distance feature", X_extra, y, ylim=(0.5, 1.0), train_sizes=np.linspace(.1, 1.0, 5))


臥槽,少年,這準確率,被嚇尿了有木有啊!!!所以你看,選用的特征影響太大了,當然,我們這里是人工模擬出來的數據,分布太明顯了,實際數據上,會比這個麻煩一些,但是在特征上面下的功夫還是很有回報的。

  • 使用更復雜一點的模型(比如說用非線性的核函數)
    我們對模型稍微調整了一下,用了一個復雜一些的非線性rbf kernel:
from sklearn.svm import SVC # note: we use the original X without the extra feature plot_learning_curve(SVC(C=2.5, kernel="rbf", gamma=1.0), "SVC(C=2.5, kernel='rbf', gamma=1.0)",X, y, ylim=(0.5, 1.0), train_sizes=np.linspace(.1, 1.0, 5))

你看,效果依舊很贊。

3.3 關于大數據樣本集和高維特征空間

我們在小樣本的toy dataset上,怎么搗鼓都有好的方法。但是當數據量和特征樣本空間膨脹非常厲害時,很多東西就沒有那么好使了,至少是一個很耗時的過程。舉個例子說,我們現在重新生成一份數據集,但是這次,我們生成更多的數據,更高的特征維度,而分類的類別也提高到5。

3.3.1 大數據情形下的模型選擇與學習曲線

在上面提到的那樣一份數據上,我們用LinearSVC可能就會有點慢了,我們注意到機器學習算法使用圖譜推薦我們使用SGDClassifier。其實本質上說,這個模型也是一個線性核函數的模型,不同的地方是,它使用了隨機梯度下降做訓練,所以每次并沒有使用全部的樣本,收斂速度會快很多。再多提一點,SGDClassifier對于特征的幅度非常敏感,也就是說,我們在把數據灌給它之前,應該先對特征做幅度調整,當然,用sklearn的StandardScaler可以很方便地完成這一點。

SGDClassifier每次只使用一部分(mini-batch)做訓練,在這種情況下,我們使用交叉驗證(cross-validation)并不是很合適,我們會使用相對應的progressive validation:簡單解釋一下,estimator每次只會拿下一個待訓練batch在本次做評估,然后訓練完之后,再在這個batch上做一次評估,看看是否有優化。

#生成大樣本,高緯度特征數據 X, y = make_classification(200000, n_features=200, n_informative=25, n_redundant=0, n_classes=10, class_sep=2, random_state=0)#用SGDClassifier做訓練,并畫出batch在訓練前后的得分差 from sklearn.linear_model import SGDClassifier est = SGDClassifier(penalty="l2", alpha=0.001) progressive_validation_score = [] train_score = [] for datapoint in range(0, 199000, 1000):X_batch = X[datapoint:datapoint+1000]y_batch = y[datapoint:datapoint+1000]if datapoint > 0:progressive_validation_score.append(est.score(X_batch, y_batch))est.partial_fit(X_batch, y_batch, classes=range(10))if datapoint > 0:train_score.append(est.score(X_batch, y_batch))plt.plot(train_score, label="train score") plt.plot(progressive_validation_score, label="progressive validation score") plt.xlabel("Mini-batch") plt.ylabel("Score") plt.legend(loc='best') plt.show()

得到如下的結果:

從這個圖上的得分,我們可以看出在50個mini-batch迭代之后,數據上的得分就已經變化不大了。但是好像得分都不太高,所以我們猜測一下,這個時候我們的數據,處于欠擬合狀態。我們剛才在小樣本集合上提到了,如果欠擬合,我們可以使用更復雜的模型,比如把核函數設置為非線性的,但遺憾的是像rbf核函數是沒有辦法和SGDClassifier兼容的。因此我們只能想別的辦法了,比如這里,我們可以把SGDClassifier整個替換掉了,用多層感知神經網來完成這個任務,我們之所以會想到多層感知神經網,是因為它也是一個用隨機梯度下降訓練的算法,同時也是一個非線性的模型。當然根據機器學習算法使用圖譜,也可以使用**核估計(kernel-approximation)**來完成這個事情。

3.3.2 大數據量下的可視化

大樣本數據的可視化是一個相對比較麻煩的事情,一般情況下我們都要用到降維的方法先處理特征。我們找一個例子來看看,可以怎么做,比如我們數據集取經典的『手寫數字集』,首先找個方法看一眼這個圖片數據集。

#直接從sklearn中load數據集 from sklearn.datasets import load_digits digits = load_digits(n_class=6) X = digits.data y = digits.target n_samples, n_features = X.shape print "Dataset consist of %d samples with %d features each" % (n_samples, n_features)# 繪制數字示意圖 n_img_per_row = 20 img = np.zeros((10 * n_img_per_row, 10 * n_img_per_row)) for i in range(n_img_per_row):ix = 10 * i + 1for j in range(n_img_per_row):iy = 10 * j + 1img[ix:ix + 8, iy:iy + 8] = X[i * n_img_per_row + j].reshape((8, 8))plt.imshow(img, cmap=plt.cm.binary) plt.xticks([]) plt.yticks([]) _ = plt.title('A selection from the 8*8=64-dimensional digits dataset') plt.show()

我們總共有1083個訓練樣本,包含手寫數字(0,1,2,3,4,5),每個樣本圖片中的像素點平鋪開都是64位,這個維度顯然是沒辦法直接可視化的。下面我們基于scikit-learn的示例教程對特征用各種方法做降維處理,再可視化。

隨機投射
我們先看看,把數據隨機投射到兩個維度上的結果:

#import所需的package from sklearn import (manifold, decomposition, random_projection) rp = random_projection.SparseRandomProjection(n_components=2, random_state=42)#定義繪圖函數 from matplotlib import offsetbox def plot_embedding(X, title=None):x_min, x_max = np.min(X, 0), np.max(X, 0)X = (X - x_min) / (x_max - x_min)plt.figure(figsize=(10, 10))ax = plt.subplot(111)for i in range(X.shape[0]):plt.text(X[i, 0], X[i, 1], str(digits.target[i]),color=plt.cm.Set1(y[i] / 10.),fontdict={'weight': 'bold', 'size': 12})if hasattr(offsetbox, 'AnnotationBbox'):# only print thumbnails with matplotlib > 1.0shown_images = np.array([[1., 1.]]) # just something bigfor i in range(digits.data.shape[0]):dist = np.sum((X[i] - shown_images) ** 2, 1)if np.min(dist) < 4e-3:# don't show points that are too closecontinueshown_images = np.r_[shown_images, [X[i]]]imagebox = offsetbox.AnnotationBbox(offsetbox.OffsetImage(digits.images[i], cmap=plt.cm.gray_r),X[i])ax.add_artist(imagebox)plt.xticks([]), plt.yticks([])if title is not None:plt.title(title)#記錄開始時間 start_time = time.time() X_projected = rp.fit_transform(X) plot_embedding(X_projected, "Random Projection of the digits (time: %.3fs)" % (time.time() - start_time))

結果如下:

PCA降維
在維度約減/降維領域有一個非常強大的算法叫做PCA(Principal Component Analysis,主成分分析),它能將原始的絕大多數信息用維度遠低于原始維度的幾個主成分表示出來。PCA在我們現在的數據集上效果還不錯,我們來看看用PCA對原始特征降維至2維后,原始樣本在空間的分布狀況:

from sklearn import (manifold, decomposition, random_projection) #TruncatedSVD 是 PCA的一種實現 X_pca = decomposition.TruncatedSVD(n_components=2).fit_transform(X) #記錄時間 start_time = time.time() plot_embedding(X_pca,"Principal Components projection of the digits (time: %.3fs)" % (time.time() - start_time))

得到的結果如下:

我們可以看出,效果還不錯,不同的手寫數字在2維平面上,顯示出了區域集中性。即使它們之間有一定的重疊區域。

如果我們用一些非線性的變換來做降維操作,從原始的64維降到2維空間,效果更好,比如這里我們用到一個技術叫做t-SNE,sklearn的manifold對其進行了實現:

from sklearn import (manifold, decomposition, random_projection) #降維 tsne = manifold.TSNE(n_components=2, init='pca', random_state=0) start_time = time.time() X_tsne = tsne.fit_transform(X) #繪圖 plot_embedding(X_tsne,"t-SNE embedding of the digits (time: %.3fs)" % (time.time() - start_time))

我們發現結果非常的驚人,似乎這個非線性變換降維過后,僅僅2維的特征,就可以將原始數據的不同類別,在平面上很好地劃分開。不過t-SNE也有它的缺點,一般說來,相對于線性變換的降維,它需要更多的計算時間。也不太適合在大數據集上全集使用。

3.4 損失函數的選擇

損失函數的選擇對于問題的解決和優化,非常重要。我們先來看一眼各種不同的損失函數:

import numpy as np import matplotlib.plot as plt # 改自http://scikit-learn.org/stable/auto_examples/linear_model/plot_sgd_loss_functions.html xmin, xmax = -4, 4 xx = np.linspace(xmin, xmax, 100) plt.plot([xmin, 0, 0, xmax], [1, 1, 0, 0], 'k-',label="Zero-one loss") plt.plot(xx, np.where(xx < 1, 1 - xx, 0), 'g-',label="Hinge loss") plt.plot(xx, np.log2(1 + np.exp(-xx)), 'r-',label="Log loss") plt.plot(xx, np.exp(-xx), 'c-',label="Exponential loss") plt.plot(xx, -np.minimum(xx, 0), 'm-',label="Perceptron loss")plt.ylim((0, 8)) plt.legend(loc="upper right") plt.xlabel(r"Decision function $f(x)$") plt.ylabel("$L(y, f(x))$") plt.show()

得到結果圖像如下:

不同的損失函數有不同的優缺點:

  • **0-1損失函數(zero-one loss)**非常好理解,直接對應分類問題中判斷錯的個數。但是比較尷尬的是它是一個非凸函數,這意味著其實不是那么實用。
  • hinge loss(SVM中使用到的)的健壯性相對較高(對于異常點/噪聲不敏感)。但是它沒有那么好的概率解釋。
  • **log損失函數(log-loss)**的結果能非常好地表征概率分布。因此在很多場景,尤其是多分類場景下,如果我們需要知道結果屬于每個類別的置信度,那這個損失函數很適合。缺點是它的健壯性沒有那么強,相對hinge loss會對噪聲敏感一些。
  • 多項式損失函數(exponential loss)(AdaBoost中用到的)對離群點/噪聲非常非常敏感。但是它的形式對于boosting算法簡單而有效。
  • **感知損失(perceptron loss)**可以看做是hinge loss的一個變種。hinge loss對于判定邊界附近的點(正確端)懲罰力度很高。而perceptron loss,只要樣本的判定類別結果是正確的,它就是滿意的,而不管其離判定邊界的距離。優點是比hinge loss簡單,缺點是因為不是max-margin boundary,所以得到模型的泛化能力沒有hinge loss強。

4. 總結

全文到此就結束了。先走馬觀花看了一遍機器學習的算法,然后給出了對應scikit-learn的『秘密武器』機器學習算法使用圖譜,緊接著從了解數據(可視化)選擇機器學習算法定位過/欠擬合及解決方法大量極的數據可視化損失函數優缺點與選擇等方面介紹了實際機器學習問題中的一些思路和方法。本文和文章機器學習系列(3)_邏輯回歸應用之Kaggle泰坦尼克之災都提及了一些處理實際機器學習問題的思路和方法,有相似和互補之處,歡迎大家參照著看。

總結

以上是生活随笔為你收集整理的机器学习系列(4)_机器学习算法一览,应用建议与解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

午夜黄色大片 | 国产h在线播放 | 欧美一区二区三区在线观看 | 久久爱992xxoo| 99久久99热这里只有精品 | 日韩精品中文字幕av | www日韩| www.香蕉视频在线观看 | 午夜色影院 | av免费在线看网站 | 亚洲区另类春色综合小说校园片 | 99re中文字幕 | 色综合久久综合 | 97热视频 | 色婷婷久久久综合中文字幕 | 国产中文视频 | 久久成人国产精品免费软件 | 黄色免费av| 色综合亚洲精品激情狠狠 | 国产精品18久久久久久久网站 | 午夜99| 亚洲精品动漫在线 | 狠狠操.com | av不卡免费看| 欧美激情在线看 | 五月婷婷综合激情网 | 国产另类av | 一区二区三区四区久久 | 欧美一级专区免费大片 | 西西人体4444www高清视频 | 亚洲精品999 | 亚洲精品综合久久 | 天天色图 | 国产精品免费一区二区三区 | www色婷婷com | 韩国精品一区二区三区六区色诱 | www.色com | 欧美日韩调教 | 91在线观看视频网站 | 久久综合电影 | 中文字幕精品www乱入免费视频 | 少妇精品久久久一区二区免费 | 欧美性高跟鞋xxxxhd | 天天色天天干天天 | 中文字幕成人一区 | 中文字幕在线播放一区二区 | 视频在线观看一区 | 色综合五月天 | 日色在线视频 | 免费观看性生交 | 国产精品乱码久久久久久1区2区 | 成人av.com | 久久久精选 | 日韩h在线观看 | 精品国产网址 | 99久精品视频 | 精品久久国产精品 | 在线成人免费av | 天天人人 | 婷婷精品国产一区二区三区日韩 | 一二区精品 | 在线视频 亚洲 | 一区二区三区四区精品视频 | 日日碰狠狠添天天爽超碰97久久 | 正在播放国产一区 | 国产精品 久久 | 久草电影在线 | 亚洲国产小视频在线观看 | 在线视频免费观看 | 狠狠色丁香久久婷婷综合五月 | 免费看片成年人 | www狠狠操| 最近更新的中文字幕 | 伊人资源视频在线 | 九九九热精品免费视频观看 | 欧美人交a欧美精品 | 日韩精品一卡 | 深爱激情五月网 | 久久国产露脸精品国产 | 波多野结衣理论片 | 激情五月综合网 | 亚洲国产av精品毛片鲁大师 | 国产高清视频在线播放 | 天天操夜夜操国产精品 | av网站免费看 | 国产黄色高清 | 久草网视频在线观看 | 精品一区二区在线免费观看 | 久久综合婷婷 | 黄色大片日本免费大片 | 高清国产午夜精品久久久久久 | 黄色特级一级片 | 国产精品第一页在线 | 中文字幕乱码在线播放 | 米奇四色影视 | 国产最新网站 | 久久综合九色 | 超碰在线97国产 | 一本色道久久精品 | 欧美,日韩 | 成人午夜电影网站 | 黄网站www| 久久有精品 | 亚洲激情六月 | 九九九九精品 | 色爱成人网 | 国产一区二区久久久久 | 日韩av高清 | 欧美激情精品一区 | 精品国产一区二区三区久久久蜜臀 | 亚洲a网 | 欧美在线你懂的 | 国产一区精品在线 | 香蕉在线视频播放网站 | 国内精品视频一区二区三区八戒 | 色欧美视频| 最新三级在线 | 国产成人333kkk | 97精品国产97久久久久久免费 | 伊人婷婷网| 免费a网址| 久久久国产毛片 | 亚洲欧洲国产视频 | 久艹在线免费观看 | 国产高清精 | 激情五月婷婷丁香 | 热久久99这里有精品 | 欧美一二三视频 | 色网站在线 | 狠狠狠色狠狠色综合 | 热久久这里只有精品 | 啪啪动态视频 | 超碰国产在线观看 | 欧美性久久久久久 | 亚洲国产理论片 | 一区二区视频免费在线观看 | 欧美一二区视频 | 亚洲成a人片在线观看网站口工 | 婷婷精品在线视频 | 天天色天天干天天 | 日韩网站在线播放 | 中文字幕999 | 四虎国产视频 | 欧美专区国产专区 | 青青久视频 | 国产精品1024 | 久久亚洲私人国产精品 | 久久免费试看 | 久草视频免费 | 久热久草在线 | 国产黄免费在线观看 | 人人爽人人爽人人爽 | 免费在线成人av电影 | 欧美成人精品欧美一级乱 | 久久国产精品影片 | 精品国产成人在线影院 | 色婷婷97 | 一级黄色毛片 | 国产精品21区 | 免费观看成人 | 久久精品国产亚洲精品 | 日b视频国产 | 天天操天天摸天天爽 | 1区2区3区在线观看 三级动图 | 国产视频在线观看一区二区 | 欧美精品一区在线 | 在线观影网站 | 国产精品久久久网站 | 探花视频在线观看免费版 | 久草在线高清视频 | 久久黄色影视 | 久久免费视频网站 | 麻豆视频免费入口 | 蜜臀久久99精品久久久酒店新书 | 久久99在线 | 亚洲精品mv在线观看 | 香蕉视频在线观看免费 | 九九九热| 91av在线免费观看 | 欧美九九九 | 亚洲老妇xxxxxx | 激情深爱.com | 国产精品九九九 | av资源免费在线观看 | 69视频在线| 国产日韩欧美在线 | 亚洲aⅴ久久精品 | 狠狠色噜噜狠狠狠狠2022 | 久久黄网站 | www.五月天激情 | 日日干干| 日本丰满少妇免费一区 | 亚洲女人天堂成人av在线 | 国产午夜精品一区二区三区嫩草 | 中文字幕首页 | 久久人人爽爽人人爽人人片av | 日本中文字幕在线播放 | 国产成人精品一区在线 | 欧美日韩69 | 日韩精品首页 | 最新国产精品拍自在线播放 | 91精品国自产在线观看 | 人人爽人人看 | 综合国产在线观看 | 毛片的网址 | 国产精品专区在线 | 国产精品一区二区在线免费观看 | 五月婷婷,六月丁香 | 亚洲va欧美va国产va黑人 | 久久久这里有精品 | 成人av资源网 | 日韩午夜网站 | 91人人在线 | 日本大尺码专区mv | 日日干天天爽 | 国产xvideos免费视频播放 | 国产手机视频在线播放 | 国产成人精品亚洲a | 亚洲免费av在线 | 久久久国产精品久久久 | 国产精品毛片一区二区 | 精精国产xxxx视频在线播放 | 欧美日韩不卡在线视频 | 91香蕉视频 | 成人精品一区二区三区中文字幕 | 激情综合五月婷婷 | 免费在线观看av网址 | 婷婷综合国产 | 操夜夜操 | 久久视频在线免费观看 | 蜜桃视频在线观看一区 | 四虎国产精品成人免费4hu | 九九九国产 | 天天综合网入口 | 91黄色视屏| 美女视频黄,久久 | 99视屏| 日日爽日日操 | 精品国产免费一区二区三区五区 | 日韩精品一区二区在线视频 | 去看片 | 久草成人在线 | 九九久 | 在线v | 一本到视频在线观看 | 免费亚洲精品 | 国产免费一区二区三区最新6 | 99色婷婷| 国产精品va在线播放 | 色片网站在线观看 | 久久久久免费精品国产小说色大师 | 亚洲视频免费视频 | 国产精品免费视频观看 | 有码一区二区三区 | 日本最新中文字幕 | 蜜臀久久99精品久久久无需会员 | 高清久久久 | 五月婷在线观看 | 特级黄色电影 | 九九国产精品视频 | 在线观看精品 | 国产精品入口麻豆 | 91久久精| 麻豆一精品传二传媒短视频 | 91免费高清在线观看 | 久久久久久高潮国产精品视 | 日日夜精品 | av在线8 | 婷婷综合 | 国产精品视频全国免费观看 | 天天色天天射天天综合网 | 亚洲精品乱码久久久久久高潮 | 视频一区二区三区视频 | 亚洲一级片av| 99热国内精品 | 在线观看黄色免费视频 | 福利视频入口 | 亚洲乱亚洲乱妇 | 午夜黄色大片 | 欧美人交a欧美精品 | 久久久福利 | 亚洲精品久久久久久久不卡四虎 | 337p西西人体大胆瓣开下部 | 亚洲最大成人网4388xx | 久久久视屏| 精品999在线| 韩国在线视频一区 | 在线成人欧美 | www..com黄色片 | 亚洲激色 | 欧美日韩xxxxx | 日韩动漫免费观看高清完整版在线观看 | av亚洲产国偷v产偷v自拍小说 | 在线播放视频一区 | 91麻豆精品国产自产在线 | 欧美国产高清 | 午夜男人影院 | 亚洲国产午夜视频 | 亚洲激情久久 | 国产精品免费观看国产网曝瓜 | 日本久久中文 | 精品国产成人av在线免 | 国产91对白在线播 | 免费网站在线观看人 | 99国产精品一区 | 嫩草av影院| 中文字幕在线字幕中文 | 一性一交视频 | 亚洲精品h | 亚洲一区免费在线 | 在线观看色网 | 亚洲精品在线国产 | 久操久| 久久艹在线观看 | 天堂av网在线 | 97超碰免费在线观看 | 国产精选在线观看 | 99久久精品免费看国产麻豆 | 国产精品女人久久久久久 | 一区二区三区国产精品 | 久久久久久伊人 | 激情婷婷六月 | 国产亚洲视频中文字幕视频 | 色狠狠一区二区 | 久久成人人人人精品欧 | 免费成人在线网站 | 久久精品在线 | 一本之道乱码区 | 成人毛片在线视频 | 久久经典国产 | 精品国产一区二区三区四 | 亚洲日本va中文字幕 | 香蕉免费在线 | 天天摸天天操天天爽 | 夜夜躁狠狠躁日日躁视频黑人 | 国产成人av电影在线观看 | 国产免费观看久久 | 日韩免费视频 | 91麻豆精品91久久久久同性 | 久久国产精品久久国产精品 | 欧美成人69av | 午夜精品麻豆 | 国产精品视频久久久 | 久久久久免费精品国产小说色大师 | 亚洲永久在线 | 97av.com| 日韩激情精品 | 免费电影一区二区三区 | 成人av在线影院 | 日韩com| 91精品久久久久久粉嫩 | 中文字幕有码在线播放 | 人人舔人人干 | 蜜臀91丨九色丨蝌蚪老版 | 国产免费久久av | 成人精品国产免费网站 | 国产精品热视频 | 99视频在线免费播放 | 久久综合九色综合97_ 久久久 | 亚洲情婷婷 | 91视频88av | 碰超在线| 黄污网站在线 | 日韩av在线高清 | 一区二区三区 亚洲 | 在线观看国产一区 | 九九视频免费观看视频精品 | 国产999精品 | 久久99免费观看 | 人人爽爽人人 | 97碰碰视频 | 91精品国产91久久久久久三级 | 2021国产精品 | 香蕉视频啪啪 | 日日操夜 | 久久久久久久久久久电影 | 在线观看黄色免费视频 | 麻豆影视在线免费观看 | 亚洲精品综合一二三区在线观看 | 黄色软件网站在线观看 | 欧美成人黄色片 | 超碰av在线免费观看 | 精品国产激情 | 最近日韩中文字幕中文 | 免费观看国产精品视频 | 国色天香第二季 | 国内精品久久久久久久久久久 | 久久综合九色综合欧美狠狠 | 精品色综合 | 久久综合偷偷噜噜噜色 | 丁香综合激情 | 特级毛片aaa | 色婷婷电影网 | 天天综合在线观看 | 在线小视频你懂的 | 免费看毛片网站 | 成人资源站 | 久久精品艹 | 亚洲精选99 | 超碰在线观看99 | 日韩av免费观看网站 | 久久99精品久久久久蜜臀 | 亚洲欧洲av在线 | 久久久天堂 | 狠狠狠色丁香婷婷综合久久五月 | www.五月天| 日韩免费观看一区二区三区 | 国产免费资源 | 在线小视频 | 热re99久久精品国产66热 | 亚洲成年人免费网站 | 天天操夜操 | 天天噜天天色 | 国产午夜精品理论片在线 | 国产一及片 | 国产精品一区二区久久精品爱微奶 | av+在线播放在线播放 | 国产午夜精品一区二区三区四区 | 国偷自产中文字幕亚洲手机在线 | 伊人久久婷婷 | av丝袜在线 | 欧美男同视频网站 | 久久午夜电影网 | 精品美女久久久久 | 国产1级视频 | 一级黄色在线免费观看 | 99re亚洲国产精品 | 日韩性久久 | 99热免费在线| 亚洲狠狠丁香婷婷综合久久久 | 999抗病毒口服液 | 久久婷婷国产色一区二区三区 | 日韩在线免费播放 | av三级在线看 | 久久呀 | 中文乱幕日产无线码1区 | 久久99久久99精品中文字幕 | 91精品啪在线观看国产线免费 | 久草在线视频网 | 色噜噜日韩精品欧美一区二区 | 日韩欧美在线不卡 | 婷婷伊人综合亚洲综合网 | 久久99国产综合精品 | 国产一区免费在线观看 | 成人av电影在线 | 中文字幕乱偷在线 | 97视频人人| 亚洲在线视频免费 | 96精品视频 | 天堂在线v | 免费久久精品视频 | 欧美性极品xxxx娇小 | 夜夜骑天天操 | 黄色片免费看 | 婷婷av网 | 久久手机精品视频 | 日韩aa视频 | 成人不用播放器 | 在线性视频日韩欧美 | 香蕉精品在线观看 | 九九九九免费视频 | 网站免费黄 | 在线不卡a | 日韩精品专区 | 国模精品在线 | 亚洲 综合 专区 | 日韩精品视频免费在线观看 | 国产一二三区av | 久久久国产一区 | 久草在线官网 | 亚洲天堂自拍视频 | 99久久婷婷 | 亚洲国产97在线精品一区 | 国产福利91精品一区 | 少妇高潮流白浆在线观看 | 黄网站免费大全入口 | 久草精品视频在线观看 | 亚洲黄色在线看 | 国内精品久久久久久久久久久久 | 日韩免费网址 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产一区二区在线视频观看 | 九九一级片 | 美国av大片 | 又黄又爽的免费高潮视频 | 国产91电影在线观看 | 狠狠狠狠狠狠天天爱 | 欧美大片第1页 | 在线观看一级视频 | 最新av网址在线 | av免费高清观看 | 视频成人免费 | 一区二区理论片 | 欧美一级黄色片 | 午夜免费在线观看 | 亚洲欧美视频一区二区三区 | 九色免费视频 | av日韩国产 | 成人av在线网址 | 中文字幕乱码亚洲精品一区 | 中文字幕在线网 | 日韩中文字幕视频在线观看 | 99久久精品国产观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 久久久性 | 色噜噜狠狠狠狠色综合 | 久青草视频在线观看 | 日本午夜在线亚洲.国产 | 亚洲电影av在线 | 日韩二区在线播放 | 免费看一级 | 国产在线97 | 日韩在线免费观看视频 | 国产高清在线看 | 国产精品毛片一区二区 | 成人av网站在线播放 | 五月天丁香 | 日韩综合视频在线观看 | 男女日麻批 | www.色的| 69国产成人综合久久精品欧美 | 亚洲日本欧美 | 999抗病毒口服液 | 很黄很污的视频网站 | 国产a免费 | 国精产品满18岁在线 | 十八岁免进欧美 | 少妇bbb好爽 | 亚洲天堂免费视频 | 日本一区二区不卡高清 | 成人黄色大片 | 欧美精品乱码久久久久久 | 精品亚洲成人 | 免费中文字幕视频 | 精品综合久久久 | 黄色大片日本 | 国产日韩视频在线播放 | 国产专区日韩专区 | 日韩久久久久久久久 | 99久热在线精品视频成人一区 | 黄色软件网站在线观看 | 国产精品亚州 | 日韩欧美一区二区三区免费观看 | 久久伦理电影网 | 日日夜夜草 | 激情喷水| 欧美久久久久久久 | 久久久国产一区 | 91精品国产99久久久久 | 91精品1区 | 国产视频久久久久 | 中文字幕在线观看不卡 | 欧美 日韩 国产 成人 在线 | 亚洲永久字幕 | 欧美日韩亚洲第一页 | 青青河边草手机免费 | 久久99亚洲精品久久 | 国产一区电影在线观看 | 日韩中文字幕国产 | 国产精品成人久久久久久久 | 久久久午夜精品理论片中文字幕 | 亚洲激情在线 | 日韩高清一区在线 | 五月婷婷六月丁香激情 | 久久久久国产精品免费免费搜索 | 中文在线免费一区三区 | 国产黄色美女 | 久久在视频 | 成人资源站 | 99热超碰在线 | 久久精品视频一 | 一本—道久久a久久精品蜜桃 | 久久久精华网 | 在线观看v片 | 欧美久久影院 | 亚洲不卡av一区二区三区 | 中文字幕在线播出 | 亚洲成人黄色在线 | 高清av影院| 狠狠撸电影 | 午夜精品一区二区国产 | 久久久久国产a免费观看rela | www蜜桃视频 | 欧美一区二区三区在线视频观看 | 久久久久免费精品 | 欧美日韩精品在线 | 免费看国产精品 | 99九九视频 | 三上悠亚一区二区在线观看 | 国产特级毛片aaaaaa毛片 | 99精品国产高清在线观看 | 久久免费高清 | 在线观看91| 国产精品久久久久久av | 国产手机精品视频 | 精品国产自 | 91精品婷婷国产综合久久蝌蚪 | 成人视屏免费看 | 91看片看淫黄大片 | 日韩电影中文,亚洲精品乱码 | 国产精品久久久久久久久久久免费看 | 91九色网站 | 欧美男男激情videos | 国内丰满少妇猛烈精品播 | 亚洲午夜精品一区二区三区电影院 | 日韩av高清在线观看 | 三级av免费 | www久久国产| 国内精自线一二区永久 | 国产精品96久久久久久吹潮 | 最新av在线免费观看 | 天天干天天操人体 | 久久99精品久久久久久秒播蜜臀 | 免费在线成人av电影 | 99久久激情视频 | 精品国产一区二区三区在线观看 | 涩涩爱夜夜爱 | 人人干,人人爽 | 久久草av | 久久黄色网址 | 在线观看视频免费大全 | 欧美精品亚洲精品日韩精品 | 色网站视频| 日韩三区在线 | 粉嫩av一区二区三区免费 | 韩国一区二区三区在线观看 | 国产999| 国产精品视频在线看 | 久免费视频 | 99热高清 | 亚洲成人午夜在线 | 欧美日韩伦理在线 | 久久96国产精品久久99软件 | 欧美成人精品欧美一级乱黄 | 激情五月播播久久久精品 | 国产精品久久久久久久久久 | 夜夜夜| 亚洲精品国产综合99久久夜夜嗨 | 久草在线观看视频免费 | 国产精品99久久久久 | 精品一区精品二区高清 | 三日本三级少妇三级99 | 国产精品高潮久久av | 欧美日韩在线观看一区 | 中文字幕在线免费播放 | 五月天久久婷 | 四虎永久国产精品 | 岛国av在线 | 激情五月色播五月 | 国产午夜三级一二三区 | 亚洲精品在线视频播放 | 亚洲年轻女教师毛茸茸 | 一级久久精品 | 亚洲精品影院在线观看 | 久久露脸国产精品 | www.99在线观看 | www五月天| 日韩在线视频二区 | 久久综合久久久久88 | 欧美日一级片 | 狠狠色伊人亚洲综合网站色 | 午夜一级免费电影 | 夜夜躁日日躁狠狠躁 | 四虎影院在线观看av | 亚洲精品videossex少妇 | 波多野结衣在线观看一区二区三区 | 久久国产网 | 亚洲精品成人在线 | 久久免费视频一区 | 成人午夜黄色 | 91桃色国产在线播放 | 亚洲一区免费在线 | 日韩精品 在线视频 | 午夜电影av | 久草免费在线观看 | 亚洲va综合va国产va中文 | 黄网站a | 欧美精品在线免费 | 日韩欧美高清视频在线观看 | 国产一区久久久 | 天天操偷偷干 | 久久资源在线 | 欧美日高清视频 | 精品久久久久久亚洲 | 91精品国产欧美一区二区成人 | 日韩视频图片 | 免费在线一区二区 | 日本免费久久高清视频 | 精品国产91亚洲一区二区三区www | 日韩欧美一区二区三区视频 | 日日干美女 | 99久久精品久久久久久动态片 | 天天操操操操操操 | 日韩夜夜爽 | 欧美久久久久久 | 国产精品普通话 | bayu135国产精品视频 | 亚洲综合色丁香婷婷六月图片 | 久久av中文字幕片 | av在线最新 | 三级黄色欧美 | 色噜噜日韩精品一区二区三区视频 | 午夜影院在线观看18 | 九色91视频| 日本公妇在线观看 | 成人app在线免费观看 | 五月在线| 中文字幕专区高清在线观看 | 国产精品视频免费观看 | 狠狠色丁香婷婷 | 日韩在线 一区二区 | 色综合天天射 | 欧美视频xxx | 在线视频观看亚洲 | 在线免费观看黄色 | 日韩特级黄色片 | 日韩sese | 久久免费精品国产 | 亚洲涩涩网 | 国产精品中文字幕在线观看 | 国产美女无遮挡永久免费 | 99久久电影 | 999久久久免费精品国产 | 国产日韩精品欧美 | 91精品在线视频观看 | 国产在线视频一区二区三区 | 婷婷成人在线 | 日韩av片免费在线观看 | 在线免费中文字幕 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 99热在线网站 | 婷婷激情久久 | 中文字幕av最新 | 亚洲伊人网在线观看 | 99精品视频在线观看免费 | 日韩精品在线观看av | 成人精品视频久久久久 | 色婷婷综合视频在线观看 | 97超碰成人| 深夜男人影院 | 99热精品在线观看 | 欧美怡红院 | 国产日韩欧美精品在线观看 | 五月天久久精品 | 中文久草| 黄色特一级 | 国产精品自在欧美一区 | 超碰97久久 | 色偷偷888欧美精品久久久 | 欧美精品一区二区三区一线天视频 | 日本系列中文字幕 | 成人在线视频一区 | 五月婷婷激情综合 | 国产亚洲视频中文字幕视频 | 99热精品国产一区二区在线观看 | 久草在线资源免费 | 国产在线高清视频 | 91精品国产欧美一区二区成人 | 免费黄色在线播放 | 亚洲国产视频网站 | 日韩欧美一区二区在线 | 亚洲国产影院av久久久久 | 久久成人国产 | 91精品啪在线观看国产线免费 | 亚洲精品综合一区二区 | 欧美一级片免费观看 | 久久免费在线 | 亚洲成人国产 | 国产在线a不卡 | 91大神在线观看视频 | 1区2区3区在线观看 三级动图 | 97av免费视频 | 高清免费在线视频 | 啪啪小视频网站 | 一区二区三区精品在线视频 | 亚洲综合国产精品 | 成人精品在线 | 九九视频在线观看视频6 | 99超碰在线播放 | 在线视频日韩一区 | 久草在线免费资源站 | 国产成人精品一区二区三区网站观看 | aaa毛片视频 | 久碰视频在线观看 | 91精品1区| 久久精选 | 国产不卡网站 | 日韩黄色影院 | 色视频在线免费观看 | 丁香六月婷婷开心婷婷网 | 天天操天天射天天操 | 91精品国自产拍天天拍 | 日日干精品 | 国产午夜三级一区二区三桃花影视 | 丁香激情综合 | 日韩一区二区免费在线观看 | 西西www444 | 国产精品麻豆一区二区三区 | 亚洲理论在线观看 | 国产日韩欧美视频在线观看 | 成人污视频在线观看 | 日韩欧美视频免费在线观看 | 国产精品伦一区二区三区视频 | 91网在线观看| 亚洲伦理一区 | 久久精品一区二区国产 | 国产专区在线看 | 日本aa在线 | 在线观看精品一区 | 夜夜操天天操 | 天天操天天干天天 | 国产96精品 | 黄色精品在线看 | 国产视频久 | 在线观看岛国片 | 欧美一级电影在线观看 | 麻豆国产视频下载 | 国际精品网 | 中文字幕五区 | 亚洲高清色综合 | 在线亚洲欧美视频 | 毛片网站在线看 | 国产视频中文字幕在线观看 | 亚洲一区网 | 久久久国产影院 | 国产明星视频三级a三级点| 五月婷婷av | 99免费在线视频 | 成 人 黄 色 视频播放1 | 综合网色 | 99精品视频在线观看视频 | 欧美色图亚洲图片 | 欧美日本不卡高清 | 91黄在线看 | 久久久精品视频成人 | 成人va视频 | 深夜免费福利在线 | 欧美激情视频一区二区三区免费 | 欧洲不卡av | 精品视频国产一区 | 大荫蒂欧美视频另类xxxx | 91三级视频 | 成人三级黄色 | 手机在线黄色网址 | 亚洲激情在线 | 亚洲乱码中文字幕综合 | 国产五月婷 | 69国产盗摄一区二区三区五区 | 亚洲精品毛片一级91精品 | 免费在线观看黄色网 | 在线观看成人福利 | 国产高清精品在线观看 | 99久久精品免费看国产麻豆 | 天堂网一区二区三区 | 久久婷婷一区二区三区 | 国产午夜精品视频 | 丁香午夜婷婷 | 亚洲精品一区中文字幕乱码 | 九九免费观看视频 | www.色午夜,com | 午夜精品久久久久久久99无限制 | 国产精品一区二区三区视频免费 | 日韩av电影手机在线观看 | 日韩欧美国产精品 | 激情欧美日韩一区二区 | 国产精品福利av | 欧美午夜视频在线 | 91日韩精品视频 | 97在线看片 | 日本在线观看黄色 | 久久只精品99品免费久23小说 | 九九爱免费视频 | 四虎在线免费观看 | 久久久国产一区二区三区四区小说 | 久久久久女教师免费一区 | 99热99re6国产在线播放 | 久久最新网址 | 精品久久一二三区 | 偷拍区另类综合在线 | 久久99精品一区二区三区三区 | 国产一级视频免费看 | 亚洲欧美成人网 | 免费看久久久 | 欧美伦理电影一区二区 | 欧美精品一区二区在线播放 | 夜夜爽天天爽 | 免费国产在线精品 | 在线 视频 一区二区 | 国产精品少妇 | 久久国产影院 | 在线观看日韩免费视频 | 久久国内精品99久久6app | 国产在线第三页 | 天天色成人网 | 91爱爱电影 | 久久久久女人精品毛片九一 | 国产精品9999久久久久仙踪林 | 久久精品久久精品久久39 | 成年人电影免费在线观看 | 国产1区2 | 国产精品一级在线 | 97香蕉超级碰碰久久免费软件 | 国产精品第二十页 | 国产1区在线观看 | 久草久草久草久草 | 伊人资源视频在线 | 日韩黄色大片在线观看 | av解说在线 | 日本视频久久久 | 国产午夜三级一区二区三桃花影视 | 激情视频一区二区 | 国产精品一区二区美女视频免费看 | 久亚洲 | 久久九九免费视频 | 黄色亚洲免费 | 一区二区三区四区精品视频 | 五月的婷婷 | 欧美色图亚洲图片 | 国产免费叼嘿网站免费 | 国产一区二区视频在线播放 | 国产福利专区 | 毛片激情永久免费 | 午夜电影中文字幕 | av免费播放 | 国产精品自产拍在线观看中文 | 高潮久久久久久 | 久久一区二区免费视频 | 国内视频在线 | 高潮久久久久久 | 亚洲一级片在线观看 | 中文字幕色综合网 | 91福利视频免费 | 午夜精品久久久久99热app | 日韩在线第一 | 久久精品国产成人精品 | 久草新在线 | 亚洲国产日韩在线 | 成人小电影在线看 | 一本一道久久a久久精品 | 97超碰香蕉 | 亚洲国产精品va在线看 | 一区av在线播放 | 久久精品国产一区二区三 | 免费看十八岁美女 | 99精品国自产在线 | 97品白浆高清久久久久久 | 六月丁香婷婷在线 | 成人中文字幕+乱码+中文字幕 | 婷婷综合| 欧美性色网站 | 91精品国产综合久久久久久久 | 欧美色综合久久 | 日韩av看片 | 日韩欧美网站 | 免费的黄色的网站 | 久久男女视频 | 欧美男男tv网站 | 中文字幕乱码日本亚洲一区二区 | 成人午夜电影网站 | 久久综合在线 | 色噜噜噜噜 | 中国一级特黄毛片大片久久 | 久久久精品一区二区三区 | 天天看天天干天天操 | 成人精品久久久 | 久久99网站 | 成人高清在线 | 国产精品亚洲a | 国产亚洲va综合人人澡精品 | 亚洲精品乱码久久久久 | 亚洲视频精品 | 欧美日韩不卡一区二区 | 中文字幕一区二区三区久久 | 69国产盗摄一区二区三区五区 | 91视频免费看片 | 午夜视频一区二区 | 国产美女精彩久久 | 国产精品久久久久久久久免费 | 在线黄色av | 国产98色在线 | 日韩 | 成人黄色电影免费观看 | 国产日韩欧美在线播放 | 日韩av不卡在线观看 | 五月激情丁香图片 | 狠狠色丁香久久婷婷综合_中 | 青青啪| 国产精品黄色在线观看 | 日本色小说视频 | 亚洲精品国产欧美在线观看 | 午夜神马福利 | 国产精品女同一区二区三区久久夜 | 超碰伊人网 | 欧美一级在线观看视频 | 久久欧美在线电影 | 欧美xxxx性xxxxx高清 | 国产精品一区在线播放 | 天天色天天操综合网 | 亚州免费视频 |