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