到底發生了什麼?
> Photo by Waldemar Brandt on Unsplash
藉助各種庫和框架,我們僅需一行程式碼即可實現機器學習演算法。有些更進一步,使您可以立即實現和比較多種演算法。
易用性具有一些缺點。我們可能會忽略這些演算法背後的關鍵概念或想法,而這些概念或想法對於全面瞭解它們至關重要。
在這篇文章中,我將提到有關7種機器學習演算法的7個關鍵點。我想指出的是,這不會完全解釋這些演算法,因此,如果您對它們有基本的瞭解,那就更好了。
開始吧。
1-支援向量機(SVM)關鍵點:C引數
SVM建立一個決策邊界,以區分兩個或多個類。
軟裕量支援向量機嘗試解決具有以下目標的最佳化問題:
· 增加決策邊界與類(或支援向量)的距離
· 最大化在訓練集中正確分類的點數
這兩個目標之間顯然需要權衡取捨。決策邊界可能必須非常接近某一特定類才能正確標記所有資料點。但是,在這種情況下,由於決策邊界對噪聲和自變數的微小變化過於敏感,因此新觀測值的準確性可能會降低。
另一方面,可能會為每個類別設定儘可能大的決策邊界,但要付出一些錯誤分類的例外的代價。這種權衡由c引數控制。
C引數為每個錯誤分類的資料點增加了懲罰。如果c小,則對錯誤分類的點的懲罰較低,因此以較大數量的錯誤分類為代價選擇了具有較大餘量的決策邊界。
如果c大,由於高罰分,SVM會嘗試最大程度地減少誤分類示例的數量,從而導致決策邊界的邊距較小。對於所有錯誤分類的示例,懲罰都不相同。它與到決策邊界的距離成正比。
2-決策樹關鍵點:資訊獲取
選擇要分割的特徵時,決策樹演算法會嘗試實現
· 更具預測性
· 雜質少
· 較低的熵
熵是不確定性或隨機性的量度。變數具有的隨機性越多,熵就越高。具有均勻分佈的變數具有最高的熵。例如,擲骰子有6個機率相等的可能結果,因此它具有均勻的分佈和較高的熵。
> Entropy vs Randomness
選擇導致更多純節點的拆分。所有這些都表明"資訊增益",基本上是分裂前後的熵之差。
3-隨機森林關鍵點:自舉和功能隨機性
隨機森林是許多決策樹的集合。隨機森林的成功很大程度上取決於使用不相關的決策樹。如果我們使用相同或非常相似的樹,則總體結果將與單個決策樹的結果相差無幾。隨機森林透過自舉和特徵隨機性來實現具有不相關的決策樹。
自舉是從訓練資料中隨機選擇樣本進行替換。它們稱為載入程式樣本。
透過為隨機森林中的每個決策樹隨機選擇特徵來實現特徵隨機性。可以透過max_features引數控制用於隨機森林中每棵樹的特徵數量。
> Feature randomness
4-梯度提升決策樹關鍵點:學習率和n_estimators
GBDT是決策樹與boosting方法的結合體,意味著決策樹是順序連線的。
學習率和n_estimator是用於梯度提升決策樹的兩個關鍵超引數。
學習率僅表示模型學習的速度。學習速度較慢的優點是模型變得更健壯和更通用。但是,學習緩慢需要付出一定的代價。訓練模型需要更多時間,這將我們帶到另一個重要的超引數。
n_estimator引數是模型中使用的樹數。如果學習率低,我們需要更多的樹來訓練模型。但是,我們在選擇樹數時需要非常小心。使用過多樹木會產生過度擬合的高風險。
5-樸素貝葉斯分類器關鍵點:樸素假設有什麼好處?
樸素貝葉斯(Naive Bayes)是一種用於分類的監督式機器學習演算法,因此任務是在給定要素值的情況下找到觀測的類別。樸素貝葉斯分類器在給定一組特徵值(即p(yi | x1,x2,…,xn))的情況下計算類的機率。
樸素貝葉斯假設要素彼此獨立,要素之間沒有關聯。但是,現實生活中並非如此。特徵不相關的這種天真假設是將該演算法稱為"天真"的原因。
與複雜演算法相比,所有功能都是獨立的這一假設使其變得非常快。在某些情況下,速度比精度更高。
它適用於高維資料,例如文字分類,電子郵件垃圾郵件檢測。
6-K最近鄰居關鍵點:何時使用和不使用
K近鄰(kNN)是一種受監督的機器學習演算法,可用於解決分類和迴歸任務。kNN的主要原理是,資料點的值由其周圍的資料點確定。
隨著資料點數量的增加,kNN演算法變得非常慢,因為模型需要儲存所有資料點以便計算它們之間的距離。這個原因也使該演算法的儲存效率不高。
另一個缺點是kNN對異常值敏感,因為異常值會影響最近的點(即使距離太遠)。
在積極方面:
· 簡單易懂
· 不做任何假設,因此可以在非線性任務中實施。
· 在多個類別的分類上效果很好
· 適用於分類和迴歸任務
7- K-Means聚類關鍵點:何時使用和不使用
K-均值聚類旨在將資料劃分為k個聚類,以使同一聚類中的資料點相似,而不同聚類中的資料點相距更遠。
K-均值演算法無法猜測資料中存在多少個簇。群集的數量必須預先確定,這可能是一項艱鉅的任務。
該演算法隨著樣本數量的增加而減慢速度,因為在每個步驟中,它都會訪問所有資料點並計算距離。
K均值只能繪製線性邊界。如果存在將資料中的組分開的非線性結構,則k均值將不是一個很好的選擇。
在積極方面:
· 容易解釋
· 比較快
· 可擴充套件用於大型資料集
· 能夠以智慧方式選擇初始質心的位置,從而加快收斂速度
· 保證融合
我們已經介紹了有關每種演算法的一些關鍵概念。給出的要點和註釋絕對不是演算法的完整說明。但是,瞭解實現這些演算法時必須有所作為當然很重要。