技術(shù)
導(dǎo)讀:你是否使用像Siri或Alexa這樣的個(gè)人助理客戶端?你是否依賴?yán)]件過濾器來保持電子郵件收件箱的干凈?
本文用淺顯易懂的語言精準(zhǔn)概括了機(jī)器學(xué)習(xí)的相關(guān)知識(shí),內(nèi)容全面,總結(jié)到位,剖析了機(jī)器學(xué)習(xí)的what,who,when, where, how,以及why等相關(guān)問題。從機(jī)器學(xué)習(xí)的概念,到機(jī)器學(xué)習(xí)的發(fā)展史,再到機(jī)器學(xué)習(xí)的各類算法,最后到機(jī)器學(xué)習(xí)的最新應(yīng)用,十分詳盡。適合小白快速了解機(jī)器學(xué)習(xí)。
你是否使用像Siri或Alexa這樣的個(gè)人助理客戶端?你是否依賴?yán)]件過濾器來保持電子郵件收件箱的干凈?你是否訂閱了Netflix,并依賴它驚人的準(zhǔn)確推薦來發(fā)現(xiàn)新的電影可看?如果你對(duì)這些問題說“是”,恭喜你!你已經(jīng)很好地利用了機(jī)器學(xué)習(xí)!
雖然這聽起來很復(fù)雜,需要大量的技術(shù)背景,但機(jī)器學(xué)習(xí)實(shí)際上是一個(gè)相當(dāng)簡(jiǎn)單的概念。為了更好地理解它,讓我們研究一下關(guān)于機(jī)器學(xué)習(xí)的what,who,when, where, how,以及why。
每天5分鐘快速玩轉(zhuǎn)機(jī)器學(xué)習(xí)算法作者:幻風(fēng)的AI之路-人要是沒有夢(mèng)想和神經(jīng)網(wǎng)絡(luò)有什么區(qū)別?8.88元 787人已購詳情
什么是機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)的核心是“使用算法解析數(shù)據(jù),從中學(xué)習(xí),然后對(duì)世界上的某件事情做出決定或預(yù)測(cè)”。這意味著,與其顯式地編寫程序來執(zhí)行某些任務(wù),不如教計(jì)算機(jī)如何開發(fā)一個(gè)算法來完成任務(wù)。有三種主要類型的機(jī)器學(xué)習(xí):監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí),所有這些都有其特定的優(yōu)點(diǎn)和缺點(diǎn)。
監(jiān)督學(xué)習(xí)涉及一組標(biāo)記數(shù)據(jù)。計(jì)算機(jī)可以使用特定的模式來識(shí)別每種標(biāo)記類型的新樣本。監(jiān)督學(xué)習(xí)的兩種主要類型是分類和回歸。在分類中,機(jī)器被訓(xùn)練成將一個(gè)組劃分為特定的類。分類的一個(gè)簡(jiǎn)單例子是電子郵件賬戶上的垃圾郵件過濾器。過濾器分析你以前標(biāo)記為垃圾郵件的電子郵件,并將它們與新郵件進(jìn)行比較。如果它們匹配一定的百分比,這些新郵件將被標(biāo)記為垃圾郵件并發(fā)送到適當(dāng)?shù)奈募A。那些比較不相似的電子郵件被歸類為正常郵件并發(fā)送到你的郵箱。
第二種監(jiān)督學(xué)習(xí)是回歸。在回歸中,機(jī)器使用先前的(標(biāo)記的)數(shù)據(jù)來預(yù)測(cè)未來。天氣應(yīng)用是回歸的好例子。使用氣象事件的歷史數(shù)據(jù)(即平均氣溫、濕度和降水量),你的手機(jī)天氣應(yīng)用程序可以查看當(dāng)前天氣,并在未來的時(shí)間內(nèi)對(duì)天氣進(jìn)行預(yù)測(cè)。
在無監(jiān)督學(xué)習(xí)中,數(shù)據(jù)是無標(biāo)簽的。由于大多數(shù)真實(shí)世界的數(shù)據(jù)都沒有標(biāo)簽,這些算法特別有用。無監(jiān)督學(xué)習(xí)分為聚類和降維。聚類用于根據(jù)屬性和行為對(duì)象進(jìn)行分組。這與分類不同,因?yàn)檫@些組不是你提供的。聚類的一個(gè)例子是將一個(gè)組劃分成不同的子組(例如,基于年齡和婚姻狀況),然后應(yīng)用到有針對(duì)性的營(yíng)銷方案中。降維通過找到共同點(diǎn)來減少數(shù)據(jù)集的變量。大多數(shù)大數(shù)據(jù)可視化使用降維來識(shí)別趨勢(shì)和規(guī)則。
最后,強(qiáng)化學(xué)習(xí)使用機(jī)器的個(gè)人歷史和經(jīng)驗(yàn)來做出決定。強(qiáng)化學(xué)習(xí)的經(jīng)典應(yīng)用是玩游戲。與監(jiān)督和非監(jiān)督學(xué)習(xí)不同,強(qiáng)化學(xué)習(xí)不涉及提供“正確的”答案或輸出。相反,它只關(guān)注性能。這反映了人類是如何根據(jù)積極和消極的結(jié)果學(xué)習(xí)的。很快就學(xué)會(huì)了不要重復(fù)這一動(dòng)作。同樣的道理,一臺(tái)下棋的電腦可以學(xué)會(huì)不把它的國(guó)王移到對(duì)手的棋子可以進(jìn)入的空間。然后,國(guó)際象棋的這一基本教訓(xùn)就可以被擴(kuò)展和推斷出來,直到機(jī)器能夠打(并最終擊敗)人類頂級(jí)玩家為止。
但是,等等,你可能會(huì)說。我們是在說人工智能嗎?機(jī)器學(xué)習(xí)是人工智能的一個(gè)分支。人工智能致力于創(chuàng)造出比人類更能完成復(fù)雜任務(wù)的機(jī)器。這些任務(wù)通常涉及判斷、策略和認(rèn)知推理,這些技能最初被認(rèn)為是機(jī)器的“禁區(qū)”。雖然這聽起來很簡(jiǎn)單,但這些技能的范圍非常大——語言處理、圖像識(shí)別、規(guī)劃等等。
機(jī)器學(xué)習(xí)使用特定的算法和編程方法來實(shí)現(xiàn)人工智能。沒有機(jī)器學(xué)習(xí),我們前面提到的國(guó)際象棋程序?qū)⑿枰獢?shù)百萬行代碼,包括所有的邊緣情況,并包含來自對(duì)手的所有可能的移動(dòng)。有了機(jī)器學(xué)習(xí),我們可以將代碼量縮小到以前的一小部分。很棒對(duì)吧?
有一個(gè)缺失的部分:深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)。我們稍后會(huì)更詳細(xì)地討論它們,請(qǐng)注意,深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,專注于模仿人類大腦的生物學(xué)和過程。
誰發(fā)展了機(jī)器學(xué)習(xí)?何時(shí)何地?
A breakthrough in machine learning would be worth ten Microsofts.—Bill Gates
在我看來,機(jī)器學(xué)習(xí)最早的發(fā)展是Thomas Bayes 在1783年發(fā)表的同名理論,貝斯定理發(fā)現(xiàn)了給定有關(guān)類似事件的歷史數(shù)據(jù)的事件的可能性。這是機(jī)器學(xué)習(xí)的貝葉斯分支的基礎(chǔ),它尋求根據(jù)以前的信息尋找最可能發(fā)生的事件。換句話說,Bayes定理只是一個(gè)從經(jīng)驗(yàn)中學(xué)習(xí)的數(shù)學(xué)方法,是機(jī)器學(xué)習(xí)的基本思想。
幾個(gè)世紀(jì)后,1950年,計(jì)算機(jī)科學(xué)家 Alan Turing發(fā)明了所謂的圖靈測(cè)試,計(jì)算機(jī)必須通過文字對(duì)話一個(gè)人,讓人以為她在和另一個(gè)人說話。圖靈認(rèn)為,只有通過這個(gè)測(cè)試,機(jī)器才能被認(rèn)為是“智能的”。1952年,Arthur Samuel創(chuàng)建了第一個(gè)真正的機(jī)器學(xué)習(xí)程序——一個(gè)簡(jiǎn)單的棋盤游戲,計(jì)算機(jī)能夠從以前的游戲中學(xué)習(xí)策略,并提高未來的性能。接著是Donald Michie 在1963年推出的強(qiáng)化學(xué)習(xí)的tic-tac-toe程序。在接下來的幾十年里,機(jī)器學(xué)習(xí)的進(jìn)步遵循了同樣的模式--一項(xiàng)技術(shù)突破導(dǎo)致了更新的、更復(fù)雜的計(jì)算機(jī),通常是通過與專業(yè)的人類玩家玩戰(zhàn)略游戲來測(cè)試的。
它在1997年達(dá)到巔峰,當(dāng)時(shí)IBM國(guó)際象棋電腦深藍(lán)(Deep Blue)在一場(chǎng)國(guó)際象棋比賽中擊敗了世界冠軍加里·卡斯帕羅夫(Garry Kasparov)。最近,谷歌開發(fā)了專注于古代中國(guó)棋類游戲圍棋(Go)的AlphaGo,該游戲被普遍認(rèn)為是世界上最難的游戲。盡管圍棋被認(rèn)為過于復(fù)雜,以至于一臺(tái)電腦無法掌握,但在2016年,AlphaGo終于獲得了勝利,在一場(chǎng)五局比賽中擊敗了Lee Sedol。
機(jī)器學(xué)習(xí)最大的突破是2006年的深度學(xué)習(xí)。深度學(xué)習(xí)是一類機(jī)器學(xué)習(xí),目的是模仿人腦的思維過程,經(jīng)常用于圖像和語音識(shí)別。深度學(xué)習(xí)的出現(xiàn)導(dǎo)致了我們今天使用的(可能是理所當(dāng)然的)許多技術(shù)。你有沒有把一張照片上傳到你的Facebook賬戶,只是為了暗示給照片中的人貼上標(biāo)簽?Facebook正在使用神經(jīng)網(wǎng)絡(luò)來識(shí)別照片中的面孔?;蛘逽iri呢?當(dāng)你問你的iPhone關(guān)于今天的棒球成績(jī)時(shí),你的話語會(huì)用一種復(fù)雜的語音解析算法進(jìn)行分析。如果沒有深度學(xué)習(xí),這一切都是不可能的。
機(jī)器學(xué)習(xí)是如何工作的?
注意所有對(duì)數(shù)學(xué)恐懼的讀者:我很遺憾地告訴你,要完全理解大多數(shù)機(jī)器學(xué)習(xí)算法,就需要對(duì)一些關(guān)鍵的數(shù)學(xué)概念有一個(gè)基本的理解。但不要害怕!所需的概念很簡(jiǎn)單,并且借鑒了你可能已經(jīng)上過的課程。機(jī)器學(xué)習(xí)使用線性代數(shù)、微積分、概率和統(tǒng)計(jì)。
Top 3線性代數(shù)概念:
1.矩陣運(yùn)算;
2.特征值/特征向量;
3.向量空間和范數(shù)
Top 3微積分概念:
1.偏導(dǎo)數(shù);
2.向量-值函數(shù);
3.方向梯度
Top 3統(tǒng)計(jì)概念:
1.Bayes定理;
2.組合學(xué);
3.抽樣方法
一旦你對(duì)數(shù)學(xué)有了基本的理解,就該開始思考整個(gè)機(jī)器學(xué)習(xí)過程了。有五個(gè)主要步驟:
上面的圖表以比較清楚的方式解釋了步驟,所以在我們關(guān)注最關(guān)鍵的部分:為數(shù)據(jù)和情況選擇正確的算法之前,花一分鐘的時(shí)間來研究它。
We don’t have better algorithms, we just have more data.—Peter Norvig
讓我們回顧一下算法的一些常見分組:
回歸算法
這可能是最流行的機(jī)器學(xué)習(xí)算法,線性回歸算法是基于連續(xù)變量預(yù)測(cè)特定結(jié)果的監(jiān)督學(xué)習(xí)算法。另一方面,Logistic回歸專門用來預(yù)測(cè)離散值。這兩種(以及所有其他回歸算法)都以它們的速度而聞名,它們一直是最快速的機(jī)器學(xué)習(xí)算法之一。
基于實(shí)例的算法
基于實(shí)例的分析使用提供數(shù)據(jù)的特定實(shí)例來預(yù)測(cè)結(jié)果。最著名的基于實(shí)例的算法是k-最近鄰算法,也稱為KNN。KNN用于分類,比較數(shù)據(jù)點(diǎn)的距離,并將每個(gè)點(diǎn)分配給它最接近的組。
決策樹算法
決策樹算法將一組“弱”學(xué)習(xí)器集合在一起,形成一種強(qiáng)算法,這些學(xué)習(xí)器組織在樹狀結(jié)構(gòu)中,相互分支。一種流行的決策樹算法是隨機(jī)森林算法。在該算法中,弱學(xué)習(xí)器是隨機(jī)選擇的,這往往可以獲得一個(gè)強(qiáng)預(yù)測(cè)器。在下面的例子中,我們可以發(fā)現(xiàn)許多共同的特征(就像眼睛是藍(lán)的或者不是藍(lán)色的),它們都不足以單獨(dú)識(shí)別動(dòng)物。然而,當(dāng)我們把所有這些觀察結(jié)合在一起時(shí),我們就能形成一個(gè)更完整的畫面,并做出更準(zhǔn)確的預(yù)測(cè)。
貝葉斯算法
絲毫不奇怪,這些算法都是基于Bayes理論的,最流行的算法是樸素Bayes,它經(jīng)常用于文本分析。例如,大多數(shù)垃圾郵件過濾器使用貝葉斯算法,它們使用用戶輸入的類標(biāo)記數(shù)據(jù)來比較新數(shù)據(jù)并對(duì)其進(jìn)行適當(dāng)分類。
聚類算法
聚類算法的重點(diǎn)是發(fā)現(xiàn)元素之間的共性并對(duì)它們進(jìn)行相應(yīng)的分組,常用的聚類算法是k-means聚類算法。在k-means中,分析人員選擇簇?cái)?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ò)模型并對(duì)其進(jìn)行更新。它們是大、且極其復(fù)雜的神經(jīng)網(wǎng)絡(luò),使用少量的標(biāo)記數(shù)據(jù)和更多的未標(biāo)記數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)有許多輸入,它們經(jīng)過幾個(gè)隱藏層后才產(chǎn)生一個(gè)或多個(gè)輸出。這些連接形成一個(gè)特定的循環(huán),模仿人腦處理信息和建立邏輯連接的方式。此外,隨著算法的運(yùn)行,隱藏層往往變得更小、更細(xì)微。
其他算法
下面的圖表是我發(fā)現(xiàn)的最好的圖表,它展示了主要的機(jī)器學(xué)習(xí)算法、它們的分類以及它們之間的關(guān)系。
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
一旦你選擇并運(yùn)行了你的算法,還有一個(gè)非常重要的步驟:可視化和交流結(jié)果。雖然與算法編程的細(xì)節(jié)相比,這看起來既愚蠢又膚淺,但是良好的可視化是優(yōu)秀數(shù)據(jù)科學(xué)家和偉大科學(xué)家的關(guān)鍵隔膜。如果沒有人能夠理解,那么驚人的洞察力又有什么用呢?
為什么機(jī)器學(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)該清楚的是,機(jī)器學(xué)習(xí)有巨大的潛力來改變和改善世界。通過像谷歌大腦和斯坦福機(jī)器學(xué)習(xí)小組這樣的研究團(tuán)隊(duì),我們正朝著真正的人工智能邁進(jìn)一大步。但是,確切地說,什么是機(jī)器學(xué)習(xí)能產(chǎn)生影響的下一個(gè)主要領(lǐng)域?
物聯(lián)網(wǎng)
物聯(lián)網(wǎng)(Internet of Things),或者說IOT,是指你家里和辦公室里聯(lián)網(wǎng)的物理設(shè)備。流行的物聯(lián)網(wǎng)設(shè)備是智能燈泡,其銷售額在過去幾年里猛增。隨著機(jī)器學(xué)習(xí)的進(jìn)步,物聯(lián)網(wǎng)設(shè)備比以往任何時(shí)候都更聰明、更復(fù)雜。機(jī)器學(xué)習(xí)有兩個(gè)主要的與物聯(lián)網(wǎng)相關(guān)的應(yīng)用:使你的設(shè)備變得更好和收集你的數(shù)據(jù)。讓設(shè)備變得更好是非常簡(jiǎn)單的:使用機(jī)器學(xué)習(xí)來個(gè)性化您的環(huán)境,比如,用面部識(shí)別軟件來感知哪個(gè)是房間,并相應(yīng)地調(diào)整溫度和AC。收集數(shù)據(jù)更加簡(jiǎn)單,通過在你的家中保持網(wǎng)絡(luò)連接的設(shè)備(如亞馬遜回聲)的通電和監(jiān)聽,像Amazon這樣的公司收集關(guān)鍵的人口統(tǒng)計(jì)信息,將其傳遞給廣告商,比如電視顯示你正在觀看的節(jié)目、你什么時(shí)候醒來或睡覺、有多少人住在你家。
聊天機(jī)器人
在過去的幾年里,我們看到了聊天機(jī)器人的激增,成熟的語言處理算法每天都在改進(jìn)它們。聊天機(jī)器人被公司用在他們自己的移動(dòng)應(yīng)用程序和第三方應(yīng)用上,比如Slack,以提供比傳統(tǒng)的(人類)代表更快、更高效的虛擬客戶服務(wù)。
自動(dòng)駕駛
我個(gè)人最喜歡的下一個(gè)大型機(jī)器學(xué)習(xí)項(xiàng)目是最遠(yuǎn)離廣泛生產(chǎn)的項(xiàng)目之一。然而,目前有幾家大型公司正在開發(fā)無人駕駛汽車,如雪佛蘭、Uber和Tsla。這些汽車使用了通過機(jī)器學(xué)習(xí)實(shí)現(xiàn)導(dǎo)航、維護(hù)和安全程序的技術(shù)。一個(gè)例子是交通標(biāo)志傳感器,它使用監(jiān)督學(xué)習(xí)算法來識(shí)別和解析交通標(biāo)志,并將它們與一組標(biāo)有標(biāo)記的標(biāo)準(zhǔn)標(biāo)志進(jìn)行比較。這樣,汽車就能看到停車標(biāo)志,并認(rèn)識(shí)到它實(shí)際上意味著停車,而不是轉(zhuǎn)彎,單向或人行橫道。
這就是我們進(jìn)入機(jī)器學(xué)習(xí)世界的非常短暫的旅程。感謝觀看。
圖解十大經(jīng)典機(jī)器學(xué)習(xí)算法入門
弱人工智能近幾年取得了重大突破,悄然間,已經(jīng)成為每個(gè)人生活中必不可少的一部分。以我們的智能手機(jī)為例,看看到底溫藏著多少人工智能的神奇魔術(shù)。
下圖是一部典型的智能手機(jī)上安裝的一些常見應(yīng)用程序,可能很多人都猜不到,人工智能技術(shù)已經(jīng)是手機(jī)上很多應(yīng)用程序的核心驅(qū)動(dòng)力。
圖1 智能手機(jī)上的相關(guān)應(yīng)用
傳統(tǒng)的機(jī)器學(xué)習(xí)算法包括決策樹、聚類、貝葉斯分類、支持向量機(jī)、EM、Adaboost等等。這篇文章將對(duì)常用算法做常識(shí)性的介紹,沒有代碼,也沒有復(fù)雜的理論推導(dǎo),就是圖解一下,知道這些算法是什么,它們是怎么應(yīng)用的。
決策樹
根據(jù)一些 feature(特征) 進(jìn)行分類,每個(gè)節(jié)點(diǎn)提一個(gè)問題,通過判斷,將數(shù)據(jù)分為兩類,再繼續(xù)提問。這些問題是根據(jù)已有數(shù)據(jù)學(xué)習(xí)出來的,再投入新數(shù)據(jù)的時(shí)候,就可以根據(jù)這棵樹上的問題,將數(shù)據(jù)劃分到合適的葉子上。
圖2 決策樹原理示意圖
隨機(jī)森林
在源數(shù)據(jù)中隨機(jī)選取數(shù)據(jù),組成幾個(gè)子集:
圖3-1 隨機(jī)森林原理示意圖
S矩陣是源數(shù)據(jù),有1-N條數(shù)據(jù),A、B、C 是feature,最后一列C是類別:
由S隨機(jī)生成M個(gè)子矩陣:
這M個(gè)子集得到 M 個(gè)決策樹:將新數(shù)據(jù)投入到這M個(gè)樹中,得到M個(gè)分類結(jié)果,計(jì)數(shù)看預(yù)測(cè)成哪一類的數(shù)目最多,就將此類別作為最后的預(yù)測(cè)結(jié)果。
圖3-2 隨機(jī)森林效果展示圖
邏輯回歸
當(dāng)預(yù)測(cè)目標(biāo)是概率這樣的,值域需要滿足大于等于0,小于等于1的,這個(gè)時(shí)候單純的線性模型是做不到的,因?yàn)樵诙x域不在某個(gè)范圍之內(nèi)時(shí),值域也超出了規(guī)定區(qū)間。
圖4-1 線性模型圖
所以此時(shí)需要這樣的形狀的模型會(huì)比較好:
圖4-2
那么怎么得到這樣的模型呢?
這個(gè)模型需要滿足兩個(gè)條件 “大于等于0”,“小于等于1” 。大于等于0 的模型可以選擇絕對(duì)值,平方值,這里用指數(shù)函數(shù),一定大于0;小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了。
圖4-3
再做一下變形,就得到了 logistic regressions 模型:
圖4-4
通過源數(shù)據(jù)計(jì)算可以得到相應(yīng)的系數(shù)了:
圖4-5
圖4-6 LR模型曲線圖
支持向量機(jī)
要將兩類分開,想要得到一個(gè)超平面,最優(yōu)的超平面是到兩類的 margin 達(dá)到最大,margin就是超平面與離它最近一點(diǎn)的距離,如下圖,Z2>Z1,所以綠色的超平面比較好。
圖5 分類問題示意圖
將這個(gè)超平面表示成一個(gè)線性方程,在線上方的一類,都大于等于1,另一類小于等于-1:
點(diǎn)到面的距離根據(jù)圖中的公式計(jì)算:
所以得到total margin的表達(dá)式如下,目標(biāo)是最大化這個(gè)margin,就需要最小化分母,于是變成了一個(gè)優(yōu)化問題:
舉個(gè)例子,三個(gè)點(diǎn),找到最優(yōu)的超平面,定義了 weight vector=(2,3)-(1,1):
得到weight vector為(a,2a),將兩個(gè)點(diǎn)代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,進(jìn)而得到超平面的表達(dá)式。
a求出來后,代入(a,2a)得到的就是support vector,a和w0代入超平面的方程就是support vector machine。
樸素貝葉斯
舉個(gè)在 NLP 的應(yīng)用:給一段文字,返回情感分類,這段文字的態(tài)度是positive,還是negative:
圖6-1 問題案例
為了解決這個(gè)問題,可以只看其中的一些單詞:
這段文字,將僅由一些單詞和它們的計(jì)數(shù)代表:
原始問題是:給你一句話,它屬于哪一類 ?通過bayes rules變成一個(gè)比較簡(jiǎn)單容易求得的問題:
問題變成,這一類中這句話出現(xiàn)的概率是多少,當(dāng)然,別忘了公式里的另外兩個(gè)概率。例子:?jiǎn)卧~“l(fā)ove”在positive的情況下出現(xiàn)的概率是 0.1,在negative的情況下出現(xiàn)的概率是0.001。
圖6-2 NB算法結(jié)果展示圖
K近鄰算法
給一個(gè)新的數(shù)據(jù)時(shí),離它最近的 k 個(gè)點(diǎn)中,哪個(gè)類別多,這個(gè)數(shù)據(jù)就屬于哪一類。
例子:要區(qū)分“貓”和“狗”,通過“claws”和“sound”兩個(gè)feature來判斷的話,圓形和三角形是已知分類的了,那么這個(gè)“star”代表的是哪一類呢?
圖7-1 問題案例
k=3時(shí),這三條線鏈接的點(diǎn)就是最近的三個(gè)點(diǎn),那么圓形多一些,所以這個(gè)star就是屬于貓。
圖7-2 算法步驟展示圖
K均值算法
先要將一組數(shù)據(jù),分為三類,粉色數(shù)值大,黃色數(shù)值小 。最開始先初始化,這里面選了最簡(jiǎn)單的 3,2,1 作為各類的初始值 。剩下的數(shù)據(jù)里,每個(gè)都與三個(gè)初始值計(jì)算距離,然后歸類到離它最近的初始值所在類別。
圖8-1 問題案例
分好類后,計(jì)算每一類的平均值,作為新一輪的中心點(diǎn):
圖8-2
幾輪之后,分組不再變化了,就可以停止了:
圖8-3 算法結(jié)果展示
Adaboost
Adaboost 是 Boosting 的方法之一。Boosting就是把若干個(gè)分類效果并不好的分類器綜合起來考慮,會(huì)得到一個(gè)效果比較好的分類器。
下圖,左右兩個(gè)決策樹,單個(gè)看是效果不怎么好的,但是把同樣的數(shù)據(jù)投入進(jìn)去,把兩個(gè)結(jié)果加起來考慮,就會(huì)增加可信度。
圖9-1 算法原理展示
Adaboost 的例子,手寫識(shí)別中,在畫板上可以抓取到很多features(特征),例如始點(diǎn)的方向,始點(diǎn)和終點(diǎn)的距離等等。
圖9-2
training的時(shí)候,會(huì)得到每個(gè)feature的weight(權(quán)重),例如2和3的開頭部分很像,這個(gè)feature對(duì)分類起到的作用很小,它的權(quán)重也就會(huì)較小。
圖9-3
而這個(gè)alpha角就具有很強(qiáng)的識(shí)別性,這個(gè)feature的權(quán)重就會(huì)較大,最后的預(yù)測(cè)結(jié)果是綜合考慮這些feature的結(jié)果。
圖9-4
神經(jīng)網(wǎng)絡(luò)
Neural Networks適合一個(gè)input可能落入至少兩個(gè)類別里:NN由若干層神經(jīng)元,和它們之間的聯(lián)系組成。 第一層是input層,最后一層是output層。在hidden層和output層都有自己的classifier。
圖10-1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
input輸入到網(wǎng)絡(luò)中,被激活,計(jì)算的分?jǐn)?shù)被傳遞到下一層,激活后面的神經(jīng)層,最后output層的節(jié)點(diǎn)上的分?jǐn)?shù)代表屬于各類的分?jǐn)?shù),下圖例子得到分類結(jié)果為class 1;同樣的input被傳輸?shù)讲煌墓?jié)點(diǎn)上,之所以會(huì)得到不同的結(jié)果是因?yàn)楦髯怨?jié)點(diǎn)有不同的weights 和bias,這也就是forward propagation。
圖10-2 算法結(jié)果展示
馬爾科夫
Markov Chains由state(狀態(tài))和transitions(轉(zhuǎn)移)組成。例子,根據(jù)這一句話 ‘the quick brown fox jumps over the lazy dog’,要得到markov chains。
步驟,先給每一個(gè)單詞設(shè)定成一個(gè)狀態(tài),然后計(jì)算狀態(tài)間轉(zhuǎn)換的概率。
圖11-1 馬爾科夫原理圖
這是一句話計(jì)算出來的概率,當(dāng)你用大量文本去做統(tǒng)計(jì)的時(shí)候,會(huì)得到更大的狀態(tài)轉(zhuǎn)移矩陣,例如the后面可以連接的單詞,及相應(yīng)的概率。
圖11-2 算法結(jié)果展示
上述十大類機(jī)器學(xué)習(xí)算法是人工智能發(fā)展的踐行者,即使在當(dāng)下,依然在數(shù)據(jù)挖掘以及小樣本的人工智能問題中被廣泛使用。