【機器學習終極盤點】你不知道的機器學習算法優缺點(匯總篇)

2021-02-22 小小挖掘機

作者:杜博亞,阿里算法工程師,復旦大學計算機碩士,BDKE 之光。

「本文的目的,是務實、簡潔地盤點一番當前機器學習算法」。文中內容結合了個人在查閱資料過程中收集到的前人總結,同時添加了部分自身總結,在這裡,依據實際使用中的經驗,將對此模型優缺點及選擇詳加討論。

主要回顧下幾個常用算法的適應場景及其優缺點!

機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。通常最開始我們都會選擇大家普遍認同的算法,諸如SVM,GBDT,Adaboost,現在深度學習很火熱,神經網絡也是一個不錯的選擇。

假如你在乎精度(accuracy)的話,最好的方法就是通過交叉驗證(cross-validation)對各個算法一個個地進行測試,進行比較,然後調整參數確保每個算法達到最優解,最後選擇最好的一個。但是如果你只是在尋找一個「足夠好」的算法來解決你的問題,或者這裡有些技巧可以參考,下面來分析下各個算法的優缺點,基於算法的優缺點,更易於我們去選擇它。

1.天下沒有免費的午餐

在機器學習領域,一個基本的定理就是「沒有免費的午餐」。「換言之,就是沒有算法能完美地解決所有問題,尤其是對監督學習而言(例如預測建模)」

舉例來說,你不能去說神經網絡任何情況下都能比決策樹更有優勢,反之亦然。它們要受很多因素的影響,比如你的數據集的規模或結構。

其結果是,在用給定的測試集來評估性能並挑選算法時,你應當根據具體的問題來採用不同的算法。

當然,**所選的算法必須要適用於你自己的問題,這就要求選擇正確的機器學習任務。**作為類比,如果你需要打掃房子,你可能會用到吸塵器、掃帚或是拖把,但你絕對不該掏出鏟子來挖地。

2. 偏差&方差

在統計學中,一個模型好壞,是根據偏差和方差來衡量的,所以我們先來普及一下偏差(bias)和方差(variance):

偏差:描述的是預測值(估計值)的期望E』與真實值Y之間的差距。偏差越大,越偏離真實數據。方差:描述的是預測值P的變化範圍,離散程度,是預測值的方差,也就是離其期望值E的距離。方差越大,數據的分布越分散。

模型的真實誤差是兩者之和,如公式3:

通常情況下,如果是小訓練集,高偏差/低方差的分類器(例如,樸素貝葉斯NB)要比低偏差/高方差大分類的優勢大(例如,KNN),因為後者會發生過擬合(overfiting)。然而,隨著你訓練集的增長,模型對於原數據的預測能力就越好,偏差就會降低,此時低偏差/高方差的分類器就會漸漸的表現其優勢(因為它們有較低的漸近誤差),而高偏差分類器這時已經不足以提供準確的模型了。

「為什麼說樸素貝葉斯是高偏差低方差?」

以下內容引自知乎:

首先,假設你知道訓練集和測試集的關係。簡單來講是我們要在訓練集上學習一個模型,然後拿到測試集去用,效果好不好要根據測試集的錯誤率來衡量。但很多時候,我們只能假設測試集和訓練集的是符合同一個數據分布的,但卻拿不到真正的測試數據。這時候怎麼在只看到訓練錯誤率的情況下,去衡量測試錯誤率呢?

由於訓練樣本很少(至少不足夠多),所以通過訓練集得到的模型,總不是真正正確的。(就算在訓練集上正確率100%,也不能說明它刻畫了真實的數據分布,要知道刻畫真實的數據分布才是我們的目的,而不是只刻畫訓練集的有限的數據點)。而且,實際中,訓練樣本往往還有一定的噪音誤差,所以如果太追求在訓練集上的完美而採用一個很複雜的模型,會使得模型把訓練集裡面的誤差都當成了真實的數據分布特徵,從而得到錯誤的數據分布估計。這樣的話,到了真正的測試集上就錯的一塌糊塗了(這種現象叫過擬合)。但是也不能用太簡單的模型,否則在數據分布比較複雜的時候,模型就不足以刻畫數據分布了(體現為連在訓練集上的錯誤率都很高,這種現象較欠擬合)。過擬合表明採用的模型比真實的數據分布更複雜,而欠擬合表示採用的模型比真實的數據分布要簡單。

在統計學習框架下,大家刻畫模型複雜度的時候,有這麼個觀點,認為Error = Bias + Variance。這裡的Error大概可以理解為模型的預測錯誤率,是有兩部分組成的,一部分是由於模型太簡單而帶來的估計不準確的部分(Bias),另一部分是由於模型太複雜而帶來的更大的變化空間和不確定性(Variance)。

所以,這樣就容易分析樸素貝葉斯了。它簡單的假設了各個數據之間是無關的,是一個被「嚴重簡化了的模型」。所以,對於這樣一個簡單模型,大部分場合都會Bias部分大於Variance部分,也就是說高偏差而低方差。

在實際中,為了讓Error儘量小,我們在選擇模型的時候需要平衡Bias和Variance所佔的比例,也就是平衡over-fitting和under-fitting。

當模型複雜度上升的時候,偏差會逐漸變小,而方差會逐漸變大。

3. 常見算法優缺點3.1 「樸素貝葉斯」

樸素貝葉斯屬於生成式模型(關於生成模型和判別式模型,主要還是在於是否需要求聯合分布),比較簡單,你只需做一堆計數即可。如果注有條件獨立性假設(一個比較嚴格的條件),樸素貝葉斯分類器的收斂速度將快於判別模型,比如邏輯回歸,所以你只需要較少的訓練數據即可。即使NB條件獨立假設不成立,NB分類器在實踐中仍然表現的很出色。它的主要缺點是它不能學習特徵間的相互作用,用mRMR中R來講,就是特徵冗餘。引用一個比較經典的例子,比如,雖然你喜歡Brad Pitt和Tom Cruise的電影,但是它不能學習出你不喜歡他們在一起演的電影。

「優點」

樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。對大數量訓練和查詢時具有較高的速度。即使使用超大規模的訓練集,針對每個項目通常也只會有相對較少的特徵數,並且對項目的訓練和分類也僅僅是特徵概率的數學運算而已;對小規模的數據表現很好,能個處理多分類任務,適合增量式訓練(即可以實時的對新增的樣本進行訓練);對缺失數據不太敏感,算法也比較簡單,常用於文本分類;

「缺點」

由於「使用了樣本屬性獨立性的假設,所以如果樣本屬性有關聯時其效果不好」

「樸素貝葉斯應用領域」

3.2 「Logistic Regression(邏輯回歸)」

邏輯回歸屬於判別式模型,同時伴有很多模型正則化的方法(L0, L1,L2,etc),而且你不必像在用樸素貝葉斯那樣擔心你的特徵是否相關。與決策樹、SVM相比,你還會得到一個不錯的概率解釋,你甚至可以輕鬆地利用新數據來更新模型(使用在線梯度下降算法-online gradient descent)。如果你需要一個概率架構(比如,簡單地調節分類閾值,指明不確定性,或者是要獲得置信區間),或者你希望以後將更多的訓練數據快速整合到模型中去,那麼使用它吧。

「Sigmoid函數」:表達式如下:

「優點:」

對邏輯回歸而言,多重共線性並不是問題,它可以結合L2正則化來解決該問題;

「缺點」

只能處理兩分類問題(在此基礎上衍生出來的softmax可以用於多分類),且必須「線性可分」

「logistic回歸應用領域:」

用於二分類領域,可以得出概率值,適用於根據分類概率排名的領域,如搜索排名等。

Logistic回歸的擴展softmax可以應用於多分類領域,如手寫字識別等。

「3.3 線性回歸」

線性回歸是用於回歸的,它不像Logistic回歸那樣用於分類,其基本思想是用「梯度下降法」對最小二乘法形式的誤差函數進行優化,當然也可以用normal equation直接求得參數的解,結果為:

而在LWLR(局部加權線性回歸)中,參數的計算表達式為:

由此可見LWLR與LR不同,LWLR是一個非參數模型,因為每次進行回歸計算都要遍歷訓練樣本至少一次。

「優點」:實現簡單,計算簡單;

「缺點」:不能擬合非線性數據.

3.4 最近鄰算法——KNN

KNN即最近鄰算法,其主要過程為:

1. 計算訓練樣本和測試樣本中每個樣本點的距離(常見的距離度量有歐式距離,馬氏距離等);
2. 對上面所有的距離值進行排序(升序);
3. 選前k個最小距離的樣本;
4. 根據這k個樣本的標籤進行投票,得到最後的分類類別;

如何選擇一個最佳的K值,這取決於數據。一般情況下,在分類時較大的K值能夠減小噪聲的影響,但會使類別之間的界限變得模糊。一個較好的K值可通過各種啟發式技術來獲取,比如,交叉驗證。另外噪聲和非相關性特徵向量的存在會使K近鄰算法的準確性減小。近鄰算法具有較強的一致性結果,隨著數據趨於無限,算法保證錯誤率不會超過貝葉斯算法錯誤率的兩倍。對於一些好的K值,K近鄰保證錯誤率不會超過貝葉斯理論誤差率。

「KNN算法的優點」

理論成熟,思想簡單,既可以用來做分類也可以用來做回歸;對數據沒有假設,準確度高,對outlier不敏感;KNN是一種在線技術,新數據可以直接加入數據集而不必進行重新訓練;

「缺點」

樣本不平衡問題(即有些類別的樣本數量很多,而其它樣本的數量很少)效果差;

對於樣本容量大的數據集計算量比較大(體現在距離計算上);

樣本不平衡時,預測偏差比較大。如:某一類的樣本比較少,而其它類樣本比較多;

k值大小的選擇沒有理論選擇最優,往往是結合K-折交叉驗證得到最優k值選擇;

「KNN算法應用領域」

文本分類、模式識別、聚類分析,多分類領域

3.5 決策樹

決策樹的一大優勢就是易於解釋。它可以毫無壓力地處理特徵間的交互關係並且是非參數化的,因此你不必擔心異常值或者數據是否線性可分(舉個例子,決策樹能輕鬆處理好類別A在某個特徵維度x的末端,類別B在中間,然後類別A又出現在特徵維度x前端的情況)。它的缺點之一就是不支持在線學習,於是在新樣本到來後,決策樹需要全部重建。另一個缺點就是容易出現過擬合,但這也就是諸如隨機森林RF(或提升樹boosted tree)之類的集成方法的切入點。另外,隨機森林經常是很多分類問題的贏家(通常比支持向量機好上那麼一丁點),它訓練快速並且可調,同時你無須擔心要像支持向量機那樣調一大堆參數,所以在以前都一直很受歡迎。

決策樹中很重要的一點就是選擇一個屬性進行分枝,因此要注意一下信息增益的計算公式,並深入理解它。

信息熵的計算公式如下:

其中的n代表有n個分類類別(比如假設是二類問題,那麼n=2)。分別計算這2類樣本在總樣本中出現的概率

現在選中一個屬性

「決策樹自身的優點」

決策樹易於理解和解釋,可以可視化分析,容易提取出規則;在相對短的時間內能夠對大型數據源做出可行且效果良好的結果。

「缺點」

容易發生過擬合(隨機森林可以很大程度上減少過擬合);對於那些各類別樣本數量不一致的數據,在決策樹中,進行屬性劃分時,不同的判定準則會帶來不同的屬性選擇傾向;信息增益準則對可取數目較多的屬性有所偏好(典型代表ID3算法),而增益率準則(CART)則對可取數目較少的屬性有所偏好,但CART進行屬性劃分時候不再簡單地直接利用增益率盡心劃分,而是採用一種啟發式規則)(只要是使用了信息增益,都有這個缺點,如RF)。ID3算法計算信息增益時結果偏向數值比較多的特徵。

「改進措施」

對決策樹進行剪枝。可以採用交叉驗證法和加入正則化的方法。使用基於決策樹的combination算法,如bagging算法,randomforest算法,可以解決過擬合的問題;

「應用領域」

企業管理實踐,企業投資決策,由於決策樹很好的分析能力,在決策過程應用較多。

3.5.1 ID3、C4.5算法

ID3算法是以資訊理論為基礎,以信息熵和信息增益度為衡量標準,從而實現對數據的歸納分類。ID3算法計算每個屬性的信息增益,並選取具有最高增益的屬性作為給定的測試屬性。C4.5算法核心思想是ID3算法,是ID3算法的改進,改進方面有:

用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;

「優點」

「缺點」

在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效;C4.5隻適合於能夠駐留於內存的數據集,當訓練集大得無法在內存容納時程序無法運行。3.5.2 CART分類與回歸樹

是一種決策樹分類方法,採用基於最小距離的基尼指數估計函數,用來決定由該子數據集生成的決策樹的拓展形。如果目標變量是標稱的,稱為分類樹;如果目標變量是連續的,稱為回歸樹。分類樹是使用樹結構算法將數據分成離散類的方法。

「優點」

1)非常靈活,可以允許有部分錯分成本,還可指定先驗概率分布,可使用自動的成本複雜性剪枝來得到歸納性更強的樹。2)在面對諸如存在缺失值、變量數多等問題時CART 顯得非常穩健。

3.6 Adaboosting

Adaboost是一種加和模型,每個模型都是基於上一次模型的錯誤率來建立的,過分關注分錯的樣本,而對正確分類的樣本減少關注度,逐次迭代之後,可以得到一個相對較好的模型。該算法是一種典型的boosting算法,其加和理論的優勢可以使用Hoeffding不等式得以解釋。有興趣的同學可以閱讀下自己之前寫的這篇文章AdaBoost算法詳述。下面總結下它的優缺點。

「優點」

可以使用各種方法構建子分類器,Adaboost算法提供的是框架。當使用簡單分類器時,計算出的結果是可以理解的,並且弱分類器的構造極其簡單。3.7 SVM支持向量機

支持向量機,一個經久不衰的算法,高準確率,為避免過擬合提供了很好的理論保證,而且就算數據在原特徵空間線性不可分,只要給個合適的核函數,它就能運行得很好。在動輒超高維的文本分類問題中特別受歡迎。可惜內存消耗大,難以解釋,運行和調參也有些煩人,而隨機森林卻剛好避開了這些缺點,比較實用。

「優點」

「缺點」

對非線性問題沒有通用解決方案,有時候很難找到一個合適的核函數;對於核函數的高維映射解釋力不強,尤其是徑向基函數;❝

對於核的選擇也是有技巧的(libsvm中自帶了四種核函數:線性核、多項式核、RBF以及sigmoid核):

第一,如果樣本數量小於特徵數,那麼就沒必要選擇非線性核,簡單的使用線性核就可以了;第二,如果樣本數量大於特徵數目,這時可以使用非線性核,將樣本映射到更高維度,一般可以得到更好的結果;第三,如果樣本數目和特徵數目相等,該情況可以使用非線性核,原理和第二種一樣。

對於第一種情況,也可以先對數據進行降維,然後使用非線性核,這也是一種方法。

「SVM應用領域」

文本分類、圖像識別(主要二分類領域,畢竟常規SVM只能解決二分類問題)

3.8 人工神經網絡的優缺點

「人工神經網絡的優點:」

「人工神經網絡的缺點:」

神經網絡需要大量的參數,如網絡拓撲結構、權值和閾值的初始值;

黑盒過程,不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和可接受程度;

學習時間過長,有可能陷入局部極小值,甚至可能達不到學習的目的。

「人工神經網絡應用領域:」

目前深度神經網絡已經應用與計算機視覺,自然語言處理,語音識別等領域並取得很好的效果。

3.9 K-Means聚類

是一個簡單的聚類算法,把n的對象根據他們的屬性分為k個分割,k< n。算法的核心就是要優化失真函數J,使其收斂到局部最小值但不是全局最小值。

關於K-Means聚類的文章,參見機器學習算法-K-means聚類。關於K-Means的推導,裡面可是有大學問的,蘊含著強大的EM思想。

「優點」

對處理大數據集,該算法是相對可伸縮的和高效率的,因為它的複雜度大約是O(nkt),其中n是所有對象的數目,k是簇的數目,t是迭代的次數。通常k<<n。這個算法「通常局部收斂」。算法嘗試找出使平方誤差函數值最小的k個劃分。當簇是密集的、球狀或團狀的,且簇與簇之間區別明顯時,聚類效果較好。

「缺點」

分組的數目k是一個輸入參數,不合適的k可能返回較差的結果。對初值的簇心值敏感,對於不同的初始值,可能會導致不同的聚類結果;不適合於發現非凸面形狀的簇,或者大小差別很大的簇。對於」噪聲」和孤立點數據敏感,少量的該類數據能夠對平均值產生極大影響。3.10 EM最大期望算法

EM算法是基於模型的聚類方法,是在概率模型中尋找參數最大似然估計的算法,其中概率模型依賴於無法觀測的隱藏變量。E步估計隱含變量,M步估計其他參數,交替將極值推向最大。

EM算法比K-means算法計算複雜,收斂也較慢,不適於大規模數據集和高維數據,但比K-means算法計算結果穩定、準確。EM經常用在機器學習和計算機視覺的數據集聚(Data Clustering)領域。

3.11 集成算法(AdaBoost算法)

「AdaBoost算法優點:」

相對於bagging算法和Random Forest算法,AdaBoost充分考慮的每個分類器的權重;

「Adaboost算法缺點:」

AdaBoost迭代次數也就是弱分類器數目不太好設定,可以使用交叉驗證來進行確定;

「AdaBoost應用領域:」

模式識別、計算機視覺領域,用於二分類和多分類場景

3.12 排序算法(PageRank)

PageRank是google的頁面排序算法,是基於從許多優質的網頁連結過來的網頁,必定還是優質網頁的回歸關係,來判定所有網頁的重要性。(也就是說,一個人有著越多牛X朋友的人,他是牛X的概率就越大。)

「PageRank優點」

完全獨立於查詢,只依賴於網頁連結結構,可以離線計算。

「PageRank缺點」

舊網頁排序很高,存在時間長,積累了大量的in-links,擁有最新資訊的新網頁排名卻很低,因為它們幾乎沒有in-links。3.13 「關聯規則算法(Apriori算法)」

Apriori算法是一種挖掘關聯規則的算法,用於挖掘其內含的、未知的卻又實際存在的數據關係,其核心是基於兩階段頻集思想的遞推算法 。

「Apriori算法分為兩個階段:」

「算法缺點:」

在每一步產生侯選項目集時循環產生的組合過多,沒有排除不應該參與組合的元素;每次計算項集的支持度時,都對資料庫中    的全部記錄進行了一遍掃描比較,需要很大的I/O負載。4. 算法選擇參考

之前筆者翻譯過一些國外的文章,其中有一篇文章中給出了一個簡單的算法選擇技巧:

首當其衝應該選擇的就是邏輯回歸,如果它的效果不怎麼樣,那麼可以將它的結果作為基準來參考,在基礎上與其他算法進行比較;然後試試決策樹(隨機森林)看看是否可以大幅度提升你的模型性能。即便最後你並沒有把它當做為最終模型,你也可以使用隨機森林來移除噪聲變量,做特徵選擇;如果特徵的數量和觀測樣本特別多,那麼當資源和時間充足時(這個前提很重要),使用SVM不失為一種選擇。

通常情況下:【GBDT>=SVM>=RF>=Adaboost>=Other…】,現在深度學習很熱門,很多領域都用到,它是以神經網絡為基礎的,目前筆者自己也在學習,只是理論知識不紮實,理解的不夠深入,這裡就不做介紹了,希望以後可以寫一片拋磚引玉的文章。

算法固然重要,「但好的數據卻要優於好的算法」,設計優良特徵是大有裨益的。假如你有一個超大數據集,那麼無論你使用哪種算法可能對分類性能都沒太大影響(此時就可以根據速度和易用性來進行抉擇)。

參考文獻Machine Learning - 常見算法優缺點Selecting the best Machine Learning algorithm for your regression problem

相關焦點

  • 【機器學習】機器學習算法優缺點對比(匯總篇)
    機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容易,所以在實際應用中,我們一般都是採用啟發式學習方式來實驗。通常最開始我們都會選擇大家普遍認同的算法,諸如SVM,GBDT,Adaboost,現在深度學習很火熱,神經網絡也是一個不錯的選擇。
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    作者 | 杜博亞來源 | 阿澤的學習筆記「本文的目的,是務實、簡潔地盤點一番當前機器學習算法」。文中內容結合了個人在查閱資料過程中收集到的前人總結,同時添加了部分自身總結,在這裡,依據實際使用中的經驗,將對此模型優缺點及選擇詳加討論。
  • 終極算法:機器學習裡的「牛頓三定律」
    序你也許不知道,但機器學習就在你身邊。沒有人把你的喜好編入亞馬遜的推薦系統,學習算法通過匯總你過去的購買經歷就能確定你的喜好。谷歌的無人駕駛汽車通過自學,懂得如何在公路上平穩行駛,沒有哪個工程師會編寫算法,一步一步指導它該怎麼走、如何從A地到達B地——這也沒必要,因為配有學習算法的汽車能通過觀察司機的操作來掌握開車技能。機器學習是「太陽底下的新鮮事」:一種能夠構建自我的技術。
  • 機器學習算法優缺點對比及選擇(匯總篇)
    本文的目的,是務實、簡潔地盤點一番當前機器學習算法。
  • 各種機器學習分類算法的優缺點
    機器學習中有許多分類算法。本文將介紹分類中使用的各種機器學習算法的優缺點,還將列出他們的應用範圍。SVM(支持向量機)SVM的優點:1.在高維中表現良好。在現實世界中有無限維度(不僅僅是2D和3D)。慢:對於較大的機器學習數據集,需要大量時間來處理。2. 重疊類的性能不佳:重疊類的情況下效果不佳。3. 選擇適當的超參數很重要:這將允許足夠的泛化性能。4. 選擇適當的核函數可能比較麻煩。
  • 機器學習算法一覽
    點擊文末「閱讀原文」填表入群引言提起筆來寫這篇博客,突然有點愧疚和尷尬。愧疚的是,工作雜事多,加之懶癌嚴重,導致這個系列一直沒有更新,向關注該系列的同學們道個歉。尷尬的是,按理說,機器學習介紹與算法一覽應該放在最前面寫,詳細的應用建議應該在講完機器學習常用算法之後寫,突然莫名奇妙在中間插播這麼一篇,好像有點打亂主線。
  • 機器學習入門篇|面向初學者的十大機器學習算法
    為了舉例說明機器學習的影響,Man group的AHL Dimension計劃是一個51億美元的對衝基金,部分由AI管理。 該基金開始運作後,到2015年,儘管其管理的資產遠遠少於該基金,但其機器學習算法卻貢獻了該基金一半以上的利潤。
  • 我的機器學習算法之路
    >機器學習的學習資料數學知識編程知識機器學習資料匯總本人博客未來,人工智慧是生產力,是變革社會的主要技術力量之一。掌握人工智慧技術,需要從基礎的機器學習算法開始學習,逐漸建立機器學習知識體系。本篇文章 :1.帶大家克服心理上對於機器學習的敬畏,繞開彎路(本人入過很多坑),進入機器學習領域。2.從基本概念和機器學習的應用領域入手,幫助大家建立機器學習的概念模型。3.用最基本的線性回歸和邏輯回歸算法,讓大家掌握機器學習神秘的「三板斧」方法論。
  • 機器學習經典算法優缺點對比及選擇建議
    轉自:算法與數學之美本文的目的,是務實、簡潔地盤點一番當前機器學習算法。
  • 近200篇機器學習&深度學習資料分享
    《How to Layout and Manage Your Machine Learning Project》介紹:這一篇介紹如果設計和管理屬於你自己的機器學習項目的文章,裡面提供了管理模版、數據管理與實踐方法.《Machine Learning is Fun!》介紹:如果你還不知道什麼是機器學習,或則是剛剛學習感覺到很枯燥乏味。
  • 機器學習常見算法分類匯總
    機器
  • 【機器學習】自學機器學習嚮導
    這裡有很多來自書籍和課程的資源給你提供參考,甚至你可以參加比賽和屬性使用工具。在這篇文章裡,我想對這些活動提供一些架構,並在你從程式設計師轉變為機器學習專家的旅途中給你提供一些自由的順序來解決一些問題。機器學習的等級考慮一下四個機器學習的技能等級,而這時一個模型,有助於我們思考這些可靠的資源和活動,而且說不定在什麼時候能派上用場。
  • 【機器學習】監督式和非監督式機器學習算法
  • 機器學習算法分類與其優缺點分析
    例如,Scikit-Learn的文檔頁面通過學習機制對算法進行分組。這產生類別如:1,廣義線性模型,2,支持向量機,3,最近鄰居法,4,決策樹,5,神經網絡,等等… 但是,從我們的經驗來看,這並不總是算法分組最為實用的方法。那是因為對於應用機器學習,你通常不會想,「今天我要訓練一個支持向量機!」
  • 想了解機器學習?這 3 種算法你必須要知道
    點擊上方「CSDN」,選擇「置頂公眾號」關鍵時刻,第一時間送達!
  • 機器學習最主流的算法庫sklearn
    sklearn是機器學習研究人員的入門必選庫,也是機器學習算法工程師繞不過去的算法庫。本文主要介紹sklearn的主要功能、優缺點等。最後,以一個簡單的例子來告訴大家如何使用sklearn完成機器學習算法的研究和實踐。」scikit-learn是什麼?
  • 算法應用|機器學習python應用,初識機器學習是怎樣滴感受?
    2、必須非常深入地學習和理解在scikit- learn中使用的機器學習的理論和算法。實際上也不需要,除非你是這一方向的碩士甚至博士學位的學習者。機器學習不同的算法涉及的知識點是非常廣闊的,要做到每一種算法的理論知識的學習都非常深入,是比較難的,實際上簡單的機器學習應用中,只需要了解不同算法的基礎知識就可以使用了。
  • 【下載】《機器學習》+《機器學習實戰》
    簡介:機器學習是計算機科學與人工智慧的重要分支領域。 本書作為該領域的入門教材,在內容上儘可能涵蓋機器學習基礎知識的各方面。本書第一部分主要介紹機器學習基礎,以及如何利用算法進行分類,並逐步介紹了多種經典的監督學習算法,如k近鄰算法、樸素貝葉斯算法、Logistic回歸算法、支持向量機、AdaBoost集成方法、基於樹的回歸算法和分類回歸樹(CART)算法等。第三部分則重點介紹無監督學習及其一些主要算法:k均值聚類算法、Apriori算法、FP-Growth算法。第四部分介紹了機器學習算法的一些附屬工具。
  • 常見的機器學習算法,你知道幾個?
    誕生於1956年的人工智慧,由於受到智能算法、計算速度、存儲水平等因素的影響,在六十多年的發展過程中經歷了多次高潮和低谷。最近幾年,得益於數據量的上漲、運算力的提升,特別是機器學習新算法的出現,人工智慧迎來了大爆發的時代。提到機器學習這個詞時,有些人首先想到的可能是科幻電影裡的機器人。
  • 機器學習&深度學習經典資料匯總(續)
    合集《基於雲的自然語言處理開源項目FudanNLP》介紹:本項目利用了Microsoft Azure,可以在幾分種內完成NLP on Azure Website的部署,立即開始對FNLP各種特性的試用,或者以REST API的形式調用FNLP的語言分析功能《吳立德《概率主題模型&數據科學基礎》》介紹:現任復旦大學首席教授、計算機軟體博士生導師。