推薦機(jī)器學(xué)習(xí)網(wǎng)站:https://easyai.tech/ai-definition/machine-learning/
引言:機(jī)器學(xué)習(xí)、人工智能、深度學(xué)習(xí)是什么關(guān)系?
1956 年提出 AI 概念,短短3年后(1959)Arthur Samuel就提出了機(jī)器學(xué)習(xí)的概念:Field of study that gives computers the ability to learn without being explicitly programmed.機(jī)器學(xué)習(xí)研究和構(gòu)建的是一種特殊算法(而非某一個特定的算法),能夠讓計算機(jī)自己在數(shù)據(jù)中學(xué)習(xí)從而進(jìn)行預(yù)測。所以,機(jī)器學(xué)習(xí)不是某種具體的算法,而是很多算法的統(tǒng)稱。
機(jī)器學(xué)習(xí)包含了很多種不同的算法,深度學(xué)習(xí)就是其中之一,其他方法包括決策樹,聚類,貝葉斯等。深度學(xué)習(xí)的靈感來自大腦的結(jié)構(gòu)和功能,即許多神經(jīng)元的互連。人工神經(jīng)網(wǎng)絡(luò)(ANN)是模擬大腦生物結(jié)構(gòu)的算法。不管是機(jī)器學(xué)習(xí)還是深度學(xué)習(xí),都屬于人工智能(AI)的范疇。所以人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)可以用下面的圖來表示:

一、什么是機(jī)器學(xué)習(xí)?
在解釋機(jī)器學(xué)習(xí)的原理之前,先把最精髓的基本思路介紹給大家,理解了機(jī)器學(xué)習(xí)最本質(zhì)的東西,就能更好的利用機(jī)器學(xué)習(xí),同時這個解決問題的思維還可以用到工作和生活中。
1. 機(jī)器學(xué)習(xí)的基本思路
1). 把現(xiàn)實生活中的問題抽象成數(shù)學(xué)模型,并且很清楚模型中不同參數(shù)的作用
2). 利用數(shù)學(xué)方法對這個數(shù)學(xué)模型進(jìn)行求解,從而解決現(xiàn)實生活中的問題
3). 評估這個數(shù)學(xué)模型,是否真正的解決了現(xiàn)實生活中的問題,解決的如何?
無論使用什么算法,使用什么樣的數(shù)據(jù),最根本的思路都逃不出上面的3步!

當(dāng)我們理解了這個基本思路,我們就能發(fā)現(xiàn):
不是所有問題都可以轉(zhuǎn)換成數(shù)學(xué)問題的。那些沒有辦法轉(zhuǎn)換的現(xiàn)實問題 AI 就沒有辦法解決。同時最難的部分也就是把現(xiàn)實問題轉(zhuǎn)換為數(shù)學(xué)問題這一步。
2. 機(jī)器學(xué)習(xí)的原理
下面以監(jiān)督學(xué)習(xí)為例,給大家講解一下機(jī)器學(xué)習(xí)的實現(xiàn)原理。
假如我們正在教小朋友識字(一、二、三)。我們首先會拿出3張卡片,然后便讓小朋友看卡片,一邊說“一條橫線的是一、兩條橫線的是二、三條橫線的是三”。

不斷重復(fù)上面的過程,小朋友的大腦就在不停的學(xué)習(xí)。

當(dāng)重復(fù)的次數(shù)足夠多時,小朋友就學(xué)會了一個新技能——認(rèn)識漢字:一、二、三。

我們用上面人類的學(xué)習(xí)過程來類比機(jī)器學(xué)習(xí)。機(jī)器學(xué)習(xí)跟上面提到的人類學(xué)習(xí)過程很相似。
1)上面提到的認(rèn)字的卡片在機(jī)器學(xué)習(xí)中叫——訓(xùn)練集
2)上面提到的“一條橫線,兩條橫線”這種區(qū)分不同漢字的屬性叫——特征
3)小朋友不斷學(xué)習(xí)的過程叫——建模
4)學(xué)會了識字后總結(jié)出來的規(guī)律叫——模型
通過訓(xùn)練集,不斷識別特征,不斷建模,最后形成有效的模型,這個過程就叫“機(jī)器學(xué)習(xí)”!

3. 監(jiān)督學(xué)習(xí)、非監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)
機(jī)器學(xué)習(xí)根據(jù)訓(xùn)練方法大致可以分為3大類:
1)監(jiān)督學(xué)習(xí)
2)非監(jiān)督學(xué)習(xí)
3)強(qiáng)化學(xué)習(xí)
除此之外,大家可能還聽過“半監(jiān)督學(xué)習(xí)”之類的說法,但是那些都是基于上面3類的變種,本質(zhì)沒有改變。
3.1 監(jiān)督學(xué)習(xí)
監(jiān)督學(xué)習(xí)是指我們給算法一個數(shù)據(jù)集,并且給定正確答案。機(jī)器通過數(shù)據(jù)來學(xué)習(xí)正確答案的計算方法。
舉個栗子:
我們準(zhǔn)備了一大堆貓和狗的照片,我們想讓機(jī)器學(xué)會如何識別貓和狗。當(dāng)我們使用監(jiān)督學(xué)習(xí)的時候,我們需要給這些照片打上標(biāo)簽。

我們給照片打的標(biāo)簽就是“正確答案”,機(jī)器通過大量學(xué)習(xí),就可以學(xué)會在新照片中認(rèn)出貓和狗。

這種通過大量人工打標(biāo)簽來幫助機(jī)器學(xué)習(xí)的方式就是監(jiān)督學(xué)習(xí)。這種學(xué)習(xí)方式效果非常好,但是成本也非常高。
3.2 非監(jiān)督學(xué)習(xí)
非監(jiān)督學(xué)習(xí)中,給定的數(shù)據(jù)集沒有“正確答案”,所有的數(shù)據(jù)都是一樣的。無監(jiān)督學(xué)習(xí)的任務(wù)是從給定的數(shù)據(jù)集中,挖掘出潛在的結(jié)構(gòu)。
舉個栗子:
我們把一堆貓和狗的照片給機(jī)器,不給這些照片打任何標(biāo)簽,但是我們希望機(jī)器能夠?qū)⑦@些照片分分類。

通過學(xué)習(xí),機(jī)器會把這些照片分為2類,一類都是貓的照片,一類都是狗的照片。雖然跟上面的監(jiān)督學(xué)習(xí)看上去結(jié)果差不多,但是有著本質(zhì)的差別:
非監(jiān)督學(xué)習(xí)中,雖然照片分為了貓和狗,但是機(jī)器并不知道哪個是貓,哪個是狗。對于機(jī)器來說,相當(dāng)于分成了 A、B 兩類。

3.3 強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)更接近生物學(xué)習(xí)的本質(zhì),因此有望獲得更高的智能。它關(guān)注的是智能體如何在環(huán)境中采取一系列行為,從而獲得最大的累積回報。通過強(qiáng)化學(xué)習(xí),一個智能體應(yīng)該知道在什么狀態(tài)下應(yīng)該采取什么行為。
最典型的場景就是打游戲。
二、 機(jī)器學(xué)習(xí)實操的7個步驟
通過上面的內(nèi)容,我們對機(jī)器學(xué)習(xí)已經(jīng)有一些模糊的概念了,這個時候肯定會特別好奇:到底怎么使用機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)在實際操作層面一共分為7步:
1)收集數(shù)據(jù)
2)數(shù)據(jù)準(zhǔn)備
3)選擇一個模型
4)訓(xùn)練
5)評估
6)參數(shù)調(diào)整
7)預(yù)測(開始使用)

假設(shè)我們的任務(wù)是通過酒精度和顏色來區(qū)分紅酒和啤酒,下面詳細(xì)介紹一下機(jī)器學(xué)習(xí)中每一個步驟是如何工作的。

步驟1:收集數(shù)據(jù)
我們在超市買來一堆不同種類的啤酒和紅酒,然后再買來測量顏色的光譜儀和用于測量酒精度的設(shè)備。
這個時候,我們把買來的所有酒都標(biāo)記出他的顏色和酒精度,會形成下面這張表格。
顏色酒精度種類
6105啤酒
59913紅酒
69314紅酒
………
這一步非常重要,因為數(shù)據(jù)的數(shù)量和質(zhì)量直接決定了預(yù)測模型的好壞。
步驟2:數(shù)據(jù)準(zhǔn)備
在這個例子中,我們的數(shù)據(jù)是很工整的,但是在實際情況中,我們收集到的數(shù)據(jù)會有很多問題,所以會涉及到數(shù)據(jù)清洗等工作。
當(dāng)數(shù)據(jù)本身沒有什么問題后,我們將數(shù)據(jù)分成3個部分:訓(xùn)練集(60%)、驗證集(20%)、測試集(20%),用于后面的驗證和評估工作。

步驟3:選擇一個模型
研究人員和數(shù)據(jù)科學(xué)家多年來創(chuàng)造了許多模型。有些非常適合圖像數(shù)據(jù),有些非常適合于序列(如文本或音樂),有些用于數(shù)字?jǐn)?shù)據(jù),有些用于基于文本的數(shù)據(jù)。在我們的例子中,由于我們只有2個特征,顏色和酒精度,我們可以使用一個小的線性模型,這是一個相當(dāng)簡單的模型。
步驟4:訓(xùn)練
大部分人都認(rèn)為這個是最重要的部分,其實并非如此~ 數(shù)據(jù)數(shù)量和質(zhì)量、還有模型的選擇比訓(xùn)練本身重要更多(訓(xùn)練知識臺上的3分鐘,更重要的是臺下的10年功)。這個過程就不需要人來參與的,機(jī)器獨(dú)立就可以完成,整個過程就好像是在做算術(shù)題。因為機(jī)器學(xué)習(xí)的本質(zhì)就是將問題轉(zhuǎn)化為數(shù)學(xué)問題,然后解答數(shù)學(xué)題的過程。
步驟5:評估
一旦訓(xùn)練完成,就可以評估模型是否有用。這是我們之前預(yù)留的驗證集和測試集發(fā)揮作用的地方。評估的指標(biāo)主要有 準(zhǔn)確率、召回率、F值。這個過程可以讓我們看到模型如何對尚未看到的數(shù)是如何做預(yù)測的。這意味著代表模型在現(xiàn)實世界中的表現(xiàn)。
步驟6:參數(shù)調(diào)整
完成評估后,您可能希望了解是否可以以任何方式進(jìn)一步改進(jìn)訓(xùn)練。我們可以通過調(diào)整參數(shù)來做到這一點(diǎn)。當(dāng)我們進(jìn)行訓(xùn)練時,我們隱含地假設(shè)了一些參數(shù),我們可以通過認(rèn)為的調(diào)整這些參數(shù)讓模型表現(xiàn)的更出色。
步驟7:預(yù)測
我們上面的6個步驟都是為了這一步來服務(wù)的。這也是機(jī)器學(xué)習(xí)的價值。這個時候,當(dāng)我們買來一瓶新的酒,只要告訴機(jī)器他的顏色和酒精度,他就會告訴你,這時啤酒還是紅酒了。
轉(zhuǎn)自:https://easyai.tech/ai-definition/machine-learning/