當前位置:
首頁 > 知識 > 怎麼選擇機器學習演算法?SAS首席科學家為你講解

怎麼選擇機器學習演算法?SAS首席科學家為你講解

本文面向的是入門到中級的數據科學家,或對利用機器學習演算法來解決問題感興趣的數據分析師。

面對各種各樣的機器學習演算法——「我應該用哪一個?」,是一名初學者經常遇到的問題。問題的答案,取決於許多因素,包括:

數據的大小,質量和性質

可用的計算時間

任務的緊迫性

你想對數據做什麼

即便是經驗豐富的數據科學家,也無法在嘗試各種演算法之前,判斷出哪種演算法的效果最好。在這裡,我並不是忽悠大家要一步到位。我的意思是,要根據明確的因素,搞清楚應該優先嘗試哪些演算法。

機器學習演算法速查表

該流程圖展示了何時使用哪些演算法

機器學習演算法速查表,幫助你找到適合不同具體問題的演算法。本文將引導你如何使用速查表。

該速查表專為初階數據科學家和分析師設計。因而在討論演算法時,我們將對假設做一些簡化。

這裡推薦的演算法,來自於多位數據科學家、機器學習專家的編譯反饋和提示。 有幾個問題我們還沒有達成一致,對於這些問題,我們試圖突出共同點,調和差異。

當我們的庫在將來更加完整,包含更多可用方法時,將會添加額外的演算法。

如何使用速查表

對圖表上的路徑和演算法標籤,看作「如果 就使用 」。例如:

如果要降維,就使用主成分分析。

如果需要快速的數字預測,就用決策樹或邏輯回歸。

如果需要分層結果,就使用層次聚類。

有時候,適用的分支有多個,其他時候完美適用的一個也沒有。 重要的是記住:這些路徑僅僅是經驗總結,有的建議並不準確。 我聊過的幾位數據科學家都說,找到最佳演算法的唯一方法,就是嘗試所有的演算法。

機器學習演算法的類型

本節將對最常見的機器學習演算法類型,做個概述。 如果您對這些類別很熟悉,可以跳過本節到下面的「何時使用特定演算法」。

監督學習

監督學習演算法會根據樣例集做預測。 例如,可以使用歷史銷售預估將來價格。 在監督學習中,有標記過的訓練數據組成的輸入變數,以及輸出變數。 你用演算法來分析訓練數據,學習從輸入映射到輸出的函數。這個預測函數通過從訓練數據中進行歸納,對新的未知的樣本建立映射,來預測未知情況下的結果。

分類:當數據用於預測分類變數時,監督學習也稱為分類。 圖像處理中經典的貓狗識別:根據圖像內容,向圖片分配"狗"或"貓"標籤就是這種案例。 當只有兩個標籤時,這被稱為二進位分類。 當有兩類以上時,這些問題被稱為多類分類。

回歸:當預測連續值時,問題就成為了一個回歸問題。

預測:根據過去和現在的數據,對未來進行預測。 最常被用來分析趨勢。 一個常見的例子可能是根據今年和前幾年的銷售情況估計下一年的銷售額。

半監督學習

監督學習的困難在於,標註數據非常昂貴、費時。如果標註數據有限,可以使用未標註數據來加強監督學習。在這種情況下機器不是完全監督的,我們就稱是半監督。通過半監督學習,可以使用未標註數據和少量的標註數據來提高學習的準確性。

無監督學習

進行無監督學習時,機器僅使用未標註數據。目標是發現數據中的內在模式,比如聚類結構,一個低維的流形(manifold),或者一個稀疏樹和圖。

聚類:對一組數據進行分組,使得同一組(或一類)中的數據比其他組中的數據更加相似(根據一些規則)。這通常用來將整個數據集劃分成幾個數據組。在每個數據組中進行分析,能幫助用戶找到內在的關聯。

降維:減少約束條件下的變數數量。在許多應用中,原始數據特徵維度特別高,並且一些特徵是冗餘的、或者和結果無關。降維能夠幫助找到正確的潛在關聯。

增強學習

增強學習基於環境反饋,分析並優化代理的行為。機器會嘗試不同場景,找出產生最大的收益的行為,不需要被告知做什麼。試錯和延時獎勵,是增強學習和其他技術的主要區別。

選擇演算法的注意事項

選擇一個演算法時,通常要考慮這三個方面:準確性,訓練時間和易用性。許多人將準確性放在首位,但是初學者傾向於選擇他們最了解的演算法。

當拿到一個數據集時,首先要考慮的是如何獲取結果,不管這些結果可能看起來是什麼樣子的。初學者傾向於選擇容易實現並且能夠快速得到結果的演算法。這種做法是可取的,因為這只是第一步工作。一旦你得到了一些結果並且熟悉了這些數據,你可以會花費更多時間、使用更加複雜的演算法來增強你對這些數據的理解,來進一步改進結果。

即使在這種情況下,最好的演算法,可能並不是有最高準確率的方法,因為一個演算法通常需要仔細的調參和大量訓練才能達到它的最優性能。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

機器學習很陌生?你從小學就開始接觸了……
機器學習決策樹的分裂到底是什麼?這篇文章講明白了!
「回歸分析」真的算是「機器學習」嗎?
機器學習奠基人Thomas Dietterich:人類將如何受到AI威脅
數據科學家、機器學習工程師與普通的軟體工程師有什麼不同

TAG:機器學習 |

您可能感興趣

機器學習演算法總覽
機器學習演算法集錦
KNN演算法的機器學習基礎
讓演算法解放演算法工程師——NAS 綜述
讓機器像人類一樣學習?伯克利 AI 研究院提出新的元強化學習演算法!
MIT SCAIL科學家研究出讓AI演算法自動消除偏見的方法
解密Kernel:為什麼適用任何機器學習演算法?
讓機器像人類一樣學習?伯克利 AI 研究院提出新的元強化學習演算法
機器學習十大演算法詳解
AI幫你摳圖,阿里媽媽自研演算法入選國際頂級學術會議
「AI比人更擅長妥協」Nature子刊全新機器學習演算法探討人機合作
科學家提出超越傳統機器學習的量子演算法
機會 | 帶學《機器學習》西瓜書+帶打NLP演算法大賽
【方法論】機器學習演算法概覽
最強神器!用Excel實踐機器學習演算法
機器學習演算法——隨機森林演算法簡介
Live預告|淘金者科技首席科學家許意華:AI+金融為什麼這麼熱?聊一聊核心演算法和我們的應用實踐
Open AI用強化學習演算法 教會機械手「盤核桃」
一文圖解機器學習的基本演算法!
YouTube視頻機器學習推薦演算法探測