應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點新聞
企業(yè)注冊個人注冊登錄

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

2019-02-15 09:45 猿學(xué)

導(dǎo)讀:你是否使用像Siri或Alexa這樣的個人助理客戶端?你是否依賴垃圾郵件過濾器來保持電子郵件收件箱的干凈?

本文用淺顯易懂的語言精準概括了機器學(xué)習(xí)的相關(guān)知識,內(nèi)容全面,總結(jié)到位,剖析了機器學(xué)習(xí)的what,who,when, where, how,以及why等相關(guān)問題。從機器學(xué)習(xí)的概念,到機器學(xué)習(xí)的發(fā)展史,再到機器學(xué)習(xí)的各類算法,最后到機器學(xué)習(xí)的最新應(yīng)用,十分詳盡。適合小白快速了解機器學(xué)習(xí)。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

你是否使用像Siri或Alexa這樣的個人助理客戶端?你是否依賴垃圾郵件過濾器來保持電子郵件收件箱的干凈?你是否訂閱了Netflix,并依賴它驚人的準確推薦來發(fā)現(xiàn)新的電影可看?如果你對這些問題說“是”,恭喜你!你已經(jīng)很好地利用了機器學(xué)習(xí)!

雖然這聽起來很復(fù)雜,需要大量的技術(shù)背景,但機器學(xué)習(xí)實際上是一個相當(dāng)簡單的概念。為了更好地理解它,讓我們研究一下關(guān)于機器學(xué)習(xí)的what,who,when, where, how,以及why。

每天5分鐘快速玩轉(zhuǎn)機器學(xué)習(xí)算法作者:幻風(fēng)的AI之路-人要是沒有夢想和神經(jīng)網(wǎng)絡(luò)有什么區(qū)別?8.88元 787人已購詳情

什么是機器學(xué)習(xí)?

機器學(xué)習(xí)的核心是“使用算法解析數(shù)據(jù),從中學(xué)習(xí),然后對世界上的某件事情做出決定或預(yù)測”。這意味著,與其顯式地編寫程序來執(zhí)行某些任務(wù),不如教計算機如何開發(fā)一個算法來完成任務(wù)。有三種主要類型的機器學(xué)習(xí):監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)和強化學(xué)習(xí),所有這些都有其特定的優(yōu)點和缺點。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

監(jiān)督學(xué)習(xí)涉及一組標記數(shù)據(jù)。計算機可以使用特定的模式來識別每種標記類型的新樣本。監(jiān)督學(xué)習(xí)的兩種主要類型是分類和回歸。在分類中,機器被訓(xùn)練成將一個組劃分為特定的類。分類的一個簡單例子是電子郵件賬戶上的垃圾郵件過濾器。過濾器分析你以前標記為垃圾郵件的電子郵件,并將它們與新郵件進行比較。如果它們匹配一定的百分比,這些新郵件將被標記為垃圾郵件并發(fā)送到適當(dāng)?shù)奈募A。那些比較不相似的電子郵件被歸類為正常郵件并發(fā)送到你的郵箱。

第二種監(jiān)督學(xué)習(xí)是回歸。在回歸中,機器使用先前的(標記的)數(shù)據(jù)來預(yù)測未來。天氣應(yīng)用是回歸的好例子。使用氣象事件的歷史數(shù)據(jù)(即平均氣溫、濕度和降水量),你的手機天氣應(yīng)用程序可以查看當(dāng)前天氣,并在未來的時間內(nèi)對天氣進行預(yù)測。

在無監(jiān)督學(xué)習(xí)中,數(shù)據(jù)是無標簽的。由于大多數(shù)真實世界的數(shù)據(jù)都沒有標簽,這些算法特別有用。無監(jiān)督學(xué)習(xí)分為聚類和降維。聚類用于根據(jù)屬性和行為對象進行分組。這與分類不同,因為這些組不是你提供的。聚類的一個例子是將一個組劃分成不同的子組(例如,基于年齡和婚姻狀況),然后應(yīng)用到有針對性的營銷方案中。降維通過找到共同點來減少數(shù)據(jù)集的變量。大多數(shù)大數(shù)據(jù)可視化使用降維來識別趨勢和規(guī)則。

最后,強化學(xué)習(xí)使用機器的個人歷史和經(jīng)驗來做出決定。強化學(xué)習(xí)的經(jīng)典應(yīng)用是玩游戲。與監(jiān)督和非監(jiān)督學(xué)習(xí)不同,強化學(xué)習(xí)不涉及提供“正確的”答案或輸出。相反,它只關(guān)注性能。這反映了人類是如何根據(jù)積極和消極的結(jié)果學(xué)習(xí)的。很快就學(xué)會了不要重復(fù)這一動作。同樣的道理,一臺下棋的電腦可以學(xué)會不把它的國王移到對手的棋子可以進入的空間。然后,國際象棋的這一基本教訓(xùn)就可以被擴展和推斷出來,直到機器能夠打(并最終擊敗)人類頂級玩家為止。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

但是,等等,你可能會說。我們是在說人工智能嗎?機器學(xué)習(xí)是人工智能的一個分支。人工智能致力于創(chuàng)造出比人類更能完成復(fù)雜任務(wù)的機器。這些任務(wù)通常涉及判斷、策略和認知推理,這些技能最初被認為是機器的“禁區(qū)”。雖然這聽起來很簡單,但這些技能的范圍非常大——語言處理、圖像識別、規(guī)劃等等。

機器學(xué)習(xí)使用特定的算法和編程方法來實現(xiàn)人工智能。沒有機器學(xué)習(xí),我們前面提到的國際象棋程序?qū)⑿枰獢?shù)百萬行代碼,包括所有的邊緣情況,并包含來自對手的所有可能的移動。有了機器學(xué)習(xí),我們可以將代碼量縮小到以前的一小部分。很棒對吧?

有一個缺失的部分:深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)。我們稍后會更詳細地討論它們,請注意,深度學(xué)習(xí)是機器學(xué)習(xí)的一個子集,專注于模仿人類大腦的生物學(xué)和過程。

誰發(fā)展了機器學(xué)習(xí)?何時何地?

A breakthrough in machine learning would be worth ten Microsofts.—Bill Gates

在我看來,機器學(xué)習(xí)最早的發(fā)展是Thomas Bayes 在1783年發(fā)表的同名理論,貝斯定理發(fā)現(xiàn)了給定有關(guān)類似事件的歷史數(shù)據(jù)的事件的可能性。這是機器學(xué)習(xí)的貝葉斯分支的基礎(chǔ),它尋求根據(jù)以前的信息尋找最可能發(fā)生的事件。換句話說,Bayes定理只是一個從經(jīng)驗中學(xué)習(xí)的數(shù)學(xué)方法,是機器學(xué)習(xí)的基本思想。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

幾個世紀后,1950年,計算機科學(xué)家 Alan Turing發(fā)明了所謂的圖靈測試,計算機必須通過文字對話一個人,讓人以為她在和另一個人說話。圖靈認為,只有通過這個測試,機器才能被認為是“智能的”。1952年,Arthur Samuel創(chuàng)建了第一個真正的機器學(xué)習(xí)程序——一個簡單的棋盤游戲,計算機能夠從以前的游戲中學(xué)習(xí)策略,并提高未來的性能。接著是Donald Michie 在1963年推出的強化學(xué)習(xí)的tic-tac-toe程序。在接下來的幾十年里,機器學(xué)習(xí)的進步遵循了同樣的模式--一項技術(shù)突破導(dǎo)致了更新的、更復(fù)雜的計算機,通常是通過與專業(yè)的人類玩家玩戰(zhàn)略游戲來測試的。

它在1997年達到巔峰,當(dāng)時IBM國際象棋電腦深藍(Deep Blue)在一場國際象棋比賽中擊敗了世界冠軍加里·卡斯帕羅夫(Garry Kasparov)。最近,谷歌開發(fā)了專注于古代中國棋類游戲圍棋(Go)的AlphaGo,該游戲被普遍認為是世界上最難的游戲。盡管圍棋被認為過于復(fù)雜,以至于一臺電腦無法掌握,但在2016年,AlphaGo終于獲得了勝利,在一場五局比賽中擊敗了Lee Sedol。

機器學(xué)習(xí)最大的突破是2006年的深度學(xué)習(xí)。深度學(xué)習(xí)是一類機器學(xué)習(xí),目的是模仿人腦的思維過程,經(jīng)常用于圖像和語音識別。深度學(xué)習(xí)的出現(xiàn)導(dǎo)致了我們今天使用的(可能是理所當(dāng)然的)許多技術(shù)。你有沒有把一張照片上傳到你的Facebook賬戶,只是為了暗示給照片中的人貼上標簽?Facebook正在使用神經(jīng)網(wǎng)絡(luò)來識別照片中的面孔。或者Siri呢?當(dāng)你問你的iPhone關(guān)于今天的棒球成績時,你的話語會用一種復(fù)雜的語音解析算法進行分析。如果沒有深度學(xué)習(xí),這一切都是不可能的。

機器學(xué)習(xí)是如何工作的?

注意所有對數(shù)學(xué)恐懼的讀者:我很遺憾地告訴你,要完全理解大多數(shù)機器學(xué)習(xí)算法,就需要對一些關(guān)鍵的數(shù)學(xué)概念有一個基本的理解。但不要害怕!所需的概念很簡單,并且借鑒了你可能已經(jīng)上過的課程。機器學(xué)習(xí)使用線性代數(shù)、微積分、概率和統(tǒng)計。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

Top 3線性代數(shù)概念:

1.矩陣運算;

2.特征值/特征向量;

3.向量空間和范數(shù)

Top 3微積分概念:

1.偏導(dǎo)數(shù);

2.向量-值函數(shù);

3.方向梯度

Top 3統(tǒng)計概念:

1.Bayes定理;

2.組合學(xué);

3.抽樣方法

一旦你對數(shù)學(xué)有了基本的理解,就該開始思考整個機器學(xué)習(xí)過程了。有五個主要步驟:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

上面的圖表以比較清楚的方式解釋了步驟,所以在我們關(guān)注最關(guān)鍵的部分:為數(shù)據(jù)和情況選擇正確的算法之前,花一分鐘的時間來研究它。

We don’t have better algorithms, we just have more data.—Peter Norvig

讓我們回顧一下算法的一些常見分組:

回歸算法

這可能是最流行的機器學(xué)習(xí)算法,線性回歸算法是基于連續(xù)變量預(yù)測特定結(jié)果的監(jiān)督學(xué)習(xí)算法。另一方面,Logistic回歸專門用來預(yù)測離散值。這兩種(以及所有其他回歸算法)都以它們的速度而聞名,它們一直是最快速的機器學(xué)習(xí)算法之一。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

基于實例的算法

基于實例的分析使用提供數(shù)據(jù)的特定實例來預(yù)測結(jié)果。最著名的基于實例的算法是k-最近鄰算法,也稱為KNN。KNN用于分類,比較數(shù)據(jù)點的距離,并將每個點分配給它最接近的組。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

決策樹算法

決策樹算法將一組“弱”學(xué)習(xí)器集合在一起,形成一種強算法,這些學(xué)習(xí)器組織在樹狀結(jié)構(gòu)中,相互分支。一種流行的決策樹算法是隨機森林算法。在該算法中,弱學(xué)習(xí)器是隨機選擇的,這往往可以獲得一個強預(yù)測器。在下面的例子中,我們可以發(fā)現(xiàn)許多共同的特征(就像眼睛是藍的或者不是藍色的),它們都不足以單獨識別動物。然而,當(dāng)我們把所有這些觀察結(jié)合在一起時,我們就能形成一個更完整的畫面,并做出更準確的預(yù)測。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

貝葉斯算法

絲毫不奇怪,這些算法都是基于Bayes理論的,最流行的算法是樸素Bayes,它經(jīng)常用于文本分析。例如,大多數(shù)垃圾郵件過濾器使用貝葉斯算法,它們使用用戶輸入的類標記數(shù)據(jù)來比較新數(shù)據(jù)并對其進行適當(dāng)分類。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

聚類算法

聚類算法的重點是發(fā)現(xiàn)元素之間的共性并對它們進行相應(yīng)的分組,常用的聚類算法是k-means聚類算法。在k-means中,分析人員選擇簇數(shù)(以變量k表示),并根據(jù)物理距離將元素分組為適當(dāng)?shù)木垲悺?/p>

深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)算法

人工神經(jīng)網(wǎng)絡(luò)算法基于生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),深度學(xué)習(xí)采用神經(jīng)網(wǎng)絡(luò)模型并對其進行更新。它們是大、且極其復(fù)雜的神經(jīng)網(wǎng)絡(luò),使用少量的標記數(shù)據(jù)和更多的未標記數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)有許多輸入,它們經(jīng)過幾個隱藏層后才產(chǎn)生一個或多個輸出。這些連接形成一個特定的循環(huán),模仿人腦處理信息和建立邏輯連接的方式。此外,隨著算法的運行,隱藏層往往變得更小、更細微。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

其他算法

下面的圖表是我發(fā)現(xiàn)的最好的圖表,它展示了主要的機器學(xué)習(xí)算法、它們的分類以及它們之間的關(guān)系。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

The numbers have no way of speaking for themselves. We speak for them. We imbue them with meaning….Before we demand more of our data, we need to demand more of ourselves.—Nate Silver

一旦你選擇并運行了你的算法,還有一個非常重要的步驟:可視化和交流結(jié)果。雖然與算法編程的細節(jié)相比,這看起來既愚蠢又膚淺,但是良好的可視化是優(yōu)秀數(shù)據(jù)科學(xué)家和偉大科學(xué)家的關(guān)鍵隔膜。如果沒有人能夠理解,那么驚人的洞察力又有什么用呢?

為什么機器學(xué)習(xí)很重要?

Just as electricity transformed almost everything 100 years ago, today I actually have a hard time thinking of an industry that I don’t think AI will transform in the next several years.— Andrew Ng

現(xiàn)在應(yīng)該清楚的是,機器學(xué)習(xí)有巨大的潛力來改變和改善世界。通過像谷歌大腦和斯坦福機器學(xué)習(xí)小組這樣的研究團隊,我們正朝著真正的人工智能邁進一大步。但是,確切地說,什么是機器學(xué)習(xí)能產(chǎn)生影響的下一個主要領(lǐng)域?

物聯(lián)網(wǎng)

物聯(lián)網(wǎng)(Internet of Things),或者說IOT,是指你家里和辦公室里聯(lián)網(wǎng)的物理設(shè)備。流行的物聯(lián)網(wǎng)設(shè)備是智能燈泡,其銷售額在過去幾年里猛增。隨著機器學(xué)習(xí)的進步,物聯(lián)網(wǎng)設(shè)備比以往任何時候都更聰明、更復(fù)雜。機器學(xué)習(xí)有兩個主要的與物聯(lián)網(wǎng)相關(guān)的應(yīng)用:使你的設(shè)備變得更好和收集你的數(shù)據(jù)。讓設(shè)備變得更好是非常簡單的:使用機器學(xué)習(xí)來個性化您的環(huán)境,比如,用面部識別軟件來感知哪個是房間,并相應(yīng)地調(diào)整溫度和AC。收集數(shù)據(jù)更加簡單,通過在你的家中保持網(wǎng)絡(luò)連接的設(shè)備(如亞馬遜回聲)的通電和監(jiān)聽,像Amazon這樣的公司收集關(guān)鍵的人口統(tǒng)計信息,將其傳遞給廣告商,比如電視顯示你正在觀看的節(jié)目、你什么時候醒來或睡覺、有多少人住在你家。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

聊天機器人

在過去的幾年里,我們看到了聊天機器人的激增,成熟的語言處理算法每天都在改進它們。聊天機器人被公司用在他們自己的移動應(yīng)用程序和第三方應(yīng)用上,比如Slack,以提供比傳統(tǒng)的(人類)代表更快、更高效的虛擬客戶服務(wù)。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

自動駕駛

我個人最喜歡的下一個大型機器學(xué)習(xí)項目是最遠離廣泛生產(chǎn)的項目之一。然而,目前有幾家大型公司正在開發(fā)無人駕駛汽車,如雪佛蘭、Uber和Tsla。這些汽車使用了通過機器學(xué)習(xí)實現(xiàn)導(dǎo)航、維護和安全程序的技術(shù)。一個例子是交通標志傳感器,它使用監(jiān)督學(xué)習(xí)算法來識別和解析交通標志,并將它們與一組標有標記的標準標志進行比較。這樣,汽車就能看到停車標志,并認識到它實際上意味著停車,而不是轉(zhuǎn)彎,單向或人行橫道。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

這就是我們進入機器學(xué)習(xí)世界的非常短暫的旅程。感謝觀看。

圖解十大經(jīng)典機器學(xué)習(xí)算法入門

弱人工智能近幾年取得了重大突破,悄然間,已經(jīng)成為每個人生活中必不可少的一部分。以我們的智能手機為例,看看到底溫藏著多少人工智能的神奇魔術(shù)。

下圖是一部典型的智能手機上安裝的一些常見應(yīng)用程序,可能很多人都猜不到,人工智能技術(shù)已經(jīng)是手機上很多應(yīng)用程序的核心驅(qū)動力。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖1 智能手機上的相關(guān)應(yīng)用

傳統(tǒng)的機器學(xué)習(xí)算法包括決策樹、聚類、貝葉斯分類、支持向量機、EM、Adaboost等等。這篇文章將對常用算法做常識性的介紹,沒有代碼,也沒有復(fù)雜的理論推導(dǎo),就是圖解一下,知道這些算法是什么,它們是怎么應(yīng)用的。

決策樹

根據(jù)一些 feature(特征) 進行分類,每個節(jié)點提一個問題,通過判斷,將數(shù)據(jù)分為兩類,再繼續(xù)提問。這些問題是根據(jù)已有數(shù)據(jù)學(xué)習(xí)出來的,再投入新數(shù)據(jù)的時候,就可以根據(jù)這棵樹上的問題,將數(shù)據(jù)劃分到合適的葉子上。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖2 決策樹原理示意圖

隨機森林

在源數(shù)據(jù)中隨機選取數(shù)據(jù),組成幾個子集:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖3-1 隨機森林原理示意圖

S矩陣是源數(shù)據(jù),有1-N條數(shù)據(jù),A、B、C 是feature,最后一列C是類別:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

由S隨機生成M個子矩陣:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

這M個子集得到 M 個決策樹:將新數(shù)據(jù)投入到這M個樹中,得到M個分類結(jié)果,計數(shù)看預(yù)測成哪一類的數(shù)目最多,就將此類別作為最后的預(yù)測結(jié)果。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖3-2 隨機森林效果展示圖

邏輯回歸

當(dāng)預(yù)測目標是概率這樣的,值域需要滿足大于等于0,小于等于1的,這個時候單純的線性模型是做不到的,因為在定義域不在某個范圍之內(nèi)時,值域也超出了規(guī)定區(qū)間。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-1 線性模型圖

所以此時需要這樣的形狀的模型會比較好:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-2

那么怎么得到這樣的模型呢?

這個模型需要滿足兩個條件 “大于等于0”,“小于等于1” 。大于等于0 的模型可以選擇絕對值,平方值,這里用指數(shù)函數(shù),一定大于0;小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-3

再做一下變形,就得到了 logistic regressions 模型:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-4

通過源數(shù)據(jù)計算可以得到相應(yīng)的系數(shù)了:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-5

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖4-6 LR模型曲線圖

支持向量機

要將兩類分開,想要得到一個超平面,最優(yōu)的超平面是到兩類的 margin 達到最大,margin就是超平面與離它最近一點的距離,如下圖,Z2>Z1,所以綠色的超平面比較好。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖5 分類問題示意圖

將這個超平面表示成一個線性方程,在線上方的一類,都大于等于1,另一類小于等于-1:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

點到面的距離根據(jù)圖中的公式計算:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

所以得到total margin的表達式如下,目標是最大化這個margin,就需要最小化分母,于是變成了一個優(yōu)化問題:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

舉個例子,三個點,找到最優(yōu)的超平面,定義了 weight vector=(2,3)-(1,1):

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

得到weight vector為(a,2a),將兩個點代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,進而得到超平面的表達式。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

a求出來后,代入(a,2a)得到的就是support vector,a和w0代入超平面的方程就是support vector machine。

樸素貝葉斯

舉個在 NLP 的應(yīng)用:給一段文字,返回情感分類,這段文字的態(tài)度是positive,還是negative:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖6-1 問題案例

為了解決這個問題,可以只看其中的一些單詞:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

這段文字,將僅由一些單詞和它們的計數(shù)代表:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

原始問題是:給你一句話,它屬于哪一類 ?通過bayes rules變成一個比較簡單容易求得的問題:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

問題變成,這一類中這句話出現(xiàn)的概率是多少,當(dāng)然,別忘了公式里的另外兩個概率。例子:單詞“l(fā)ove”在positive的情況下出現(xiàn)的概率是 0.1,在negative的情況下出現(xiàn)的概率是0.001。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖6-2 NB算法結(jié)果展示圖

K近鄰算法

給一個新的數(shù)據(jù)時,離它最近的 k 個點中,哪個類別多,這個數(shù)據(jù)就屬于哪一類。

例子:要區(qū)分“貓”和“狗”,通過“claws”和“sound”兩個feature來判斷的話,圓形和三角形是已知分類的了,那么這個“star”代表的是哪一類呢?

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖7-1 問題案例

k=3時,這三條線鏈接的點就是最近的三個點,那么圓形多一些,所以這個star就是屬于貓。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖7-2 算法步驟展示圖

K均值算法

先要將一組數(shù)據(jù),分為三類,粉色數(shù)值大,黃色數(shù)值小 。最開始先初始化,這里面選了最簡單的 3,2,1 作為各類的初始值 。剩下的數(shù)據(jù)里,每個都與三個初始值計算距離,然后歸類到離它最近的初始值所在類別。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖8-1 問題案例

分好類后,計算每一類的平均值,作為新一輪的中心點:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖8-2

幾輪之后,分組不再變化了,就可以停止了:

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖8-3 算法結(jié)果展示

Adaboost

Adaboost 是 Boosting 的方法之一。Boosting就是把若干個分類效果并不好的分類器綜合起來考慮,會得到一個效果比較好的分類器。

下圖,左右兩個決策樹,單個看是效果不怎么好的,但是把同樣的數(shù)據(jù)投入進去,把兩個結(jié)果加起來考慮,就會增加可信度。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖9-1 算法原理展示

Adaboost 的例子,手寫識別中,在畫板上可以抓取到很多features(特征),例如始點的方向,始點和終點的距離等等。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖9-2

training的時候,會得到每個feature的weight(權(quán)重),例如2和3的開頭部分很像,這個feature對分類起到的作用很小,它的權(quán)重也就會較小。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖9-3

而這個alpha角就具有很強的識別性,這個feature的權(quán)重就會較大,最后的預(yù)測結(jié)果是綜合考慮這些feature的結(jié)果。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖9-4

神經(jīng)網(wǎng)絡(luò)

Neural Networks適合一個input可能落入至少兩個類別里:NN由若干層神經(jīng)元,和它們之間的聯(lián)系組成。 第一層是input層,最后一層是output層。在hidden層和output層都有自己的classifier。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖10-1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

input輸入到網(wǎng)絡(luò)中,被激活,計算的分數(shù)被傳遞到下一層,激活后面的神經(jīng)層,最后output層的節(jié)點上的分數(shù)代表屬于各類的分數(shù),下圖例子得到分類結(jié)果為class 1;同樣的input被傳輸?shù)讲煌墓?jié)點上,之所以會得到不同的結(jié)果是因為各自節(jié)點有不同的weights 和bias,這也就是forward propagation。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖10-2 算法結(jié)果展示

馬爾科夫

Markov Chains由state(狀態(tài))和transitions(轉(zhuǎn)移)組成。例子,根據(jù)這一句話 ‘the quick brown fox jumps over the lazy dog’,要得到markov chains。

步驟,先給每一個單詞設(shè)定成一個狀態(tài),然后計算狀態(tài)間轉(zhuǎn)換的概率。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖11-1 馬爾科夫原理圖

這是一句話計算出來的概率,當(dāng)你用大量文本去做統(tǒng)計的時候,會得到更大的狀態(tài)轉(zhuǎn)移矩陣,例如the后面可以連接的單詞,及相應(yīng)的概率。

最簡單易懂的機器學(xué)習(xí)入門介紹,十大經(jīng)典機器學(xué)習(xí)算法入門詳解

圖11-2 算法結(jié)果展示

上述十大類機器學(xué)習(xí)算法是人工智能發(fā)展的踐行者,即使在當(dāng)下,依然在數(shù)據(jù)挖掘以及小樣本的人工智能問題中被廣泛使用。