參考鏈接:https://vas3k.com/blog/machine_learning/
算法公式挺費神,機器學習太傷人。任何一個剛入門機器學習的人都會被復雜的公式和晦澀難懂的術語嚇到。但其實,如果有通俗易懂的圖解,理解機器學習的原理就會非常容易。本文整理了一篇博客文章的內容,讀者可根據(jù)這些圖理解看似高深的機器學習算法。
機器學習這個主題已經很普遍了,每個人都在談論它,但很少有人能夠透徹地了解它。當前網絡上的一些機器學習文章晦澀難懂,理論性太強,或者通篇云里霧里地介紹人工智能、數(shù)據(jù)科學的魔力以及未來的工作等。
所以呢,本文作者 vas3k 通過簡潔的語言和清晰明了的圖示內容,使得讀者能夠更容易地理解機器學習。拋卻了晦澀難懂的理論介紹,文中側重于機器學習中的實際問題、行之有效的解決方案和通俗易懂的理論。無論你是程序員還是管理者,本文都適合你。
AI 到底它包含了哪些領域,它與各種技術名詞之間的關系又是什么樣的?其實我們會有多種判斷方式,AI 范疇的劃分也不會是唯一的,例如最「常見」的認識可能如下圖所示。
人工智能是個完整的知識領域,類似于生物學或者是化學;
機器學習是人工智能中非常重要的一部分,但并不是唯一一個部分;
神經網絡是機器學習的一種,現(xiàn)在非常受歡迎,但依然有其他優(yōu)秀的算法;
但是,難道深度學習都是神經網絡嗎?明顯并不一定是,例如周志華老師的深度森林,它就是第一個基于不可微構件的深度學習模型。因此,更科學的劃分可能是下圖花書中的這種:
機器學習下面應該是表示學習,即概括了所有使用機器學習挖掘表示本身的方法。相比傳統(tǒng) ML 需要手動設計數(shù)據(jù)特征,這類方法能自己學習好用的數(shù)據(jù)特征。整個深度學習也是一種表示學習,通過一層層模型從簡單表示構建復雜表示。
如果你比較懶,那這有一張完整的技術路線圖供你參考。
按照現(xiàn)階段主流分類來看,機器學習主要分為四類:
經典機器學習;
強化學習;
神經網絡和深度學習;
集成方法;
經典機器學習經常被劃分為兩類:監(jiān)督型學習和非監(jiān)督型學習。
在分類中,模型總是需要一個導師,即對應特征的標注,這樣的話機器就可以基于這些標注學習進行進一步分類。萬事皆可分類,基于興趣去分類用戶、基于語言和主題分類文章、基于類型而分類音樂以及基于關鍵詞分類電子郵件。
而在垃圾郵件過濾中,樸素貝葉斯算法得到了極其廣泛的應用。事實上,樸素貝葉斯曾被認為是最優(yōu)雅、最實用的算法。
支持向量機 (SVM) 是最流行的經典分類方法。也是被用來對現(xiàn)有的一切事物進行分類: 照片中的植物外觀,文件等等等。支持向量機背后的思路也很簡單,以下圖為例,它試圖在數(shù)據(jù)點之間畫出兩條邊距最大的線。
回歸基本上是分類,但預測的標的是一個數(shù)字而不是類別。例如按里程計算的汽車價格,按時間計算的交通量,按公司增長計算出市場需求量等。當所預測的事物是依賴于時間時,回歸是非常合適的選擇。
無監(jiān)督學習是 90 年代才被發(fā)明出來的,可以這么去描述它「根據(jù)未知特征對目標進行分割,而由機器去選擇最佳方式?!?/span>
聚類是一種沒有預先定義類的分類。比如當你不記得你所有的顏色時,把襪子按顏色分類一樣。聚類算法試圖通過某些特征從而找到相似的對象并將它們合并到一個聚類中。
人們在使用抽象的東西總是比使用零碎的特征更具有方便性。舉個例子,將所有長著三角形的耳朵、長鼻子和大尾巴的狗合并成一個很好的抽象概念——「牧羊犬」。
再比如有關科技的文章中擁有更多科技術語,而政治新聞里最多的是政客的名字。假如我們要將這些具有特性的單詞以及文章組成一個新的特征,以保持其潛在關聯(lián)度,SVD 便是個不錯的選擇。
無監(jiān)督學習——關聯(lián)規(guī)則學習
包括分析購物車,自動化營銷策略等。舉個例子,顧客拿著六瓶啤酒走向收銀臺,在其路上是否該放些花生?如果放了,這些顧客多久會來買一次?如果啤酒花生是絕配,那還有其他什么事物也可進行這樣的搭配呢?
現(xiàn)實生活中,每個大型零售商都有它們自己的專用解決方案,而當中技術水平最高的要數(shù)那些「推薦系統(tǒng)」。
「團結就是力量」,這句老話很好地表達了機器學習領域中「集成方法」的基本思想。在集成方法中,我們通常會訓練多個「弱模型」,以期待能組合成為一個強大的方法。像各種經典 ML 競賽中,差不多效果最好的那一撥,如梯度提升樹、隨機森林等都屬于集成方法。
一般而言集成方法的「組合方式」主要可以分為三種:Stacking、Bagging、Boosting。
如下圖所示,Stacking 通??紤]的是異質弱學習器,弱學習器可以先并行地訓練,而后通過一個「元模型」將它們組合起來,根據(jù)不同弱模型的預測結果輸出一個最終的預測結果。
Bagging 方法通??紤]的是同質弱學習器,相互獨立地并行學習這些弱學習器,并按照某種確定性的平均過程將它們組合起來。假設所有弱學習器都是決策樹模型,那么這樣做出來的 Bagging 就是隨機森林。
Boosting 方法通??紤]的也是同質弱學習器,只不過它的思想是「分而治之」。它以一種高度自適應的方法順序地學習這些弱學習器,且后續(xù)弱模型重點學習上一個弱模型誤分類的數(shù)據(jù)。
這就相當于不同的弱分類器,專注于部分數(shù)據(jù),達到「分而治之」的效果。如下所示,Boosting 就是以串行組合不同模型的范式。大名鼎鼎的 XGBoost、LightGBM 這些庫或算法,都采用的 Boosting 方法。
現(xiàn)在,從樸素貝葉斯到 Boosting 方法,經典機器學習的主要分支已經具備了。如果讀者希望有一個更系統(tǒng)與詳細地了解,李航老師的《統(tǒng)計學習方法》與周志華老師的《機器學習》是最好的兩本中文教程。
當然,在這篇博客中,作者還介紹了強化學習與深度學習等等,內容非常適合對人工智能感興趣且非相關專業(yè)的讀者,加上形象的配圖,算得上是篇非常不錯的科普文。
-END-
免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯(lián)系刪除
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!