成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

機器學習中常用的幾種分類算法,如何選擇合適的算法?

人工智能 機器學習
今天和大家分享一下機器學習中常見的六種分類算法:K近鄰、決策樹、樸素貝葉斯、邏輯回歸、支持向量機、隨機森林、AdaBoost、GBDT、XGBoost。

今天和大家分享一下機器學習中常見的六種分類算法:K近鄰、決策樹、樸素貝葉斯、邏輯回歸、支持向量機、隨機森林、AdaBoost、GBDT、XGBoost。

下面,介紹了各個算法的概念及特點。

  • KNN
  • 決策樹
  • 樸素貝葉斯
  • 邏輯回歸
  • 支持向量機
  • 隨機森林
  • AdaBoost
  • GBDT
  • XGBoost

一、K 近鄰(KNN)

k-近鄰算法(K-Nearest neighbors,KNN),它采用測量不同特征值之間的距離方法進行分類,即是給定一個訓練數據集,對新的輸入實例,在訓練數據集中找到與該實例最鄰近的K個實例(也就是上面所說的K個鄰居), 這K個實例的多數屬于某個類,就把該輸入實例分類到這個類中。

KNN 是一種基本分類與回歸方法,其基本做法是:給定測試實例,基于某種距離度量找出訓練集中與其最靠近的k個實例點,然后基于這k個最近鄰的信息來進行預測。

通常,在分類任務中可使用“投票法”,即選擇這k個實例中出現最多的標記類別作為預測結果;在回歸任務中可使用“平均法”,即將這k個實例的實值輸出標記的平均值作為預測結果;還可基于距離遠近進行加權平均或加權投票,距離越近的實例權重越大。

k近鄰法不具有顯式的學習過程,事實上,它是懶惰學習(lazy learning)的著名代表,此類學習技術在訓練階段僅僅是把樣本保存起來,訓練時間開銷為零,待收到測試樣本后再進行處理。

k近鄰法的三要素:距離度量、k值的選擇及分類決策規則是k近鄰法的三個基本要素。

kNN 算法特點:

優點:精度高、對異常值不敏感、無數據輸入假定

缺點:計算復雜度高、空間復雜度高

適用數據范圍:數值型和標稱型

二、決策樹

決策樹(Decision Trees)是一種非參監督學習方法,即沒有固定的參數,對數據進行分類或回歸學習。決策樹的目標是從已知數據中學習得到一套規則,能夠通過簡單的規則判斷,對未知數據進行預測。

決策樹是一種基本的分類與回歸方法。在分類問題中,表示基于特征對實例進行分類的過程,可以認為是 if-then 的集合,也可以認為是定義在特征空間與類空間上的條件概率分布。

決策樹通常有三個步驟:特征選擇、決策樹的生成、決策樹的修剪。

用決策樹分類:從根節點開始,對實例的某一特征進行測試,根據測試結果將實例分配到其子節點,此時每個子節點對應著該特征的一個取值,如此遞歸的對實例進行測試并分配,直到到達葉節點,最后將實例分到葉節點的類中。

決策樹模型決策樹模型

決策樹學習的目標:根據給定的訓練數據集構建一個決策樹模型,使它能夠對實例進行正確的分類。

決策樹學習的本質:從訓練集中歸納出一組分類規則,或者說是由訓練數據集估計條件概率模型。

決策樹學習的損失函數:正則化的極大似然函數。

決策樹學習的測試:最小化損失函數。

決策樹原理和問答猜測結果游戲相似,根據一系列數據,然后給出游戲的答案。

決策樹算法特點:

優點:計算復雜度不高,輸出結果易于理解,對中間值的缺失不敏感,可以處理不相關特征數據。

缺點:可能會產生過度匹配問題。

適用數據類型:數值型和標稱型

三、樸素貝葉斯

樸素貝葉斯(Naive Bayesian)是基于貝葉斯定理和特征條件獨立假設的分類方法,它通過特征計算分類的概率,選取概率大的情況進行分類。

樸素貝葉斯是經典的機器學習算法之一,也是為數不多的基于概率論的分類算法。對于大多數的分類算法,在所有的機器學習分類算法中,樸素貝葉斯和其他絕大多數的分類算法都不同。比如決策樹,KNN,邏輯回歸,支持向量機等,他們都是判別方法,也就是直接學習出特征輸出Y和特征X之間的關系,要么是決策函數,要么是條件分布。但是樸素貝葉斯卻是生成方法,該算法原理簡單,也易于實現。

樸素貝葉斯樸素貝葉斯

在scikit-learn中,一共有3個樸素貝葉斯的分類算法類。分別是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先驗為高斯分布的樸素貝葉斯,MultinomialNB就是先驗為多項式分布的樸素貝葉斯,而BernoulliNB就是先驗為伯努利分布的樸素貝葉斯。

樸素貝葉斯算法特點:

優點:在數據較少的情況下依然有效,可以處理多類別問題。

缺點:對于輸入數據的準備方式較為敏感。

適用數據類型:標稱型數據

四、邏輯回歸

邏輯(Logistic) 回歸是一種統計方法,用于根據先前的觀察結果預測因變量的結果。它是一種回歸分析,是解決二分類問題的常用算法。

邏輯回歸算法特點

優點:計算代價不高,易于理解和實現

缺點:容易欠擬合,分類精度可能不高(這里是使用構造數據,效果較佳,并且運行多次,結果可能不一樣)

五、支持向量機(SVM)

支持向量機(簡稱SVM)英文為Support Vector Machine。它是一 種監督式學習的方法,它廣泛的應用于統計分類以及回歸分析中。支持向量機(Support Vector Machine)是一種十分常見的分類器,核心思路是通過構造分割面將數據進行分離。

SVM 是一類按監督學習方式對數據進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面,可以將問題化為一個求解凸二次規劃的問題。與邏輯回歸和神經網絡相比,支持向量機,在學習復雜的非線性方程時提供了一種更為清晰,更加強大的方式。

具體來說就是在線性可分時,在原空間尋找兩類樣本的最優分類超平面。在線性不可分時,加入松弛變量并通過使用非線性映射將低維度輸入空間的樣本映射到高維度空間使其變為線性可分,這樣就可以在該特征空間中尋找最優分類超平面。

SVM使用準則:n 為特征數, m 為訓練樣本數。

  • 如果相較于m而言,n要大許多,即訓練集數據量不夠支持我們訓練一個復雜的非線性模型,我們選用邏輯回歸模型或者不帶核函數的支持向量機。
  • 如果n較小,而且m大小中等,例如n在 1-1000 之間,而m在10-10000之間,使用高斯核函數的支持向量機。
  • 如果n較小,而m較大,例如n在1-1000之間,而??大于50000,則使用支持向量機會非常慢,解決方案是創造、增加更多的特征,然后使用邏輯回歸或不帶核函數的支持向量機。

SVM 算法特點:

優點:計算代價不高,易于理解和實現

缺點:容易欠擬合,分類精度可能不高

適用數據類型:數值型和標稱型數據

六、隨機森林

隨機森林是一個包含多個決策樹的分類器, 并且其輸出的類別是由個別樹輸出的類別的眾數而定。隨機森林解決決策樹泛化能力弱的特點。

隨機森林算法的具體流程隨機森林算法的具體流程

隨機森林算法特點:

優點:

  • 對于很多種資料,可以產生高準確度的分類器
  • 可以處理大量的輸入變量
  • 可以在決定類別時,評估變量的重要性
  • 在建造森林時,可以在內部對于一般化后的誤差產生不偏差的估計
  • 包含一個好方法可以估計丟失的資料,并且如果有很大一部分的資料丟失,仍可以維持準確度
  • 對于不平衡的分類資料集來說,可以平衡誤差
  • 可被延伸應用在未標記的資料上,這類資料通常是使用非監督式聚類,也可偵測偏離者和觀看資料
  • 學習過程很快速

缺點:

  • 犧牲了決策樹的可解釋性
  • 在某些噪音較大的分類或回歸問題上會過擬合
  • 在多個分類變量的問題中,隨機森林可能無法提高基學習器的準確性

七、AdaBoost算法

提升方法是從弱學習算法出發,反復學習,得到一系列的弱分類器(即基本分類器),然后組合這些弱分類器,構成一個強分類器,大多數的提升方法都是改變訓練數據集的概率分布(訓練數據的權值分布),針對不同的訓練數據分布調用弱學習算法學習一系列的弱分類器。

AdaBoost算法特點:

優點:

1. 分類精度高;

2. 可以使用各種方法構建子分類器,Adaboost算法提供的是框架;

3. 簡單,且不用做特征篩選;

4. 不會造成overfitting。

缺點:

1. 對分類錯誤的樣本多次被分錯而多次加權后,導致權重過大,影響分類器的選擇,造成退化問題;(需改進權值更新方式)

2. 數據不平衡問題導致分類精度的急劇下降;

3. 算法訓練耗時,拓展困難;

4. 存在過擬合,穩健性不強等問題。

八、GBDT

GBDT的基本結構是決策樹組成的森林,學習方式是梯度提升。
具體講,GBDT作為集成模型,預測的方式是把所有子樹的結果加起來。GBDT通過逐一生成決策子樹的方式生成整個森林,生成新子樹的過程是利用樣本標簽值與當前樹林預測值之間的殘差,構建新的子樹。

GBDT 算法特點:

優點:

1) 可以靈活處理各種類型的數據,包括連續值和離散值。

2) 在相對少的調參時間情況下,預測的準確率也可以比較高。這個是相對SVM來說的。

3)使用一些健壯的損失函數,對異常值的穩健性非常強。比如 Huber損失函數和Quantile損失函數。

缺點:

1) 由于弱學習器之間存在依賴關系,難以并行訓練數據。不過可以通過自采樣的SGBT來達到部分并行。

九、XGBoost算法

極端梯度提升(eXtreme Gradient Boosting,XGBoost)。XGBoost是陳天奇等人開發的一個開源機器學習項目,高效地實現了GBDT算法并進行了算法和工程上的許多改進,被廣泛應用在Kaggle競賽及其他許多機器學習競賽中并取得了不錯的成績。

它是大規模并行boosted tree的工具,它是目前最快最好的開源boosted tree工具包。XGBoost 所應用的算法就是 GBDT(gradient boosting decision tree)的改進,既可以用于分類也可以用于回歸問題中。與GBDT最大的區別是xgboost通過對目標函數做二階泰勒展開,從而求出下一步要擬合的樹的葉子節點權重(需要先確定樹的結構),從而根據損失函數求出每一次分裂節點的損失減小的大小,從而根據分裂損失選擇合適的屬性進行分裂。

1.XGBoost與GBDT相比,其優勢:

將樹模型的復雜度加入到正則項中,來避免過擬合,因此泛化性能會優于GBDT。

損失函數用泰勒展開式展開,同時用到了一階和二階導數,可以加快優化速度。

GBDT只支持CART作為基學習器,XGBoost還支持線性分類器作為基學習器。

引進了特征子采樣,像隨機森林那樣,既能避免過擬合,又能減少計算。

在尋找最優分割點時,考慮到傳統的貪心算法效率較低,實現了一種近似貪心算法,用來加速和減少內存小號,除此之外,還考慮了稀疏數據集合缺失值的處理。

XGBoost支持并行處理。XGBoost的并行不是模型生成的并行,而是在特征上的并行,將特征排序后以block的形式存儲在內存中,在后面迭代重復使用這個結構。這個block也使得并行化成為了可能,其次在節點分裂時,計算每個特征的增益,最終選擇增益最大的那個特征去做分割,那么各個特征的增益計算就可以開多線程進行。

2.與lightGBM相比的不足點:

XGBoosting采用預排序,在迭代之前,對結點的特征做預排序,遍歷選擇最優分割點,數據量大時,貪心法耗時,LightGBM方法采用histogram算法,占用的內存低,數據分割的復雜度更低。

XGBoosting采用level-wise生成決策樹,同時分裂同一層的葉子,從而進行多線程優化,不容易過擬合,但很多葉子節點的分裂增益較低,沒必要進行更進一步的分裂,這就帶來了不必要的開銷;LightGBM采用深度優化,leaf-wise生長策略,每次從當前葉子中選擇增益最大的結點進行分裂,循環迭代,但會生長出更深的決策樹,產生過擬合,因此引入了一個閾值進行限制,防止過擬合。

如何決定選擇哪種分類算法

下面有一個列表,可以幫助您了解應該使用哪些分類算法來解決業務問題。

  1. 問題識別:首先要做的是徹底了解手頭的任務。如果是有監督的分類案例,可以使用邏輯回歸、隨機森林、決策樹等算法。
  2. 數據集的大小:數據集的大小也是您在選擇算法時應該考慮的一個參數。由于很少有算法相對較快,因此最好切換到那些算法。如果數據集的大小很小,您可以堅持使用像樸素貝葉斯這樣的低偏差/高方差算法。相反,如果數據集很大,特征數量很多,那么你應該使用高偏差/低方差算法,如 KNN、決策樹和 SVM。
  3. 預測準確度:模型的準確度是測試分類器好壞的參數。它反映了預測輸出值與正確輸出值的匹配程度。當然,更高的精度是可取的,但還應檢查模型是否過擬合。
  4. 訓練時間:有時,像 SVM 和隨機森林這樣的復雜算法可能會占用大量計算時間。此外,更高的準確性和大數據集無論如何需要更多時間來學習模式。像邏輯回歸這樣的簡單算法更容易實現并節省時間。
  5. 數據集的線性:輸入變量和目標變量之間并不總是存在線性關系。因此,必須分析這種關系并仔細選擇算法,因為其中一些僅限于線性數據集。檢查線性的最佳方法是擬合線性線或運行邏輯回歸或 SVM 并查找殘差。較高的誤差表明數據是非線性的,需要實施復雜的算法。
  6. 特征數量:有時,數據集可能包含不必要的許多特征,并且并非所有特征都相關。然后可以使用最適合這種情況的 SVM 等算法,或者使用主成分分析來確定哪些特征是重要的。
責任編輯:華軒 來源: AI超數據
相關推薦

2024-05-23 16:48:42

機器學習算法人工智能

2023-11-29 14:34:15

機器學習統計學

2022-03-17 17:08:05

機器學習算法類型

2020-05-26 18:35:00

機器學習人工智能AI

2017-05-25 11:14:21

機器學習算法神經網絡

2017-05-25 13:37:46

機器學習算法神經網絡

2017-02-28 14:17:03

機器學習算法

2017-05-31 09:12:51

機器學習算法數據

2024-06-27 00:46:10

機器學習向量相似度

2018-07-03 15:26:35

算法機器學習數據

2024-01-17 13:58:00

算法C#冒泡排序

2024-01-04 17:00:59

2019-01-23 11:45:47

機器學習人工智能機器人

2021-03-10 14:21:33

人工智能機器學習算法

2024-06-26 00:34:12

2018-08-03 10:30:16

算法回歸機器學習

2023-11-28 12:12:46

機器學習算法

2022-09-04 19:38:11

機器學習算法

2017-08-25 14:05:01

機器學習算法模型

2018-09-13 22:56:15

機器學習損失函數深度學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲女人天堂成人av在线 | 国产成人久久精品一区二区三区 | 九九亚洲| 久久久久久国产精品免费免费男同 | 日韩一级精品视频在线观看 | 亚洲xx在线| 狠狠综合久久av一区二区老牛 | 中文字幕国产日韩 | 亚洲高清网 | 欧美片网站免费 | 精品一区二区三区四区 | 福利网站导航 | av黄色在线 | 日日干干夜夜 | 中文在线一区二区 | 欧美国产中文 | 日韩成人在线网站 | 成年女人免费v片 | 久久精品| 青青草精品视频 | 欧美日韩在线一区二区三区 | 亚洲精品性视频 | 天天爱天天操 | 永久精品 | 九九免费视频 | 蜜桃视频在线观看免费视频网站www | 91久久爽久久爽爽久久片 | 日日干天天操 | 午夜精品一区 | 国产精品色 | 亚洲国产高清在线观看 | 久久精品国产久精国产 | 91在线看| 国产精品欧美日韩 | 精品美女久久久久久免费 | 荷兰欧美一级毛片 | 欧美日韩在线播放 | 99精品国产一区二区三区 | 天堂一区二区三区 | 四虎成人精品永久免费av九九 | 91在线一区二区三区 |