- 圖解機(jī)器學(xué)習(xí)算法
- (日)秋庭伸也 杉山阿圣 寺田學(xué)
- 2578字
- 2022-01-10 14:57:46
1.1 機(jī)器學(xué)習(xí)概要
什么是機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)指的是計算機(jī)根據(jù)給定的問題、課題或環(huán)境進(jìn)行學(xué)習(xí),并利用學(xué)習(xí)結(jié)果解決問題或課題等的一整套機(jī)制(圖 1-1)。

▲圖 1-1 分類的示意圖
與機(jī)器學(xué)習(xí)共同成為熱門話題的還有人工智能和深度學(xué)習(xí)。這里梳理一下它們之間的關(guān)系(圖 1-2)。人工智能的含義很廣泛,是一個綜合性系統(tǒng)。機(jī)器學(xué)習(xí)是實現(xiàn)人工智能的一種方法。也就是說,機(jī)器學(xué)習(xí)并非實現(xiàn)人工智能的唯一方法,但是近年來人工智能的研究一般使用機(jī)器學(xué)習(xí)。實現(xiàn)人工智能的方法還有很多,比如根據(jù)事先定好的規(guī)則進(jìn)行數(shù)理統(tǒng)計預(yù)測等方法。

▲圖 1-2 機(jī)器學(xué)習(xí)的包含關(guān)系
近年來,一種被稱為深度學(xué)習(xí)的機(jī)器學(xué)習(xí)算法備受關(guān)注,以至于出現(xiàn)了這樣的誤解:提起人工智能,人們想到的就是深度學(xué)習(xí)。然而,深度學(xué)習(xí)只不過是機(jī)器學(xué)習(xí)算法的其中一種而已。深度學(xué)習(xí)在圖像識別領(lǐng)域取得了劃時代的成果,是當(dāng)前熱門的算法。目前在圖像識別領(lǐng)域之外,深度學(xué)習(xí)也取得了許多成績。
在進(jìn)行機(jī)器學(xué)習(xí)時會用到各種各樣的算法,需要根據(jù)機(jī)器學(xué)習(xí)對象的不同進(jìn)行選擇。本書的目標(biāo)就是幫助讀者學(xué)會選擇合適的算法。在理解了各算法的特性后,讀者就能實際處理機(jī)器學(xué)習(xí)問題了。
機(jī)器學(xué)習(xí)的種類
機(jī)器學(xué)習(xí)包含不同的種類。根據(jù)不同的輸入數(shù)據(jù),分類如下。
- 有監(jiān)督學(xué)習(xí)
- 無監(jiān)督學(xué)習(xí)
- 強(qiáng)化學(xué)習(xí)
下面我們依次詳細(xì)地看一下。
有監(jiān)督學(xué)習(xí)
有監(jiān)督學(xué)習(xí)是將問題的答案告知計算機(jī),使計算機(jī)進(jìn)行學(xué)習(xí)并給出機(jī)器學(xué)習(xí)模型的方法。這種方法要求數(shù)據(jù)中包含表示特征的數(shù)據(jù)和作為答案的目標(biāo)數(shù)據(jù)。
如圖 1-3 所示,已有表示特征的身高和體重數(shù)據(jù),作為答案的數(shù)據(jù)是性別(男 / 女)。我們向計算機(jī)提供這些數(shù)據(jù)的組合,使計算機(jī)進(jìn)行學(xué)習(xí)并給出預(yù)測模型。然后,將新的身高和體重數(shù)據(jù)提供給模型,由模型預(yù)測出性別。

▲圖 1-3 有監(jiān)督分類的示意圖
預(yù)測性別這樣的類別的問題叫作分類問題。由于這次是將數(shù)據(jù)分類到兩個類別中,所以叫二元分類;還有將數(shù)據(jù)分類到更多類別,比如 10 個類別的情況,這樣的情況叫作多元分類。這種答案變量不是連續(xù)值,而是作為類別數(shù)據(jù)的離散值的問題就是分類問題(圖 1-4)。

▲圖 1-4 有監(jiān)督學(xué)習(xí)的分類和回歸的關(guān)系
此外,表示特征的數(shù)據(jù)叫作特征值或者特征變量,作為答案的數(shù)據(jù)叫作目標(biāo)變量或者標(biāo)簽。
我們身邊的一個分類問題的例子就是垃圾郵件過濾。用戶判斷郵件是否為垃圾郵件的過程就是打標(biāo)簽的過程,標(biāo)簽數(shù)據(jù)就是目標(biāo)變量,郵件的發(fā)件人和內(nèi)容則為特征值。打了標(biāo)簽的數(shù)據(jù)越多,機(jī)器學(xué)習(xí)的效果就越好,得到的結(jié)果的精度越高。
除了分類問題之外,有監(jiān)督學(xué)習(xí)還包括回歸問題。如圖 1-5 所示,已有表示特征的性別和身高數(shù)據(jù),以及答案數(shù)據(jù)——鞋的尺碼。在分類問題中,男和女的標(biāo)簽分別被數(shù)值化為 0 和 1,這兩個數(shù)值之間的大小關(guān)系是沒有意義的。與之相對,鞋的尺碼 26.5 cm 和 24 cm 之間的大小關(guān)系則是有意義的。對這樣的數(shù)據(jù)進(jìn)行預(yù)測的問題就是回歸問題。在回歸問題中,目標(biāo)變量是作為連續(xù)值處理的,所以預(yù)測值有可能是 23.7 cm 這種不存在的尺碼。

▲圖 1-5 回歸問題的示意圖
第 2 章將詳細(xì)介紹如表 1-1 所示的有監(jiān)督學(xué)習(xí)的算法。
▼表 1-1 有監(jiān)督學(xué)習(xí)算法與分類和回歸的應(yīng)用范圍

無監(jiān)督學(xué)習(xí)
有監(jiān)督學(xué)習(xí)是將特征值和目標(biāo)變量(答案)作為一套數(shù)據(jù)進(jìn)行學(xué)習(xí)的方法,而無監(jiān)督學(xué)習(xí)的數(shù)據(jù)中沒有作為答案的目標(biāo)變量。
有人可能會產(chǎn)生疑問:沒有答案,該如何去學(xué)習(xí)呢?無監(jiān)督學(xué)習(xí)將表示特征的數(shù)據(jù)作為輸入,通過將數(shù)據(jù)變形為其他形式或者找出數(shù)據(jù)中的部分集合,來理解輸入數(shù)據(jù)的構(gòu)造。此外,與有監(jiān)督學(xué)習(xí)相比,無監(jiān)督學(xué)習(xí)的結(jié)果難以解釋,或者要求分析者基于經(jīng)驗加以主觀的解釋。有監(jiān)督學(xué)習(xí)以“能否正確預(yù)測目標(biāo)變量”為指標(biāo),相比之下,為了能夠?qū)Y(jié)果進(jìn)行解釋,在進(jìn)行無監(jiān)督學(xué)習(xí)時,用戶需要對輸入數(shù)據(jù)的前提知識有一定程度的了解。
這里舉一個無監(jiān)督學(xué)習(xí)的例子。我們思考一下對某個中學(xué)的學(xué)生成績進(jìn)行分析的場景。假設(shè)各科目之間存在著這樣的關(guān)聯(lián)性:擅長數(shù)學(xué)的學(xué)生也擅長理科,但不擅長語文和文科。
對于這樣的輸入數(shù)據(jù),在使用無監(jiān)督學(xué)習(xí)的代表性算法主成分分析(Principal Component Analysis,PCA)時,我們引入了新的軸,以說明被稱為第一主成分的數(shù)據(jù)(關(guān)于 PCA,詳見 3.1 節(jié))。在第一主成分上的坐標(biāo)可以解釋為“小值表明該生擅長理科,大值表明該生擅長文科”,如表 1-2 所示,可以將數(shù)學(xué)、理科、語文、文科這 4 個特征值歸納在 1 個軸上加以展示。
▼表 1-2 PCA 的例子

這個例子使用 PCA 通俗易懂地解釋了分析結(jié)果,但是需要根據(jù)輸入數(shù)據(jù)選擇合適的算法。近年來,無監(jiān)督學(xué)習(xí)的研究在圖像和自然語言處理方面取得了進(jìn)展,是當(dāng)前備受矚目的領(lǐng)域(圖 1-6)。這里介紹的 PCA 屬于降維算法。降維是以更少的特征值來理解數(shù)據(jù)的算法。無監(jiān)督學(xué)習(xí)中也包括聚類算法。聚類是將數(shù)據(jù)分類為幾個簇(相似數(shù)據(jù)的集合)的算法。人類很難直接理解多變量數(shù)據(jù)(由 3 個以上的變量構(gòu)成的數(shù)據(jù)),通過聚類,數(shù)據(jù)能夠以簇這種簡單的形式進(jìn)行展現(xiàn)。

▲圖 1-6 無監(jiān)督學(xué)習(xí)的降維和聚類的關(guān)系
第 3 章將詳細(xì)介紹如表 1-3 所示的無監(jiān)督學(xué)習(xí)的算法。通過表 1-3,還可以了解每個算法適合的任務(wù)。
▼表 1-3 無監(jiān)督學(xué)習(xí)與降維和聚類的應(yīng)用范圍

強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)是以在某個環(huán)境下行動的智能體獲得的獎勵最大化為目標(biāo)而進(jìn)行學(xué)習(xí)的方法。本書未涉及強(qiáng)化學(xué)習(xí)。
這里簡單地介紹一下強(qiáng)化學(xué)習(xí)。在主機(jī)游戲(環(huán)境)中,玩家(智能體)為了獲得賽點(獎勵)并取得最終的勝利,會無數(shù)次地重復(fù)嘗試。我們也可以把強(qiáng)化學(xué)習(xí)看作有監(jiān)督學(xué)習(xí)的目標(biāo)變量被作為獎勵提供的情況。拿主機(jī)游戲的例子來說,由于全部場景下所有操作的組合實在太多,很難通過人力進(jìn)行評估,所以可以將游戲的場景和操作作為特征值,將游戲賽點作為目標(biāo)變量,玩家無須依賴人力,通過無數(shù)次的游戲即可自行收集特征值和目標(biāo)變量的數(shù)據(jù)組。強(qiáng)化學(xué)習(xí)在重復(fù)地玩游戲、查看結(jié)果中不斷學(xué)習(xí)更恰當(dāng)?shù)男袆印?/p>
機(jī)器學(xué)習(xí)的應(yīng)用
機(jī)器學(xué)習(xí)在各領(lǐng)域的應(yīng)用都取得了較大進(jìn)展,比如自動駕駛領(lǐng)域的研究就很有名。在文章的自動分類和自動翻譯方面,機(jī)器學(xué)習(xí)成果頗豐。在醫(yī)療領(lǐng)域,機(jī)器學(xué)習(xí)對 X 射線影像的分析有助于疾病的早期發(fā)現(xiàn)。此外,很早之前人們就將機(jī)器學(xué)習(xí)應(yīng)用在氣象信息領(lǐng)域了。
近年來,隨著計算機(jī)越來越便宜,數(shù)量越來越多,機(jī)器學(xué)習(xí)的研究也在不斷加速。互聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)達(dá)和物聯(lián)網(wǎng)(Internet of Things,IoT)等技術(shù)的應(yīng)用也為機(jī)器學(xué)習(xí)帶來了豐富的數(shù)據(jù)。
根據(jù)數(shù)據(jù)的特性選擇合適的算法,就會有前所未有的發(fā)現(xiàn),這是機(jī)器學(xué)習(xí)領(lǐng)域有意思的地方。從下一節(jié)開始,我們將學(xué)習(xí)具體的機(jī)器學(xué)習(xí)步驟,目標(biāo)是達(dá)到能對實際的數(shù)據(jù)應(yīng)用機(jī)器學(xué)習(xí)的水平。
- Hands-On Machine Learning with Microsoft Excel 2019
- Learning Spring Boot
- Redis應(yīng)用實例
- MySQL基礎(chǔ)教程
- PySpark大數(shù)據(jù)分析與應(yīng)用
- 數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)
- 數(shù)據(jù)架構(gòu)與商業(yè)智能
- Spark大數(shù)據(jù)分析實戰(zhàn)
- Solaris操作系統(tǒng)原理實驗教程
- 計算機(jī)視覺
- Mastering ROS for Robotics Programming(Second Edition)
- Visual Studio 2012 and .NET 4.5 Expert Development Cookbook
- 數(shù)字化轉(zhuǎn)型方法論:落地路徑與數(shù)據(jù)中臺
- 社交網(wǎng)站的數(shù)據(jù)挖掘與分析(原書第2版)
- Hands-On Big Data Analytics with PySpark