日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

常見機器學習算法的摘要。

11種最常見的機器學習算法簡介

> Photo by Santiago Lacarta on Unsplash

 

近年來,由于對技術的高需求和進步,機器學習的普及已大大增加。 機器學習可以從數據中創造價值的潛力使其吸引了許多不同行業的企業。 大多數機器學習產品都是使用現成的機器學習算法進行設計和實現的,并且需要進行一些調整和細微更改。

機器學習算法種類繁多,可分為三大類:

· 監督學習算法在給定一組觀察值的情況下,對特征(獨立變量)和標簽(目標)之間的關系進行建模。 然后,使用該模型使用特征預測新觀測的標簽。 根據目標變量的特性,它可以是分類(離散目標變量)或回歸(連續目標變量)任務。

· 無監督學習算法試圖在未標記的數據中找到結構。

· 強化學習基于行動獎勵原則。 代理通過迭代計算其行為的報酬來學習達到目標。

在本文中,我將介紹前兩類中最常見的算法。

注意:盡管深度學習是機器學習的一個子領域,但我不會在本文中包含任何深度學習算法。 我認為深度學習算法由于復雜性和動態性而應分開討論。 此外,我會猶豫地使這篇文章過長,使讀者感到厭煩。

開始吧。

1.線性回歸

線性回歸是一種有監督的學習算法,它通過對數據擬合線性方程,嘗試對連續目標變量和一個或多個自變量之間的關系進行建模。

為了使線性回歸成為一個不錯的選擇,自變量和目標變量之間必須存在線性關系。 有許多工具可以探索變量之間的關系,例如散點圖和相關矩陣。 例如,下面的散點圖顯示了自變量(x軸)和因變量(y軸)之間的正相關。 隨著一個增加,另一個也增加。

11種最常見的機器學習算法簡介

 

線性回歸模型試圖使回歸線適合最能表示關系或相關性的數據點。 最常用的技術是普通最小二乘(OLE)。 使用此方法,可以通過最小化數據點和回歸線之間距離的平方和來找到最佳回歸線。 對于上面的數據點,使用OLE獲得的回歸線看起來像:

11種最常見的機器學習算法簡介

 

2.支持向量機

支持向量機(SVM)是一種監督學習算法,主要用于分類任務,但也適用于回歸任務。

SVM通過繪制決策邊界來區分類。 如何繪制或確定決策邊界是SVM算法中最關鍵的部分。 在創建決策邊界之前,將每個觀察值(或數據點)繪制在n維空間中。 " n"是所使用功能的數量。 例如,如果我們使用"長度"和"寬度"對不同的"單元格"進行分類,則觀察結果將繪制在二維空間中,并且決策邊界為一條線。 如果我們使用3個要素,則決策邊界是3維空間中的平面。 如果我們使用3個以上的特征,則決策邊界將變成一個很難可視化的超平面。

11種最常見的機器學習算法簡介

> Decision boundary in 2D space is a line

 

決策邊界以與支持向量的距離最大的方式繪制。 如果決策邊界距離支持向量太近,它將對噪聲高度敏感并且不能很好地泛化。 即使自變量的很小變化也可能導致分類錯誤。

數據點并非總是如上圖所示線性可分離。 在這些情況下,SVM使用內核技巧來測量較高維空間中數據點的相似性(或接近度),以使它們線性可分離。

內核功能是一種相似性度量。 輸入是原始要素,輸出是新要素空間中的相似性度量。 這里的相似度表示緊密度。 實際上將數據點轉換為高維特征空間是一項昂貴的操作。 該算法實際上并未將數據點轉換為新的高維特征空間。 內核化SVM無需實際進行變換就可以根據高維特征空間中的相似性度量來計算決策邊界。 我認為這就是為什么它也稱為內核技巧。

在維數大于樣本數的情況下,SVM特別有效。 找到決策邊界時,SVM使用訓練點的子集而不是所有點,從而提高了存儲效率。 另一方面,大型數據集的訓練時間會增加,這會對性能產生負面影響。

3.樸素貝葉斯

樸素貝葉斯是一種用于分類任務的監督學習算法。 因此,它也被稱為樸素貝葉斯分類器。

樸素貝葉斯假設要素彼此獨立,要素之間沒有關聯。 但是,現實生活中并非如此。 特征不相關的這種天真假設是將該算法稱為"天真"的原因。

樸素貝葉斯算法的直覺是貝葉斯定理:

11種最常見的機器學習算法簡介

 

p(A | B):給定事件B發生事件A的概率

p(B | A):給定事件A,事件B的概率

p(A):事件A的概率

p(B):事件B的概率

樸素貝葉斯分類器在給定一組特征值(即p(yi | x1,x2,…,xn))的情況下計算類的概率。 將其輸入貝葉斯定理:

11種最常見的機器學習算法簡介

 

p(x1,x2,…,xn | yi)表示給定類別標簽的特定特征組合(數據集中的觀察值/行)的概率。 我們需要非常大的數據集來估計特征值所有不同組合的概率分布。 為了克服這個問題,樸素貝葉斯算法假定所有特征彼此獨立。 此外,可以刪除分母(p(x1,x2,…,xn)),因為它僅對給定觀測值(p(yi | x1,x2,…,xn)的一類條件概率的值進行歸一化 )。

類(p(yi))的概率很容易計算:

11種最常見的機器學習算法簡介

 

在特征是獨立的假設下,p(x1,x2,…,xn | yi)可以寫成:

11種最常見的機器學習算法簡介

 

給定類別標簽(即p(x1 | yi))的單個特征的條件概率可以從數據中輕松估算。 該算法需要為每個類別獨立存儲特征的概率分布。 例如,如果有5個類別和10個特征,則需要存儲50個不同的概率分布。

將所有這些加在一起,對于樸素貝葉斯算法來說,計算給定特征值(p(yi | x1,x2,…,xn))觀察類的概率變得容易。

與復雜算法相比,所有特征都是獨立的這一假設使樸素貝葉斯算法非常快。 在某些情況下,速度比精度更高。 另一方面,相同的假設使樸素貝葉斯算法不如復雜算法準確。 速度是有代價的!

4. Logistic回歸

邏輯回歸是一種監督學習算法,主要用于二進制分類問題。 盡管"回歸"與"分類"相矛盾,但是這里的重點是"邏輯"一詞,指的是在該算法中執行分類任務的邏輯函數。 邏輯回歸是一種簡單但非常有效的分類算法,因此通常用于許多二進制分類任務。 客戶流失,垃圾郵件,網站或廣告點擊預測是邏輯回歸提供強大解決方案的一些示例。

邏輯回歸的基礎是邏輯函數,也稱為Sigmoid函數,該函數可以接受任何實數值,并將其映射到0到1之間的一個值。

11種最常見的機器學習算法簡介

 

考慮我們有以下線性方程式可以解決:

11種最常見的機器學習算法簡介

 

Logistic回歸模型將線性方程式作為輸入,并使用logistic函數和對數賠率執行二進制分類任務。 然后,我們將得到著名的邏輯回歸形圖:

11種最常見的機器學習算法簡介

 

我們可以按原樣使用計算出的概率。 例如,輸出可以是"此電子郵件為垃圾郵件的概率為95%"或"客戶點擊此廣告的概率為70%"。 但是,在大多數情況下,概率用于對數據點進行分類。 例如,如果概率大于50%,則預測為肯定類別(1)。 否則,預測為否定等級(0)。

對于所有高于50%的概率值,并不總是希望選擇肯定的類別。 關于垃圾郵件案例,我們幾乎必須確定要將電子郵件歸類為垃圾郵件。 由于檢測為垃圾郵件的電子郵件直接進入垃圾郵件文件夾,因此我們不希望用戶錯過重要的電子郵件。 除非我們幾乎確定,否則電子郵件不會被歸類為垃圾郵件。 另一方面,在與健康相關的問題中進行分類時,要求我們更加敏感。 即使我們有點懷疑細胞是惡性的,我們也不想錯過它。 因此,用作正面和負面類別之間閾值的值取決于問題。 很好的是,邏輯回歸使我們可以調整此閾值。

5. K最近鄰居(kNN)

K最近鄰(kNN)是一種監督學習算法,可用于解決分類和回歸任務。 kNN背后的主要思想是,數據點的值或類由其周圍的數據點確定。

kNN分類器通過多數投票原則確定數據點的類別。 例如,如果k設置為5,則檢查5個最接近點的類別。 根據多數類別進行預測。 同樣,kNN回歸采用5個最接近點的平均值。 讓我們來看一個例子。 考慮以下屬于4個不同類別的數據點:

11種最常見的機器學習算法簡介

 

讓我們看看預測的類別如何根據k值變化:

11種最常見的機器學習算法簡介

 


11種最常見的機器學習算法簡介

 

確定最佳k值非常重要。 如果k太低,則模型太具體,不能很好地概括。 它還傾向于對噪聲敏感。 該模型在火車上實現了很高的準確性,但是對于新的,以前看不見的數據點而言,它的預測能力很差。 因此,我們很可能最終會得出過擬合模型。 另一方面,如果k太大,則模型過于籠統,在訓練集和測試集上都不是很好的預測指標。 這種情況稱為欠擬合。

kNN簡單易懂。 它沒有做任何假設,因此可以在非線性任務中實現。 隨著數據點數量的增加,kNN變得非常慢,因為模型需要存儲所有數據點。 因此,它也不是有效的存儲器。 kNN的另一個缺點是它對異常值敏感。

6.決策樹

決策樹建立在反復詢問問題以對數據進行分區的基礎上。 使用決策樹的可視化表示來更容易地概念化分區數據:

11種最常見的機器學習算法簡介

 

這代表了預測客戶流失的決策樹。 第一次劃分是基于每月的費用金額。 然后,算法不斷詢問問題以分離類標簽。 隨著樹的深入,問題變得更加具體。

決策樹算法的目的是在每個分區盡可能多地提高預測性,以便模型不斷獲取有關數據集的信息。 隨機分割要素通常不能使我們深入了解數據集。 增加節點純度的拆分更具參考價值。 節點的純度與該節點中不同類別的分布成反比。 要提出的問題以提高純度或減少雜質的方式選擇。

我們問多少個問題? 我們什么時候停止? 我們的樹什么時候足以解決我們的分類問題? 對所有這些問題的答案使我們想到了機器學習中最重要的概念之一:過度擬合。 該模型可以一直詢問問題,直到所有節點都純為止。 但是,這將是一個過于具體的模型,不能很好地推廣。 它通過訓練集可以達到很高的精度,但是在新的,以前看不見的數據點上表現不佳,這表明過擬合。 scikit-learn中決策樹算法的樹深度由max_depth參數控制。

決策樹算法通常不需要規范化或縮放特征。 它還適用于混合特征數據類型(連續,分類,二進制)。 不利的一面是,它很容易過度擬合,因此必須進行匯總才能很好地概括。

6.隨機森林

隨機森林是許多決策樹的集合。 隨機森林是使用稱為裝袋的方法構建的,其中決策樹用作并行估計器。 如果用于分類問題,則結果基于從每個決策樹收到的結果的多數票。 對于回歸,葉節點的預測是該葉中目標值的平均值。 隨機森林回歸采用決策樹結果的平均值。

隨機森林減少了過度擬合的風險,準確性比單個決策樹高得多。 此外,隨機森林中的決策樹并行運行,因此時間不會成為瓶頸。

隨機森林的成功很大程度上取決于使用不相關的決策樹。 如果我們使用相同或非常相似的樹,則總體結果將與單個決策樹的結果相差無幾。 隨機森林通過自舉和特征隨機性來實現具有不相關的決策樹。

自舉是從訓練數據中隨機選擇樣本進行替換。 它們稱為引導程序樣本。

11種最常見的機器學習算法簡介

> Bootstrap samples (Figure source)

 

通過為隨機森林中的每個決策樹隨機選擇特征來實現特征隨機性。 可以使用max_features參數控制隨機森林中每棵樹使用的特征數量。

11種最常見的機器學習算法簡介

> Feature randomness

 

隨機森林是針對許多不同問題的高度精確的模型,不需要規范化或縮放。 但是,與快速線性模型(即樸素貝葉斯)相比,對于高維數據集(即文本分類)而言,這不是一個好選擇。

11種最常見的機器學習算法簡介

 

7.梯度提升決策樹(GBDT)

GBDT是一種集成算法,使用提升方法來組合各個決策樹。

提升意味著將一系列學習算法串聯起來,以從許多順序連接的弱學習者那里獲得一個強學習者。 對于GBDT,弱學習者是決策樹。

每棵樹都試圖最小化前一棵樹的錯誤。 Boosting中的樹是學習能力較弱的樹,但是連續添加許多樹,每棵樹都專注于前一棵樹的錯誤,因此可以構建一個高效且準確的模型。 與裝袋不同,加強不涉及自舉采樣。 每次添加新樹時,它都適合初始數據集的修改版本。

11種最常見的機器學習算法簡介

 

由于樹是順序添加的,因此增強算法學習緩慢。 在統計學習中,學習緩慢的模型表現更好。

損失函數用于檢測殘差。 例如,均方誤差(MSE)可用于回歸任務,對數損失(對數損失)可用于分類任務。 值得注意的是,添加新樹后,模型中的現有樹不會更改。 添加的決策樹適合當前模型的殘差。

學習速率和n_estimator是用于梯度提升決策樹的兩個關鍵超參數。 學習率表示為α,僅表示模型學習的速度。 每棵新樹都會修改整個模型。 修改的大小由學習率控制。 n_estimator是模型中使用的樹數。 如果學習率低,我們需要更多的樹來訓練模型。 但是,我們在選擇樹數時需要非常小心。 使用過多樹木會產生過度擬合的高風險。

與隨機森林相比,GBDT在分類和回歸任務上都非常有效,并且提供了更準確的預測。 它可以處理混合類型的功能,不需要預處理。 GBDT需要仔細調整超參數,以防止模型過度擬合。

GBDT算法是如此強大,以至于已經實現了許多升級版本,例如XGBOOST,LightGBM,CatBoost。

關于過度擬合的注意事項

隨機森林和梯度增強決策樹之間的一個關鍵區別是模型中使用的樹數。 增加隨機森林中的樹木數量不會導致過度擬合。 在某一點之后,模型的準確性不會因添加更多樹而增加,但也不會因添加過多樹而受到負面影響。 由于計算原因,您仍然不想添加不必要的樹,但是不存在與隨機森林中的樹數相關聯的過擬合風險。

但是,就過度擬合而言,梯度增強決策樹中的樹數非常關鍵。 添加過多的樹會導致過擬合,因此一定要停止添加樹,這一點很重要。

8. K-均值聚類

聚類是一種將一組數據點組合在一起的方式,即將相似的數據點組合在一起。 因此,聚類算法在數據點之間尋找相似性或相異性。 聚類是一種無監督的學習方法,因此沒有與數據點相關的標簽。 聚類算法試圖找到數據的底層結構。

聚類不是分類。

分類任務中的觀測值(或數據點)具有標簽。 每個觀察結果根據一些測量結果進行分類。 分類算法嘗試對觀測值的度量(特征)與其指定的類別之間的關系建模。 然后,模型預測新觀測的類別。

K-均值聚類旨在將數據分為k個聚類,以使同一聚類中的數據點相似,而不同聚類中的數據點相距更遠。 因此,這是一種基于分區的群集技術。 兩個點的相似性取決于它們之間的距離。

K-均值聚類試圖使聚類內的距離最小化,并使不同聚類之間的距離最大化。 K-均值算法無法確定簇數。 創建KMeans對象時,我們需要對其進行定義,這可能是一項艱巨的任務。

考慮以下數據集的2D可視化:

11種最常見的機器學習算法簡介

 

可以將其劃分為4個不同的群集,如下所示:

11種最常見的機器學習算法簡介

 

現實生活中的數據集要復雜得多,在這些數據集中聚類沒有明顯分開。 但是,該算法以相同的方式工作。 K均值是一個迭代過程。 它基于期望最大化算法。 確定群集數量后,它可以通過執行以下步驟來工作:

· 為每個群集隨機選擇形心(群集的中心)。

· 計算所有數據點到質心的距離。

· 將數據點分配給最近的群集。

· 通過獲取群集中所有數據點的平均值,找到每個群集的新質心。

· 重復步驟2,3和4,直到所有點收斂并且聚類中心停止移動。

K-Means聚類相對快速且易于解釋。 它還能夠以智能方式選擇初始質心的位置,從而加快收斂速度。

k均值的挑戰之一是必須預先確定簇的數量。 K-means算法無法猜測數據中存在多少個簇。 如果存在將數據中的組分開的非線性結構,則k均值將不是一個好的選擇。

9.層次聚類

分層聚類意味著通過迭代分組或分離數據點來創建聚類樹。 有兩種類型的層次結構聚類:

· 聚集聚類

· 分裂聚類

分層聚類的優點之一是我們不必指定聚類的數量(但可以)。

11種最常見的機器學習算法簡介

 

聚集聚類是一種自下而上的方法。 首先假定每個數據點都是一個單獨的群集。 然后,將相似的群集進行迭代組合。

11種最常見的機器學習算法簡介

 

上圖稱為樹狀圖,該圖表示基于樹的方法。 在分層聚類中,樹狀圖用于可視化聚類之間的關系。

分層聚類的優點之一是我們不必預先指定聚類的數量。 但是,將所有數據點組合到一個群集中是不明智的。 我們應該在某個時候停止合并集群。 Scikit-learn為此提供了兩個選項:

· 在達到多個群集后停止(n_clusters)

· 設置鏈接的閾值(distance_threshold)。 如果兩個群集之間的距離高于閾值,則這些群集將不會合并。

分裂聚類在現實生活中并不常用,因此我將簡要介紹一下。 簡單而清晰的解釋是分裂聚類與聚集聚類相反。 我們從一個包含所有數據點的巨型群集開始。 然后,將數據點分為不同的群集。 這是自下而上的方法。

層次集群總是生成相同的集群。 K-均值聚類可能會導致不同的聚類,具體取決于質心(聚類中心)的啟動方式。 但是,與k均值相比,它是一種較慢的算法。 分層群集需要很長時間才能運行,尤其是對于大型數據集。

10. DBSCAN集群

基于分區的分層聚類技術對于標準形狀的聚類非常高效。 但是,當涉及到任意形狀的聚類或檢測離群值時,基于密度的技術更為有效。

11種最常見的機器學習算法簡介

> Arbitrary shaped clusters

 

11種最常見的機器學習算法簡介

> Arbitrary shaped clusters

 

DBSCAN代表帶噪聲的應用程序的基于密度的空間聚類。 它能夠找到任意形狀的聚類和帶有噪聲的聚類(即離群值)。

DBSCAN的主要思想是,如果某個點與該簇中的許多點接近,則該點屬于該簇。

DBSCAN有兩個關鍵參數:

· eps:指定鄰域的距離。 如果兩個點之間的距離小于或等于eps,則將其視為鄰居。

· minPts:定義集群的最小數據點數。

根據這兩個參數,將點分為核心點,邊界點或離群值:

· 核心點:如果在其半徑為eps的周圍區域中至少有minPts個點(包括該點本身),則該點為核心點。

· 邊界點:如果一個點可以從核心點到達并且在其周圍區域內的點數少于minPts,則它是邊界點。

· 離群值:如果一個點不是核心點并且無法從任何核心點到達,則該點就是離群值。

DBSCAN不需要預先指定群集數。 它對異常值具有魯棒性,并且能夠檢測到異常值。

在某些情況下,確定適當的鄰域(eps)距離并不容易,并且需要領域知識。

11.主成分分析(PCA)

PCA是降維算法,它基本上從現有特征中衍生出新特征,同時保留了盡可能多的信息。 PCA是一種無監督的學習算法,但它也廣泛用作有監督的學習算法的預處理步驟。

PCA通過查找數據集中要素之間的關系來推導新要素。

注意:PCA是線性降維算法。 也有非線性方法可用。

PCA的目的是通過使用較少的特征(或列)來盡可能多地解釋原始數據集中的方差。 新派生的功能稱為主成分。 主成分的順序是根據它們解釋的原始數據集的方差分數確定的。

11種最常見的機器學習算法簡介

 

主要成分是原始數據集特征的線性組合。

PCA的優勢在于,使用比原始數據集少得多的特征可以保留大量原始數據集。 主成分根據其解釋的差異量進行排序。

感謝您的閱讀。 如果您有任何反饋意見,請告訴我。

(本文翻譯自Soner Y?ld?r?m的文章《11 Most Common machine Learning Algorithms Explained in a Nutshell》,參考:https://towardsdatascience.com/11-most-common-machine-learning-algorithms-explained-in-a-nutshell-cc6e98df93be)

分享到:
標簽:算法 機器 學習
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定