官术网_书友最值得收藏!

1.1 機器學習概要

什么是機器學習

機器學習指的是計算機根據給定的問題、課題或環境進行學習,并利用學習結果解決問題或課題等的一整套機制(圖 1-1)。

▲圖 1-1 分類的示意圖

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

▲圖 1-2 機器學習的包含關系

近年來,一種被稱為深度學習的機器學習算法備受關注,以至于出現了這樣的誤解:提起人工智能,人們想到的就是深度學習。然而,深度學習只不過是機器學習算法的其中一種而已。深度學習在圖像識別領域取得了劃時代的成果,是當前熱門的算法。目前在圖像識別領域之外,深度學習也取得了許多成績。

在進行機器學習時會用到各種各樣的算法,需要根據機器學習對象的不同進行選擇。本書的目標就是幫助讀者學會選擇合適的算法。在理解了各算法的特性后,讀者就能實際處理機器學習問題了。

機器學習的種類

機器學習包含不同的種類。根據不同的輸入數據,分類如下。

  • 有監督學習
  • 無監督學習
  • 強化學習

下面我們依次詳細地看一下。

有監督學習

有監督學習是將問題的答案告知計算機,使計算機進行學習并給出機器學習模型的方法。這種方法要求數據中包含表示特征的數據和作為答案的目標數據。

如圖 1-3 所示,已有表示特征的身高和體重數據,作為答案的數據是性別(男 / 女)。我們向計算機提供這些數據的組合,使計算機進行學習并給出預測模型。然后,將新的身高和體重數據提供給模型,由模型預測出性別。

▲圖 1-3 有監督分類的示意圖

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

▲圖 1-4 有監督學習的分類和回歸的關系

此外,表示特征的數據叫作特征值或者特征變量,作為答案的數據叫作目標變量或者標簽

我們身邊的一個分類問題的例子就是垃圾郵件過濾。用戶判斷郵件是否為垃圾郵件的過程就是打標簽的過程,標簽數據就是目標變量,郵件的發件人和內容則為特征值。打了標簽的數據越多,機器學習的效果就越好,得到的結果的精度越高。

除了分類問題之外,有監督學習還包括回歸問題。如圖 1-5 所示,已有表示特征的性別和身高數據,以及答案數據——鞋的尺碼。在分類問題中,男和女的標簽分別被數值化為 0 和 1,這兩個數值之間的大小關系是沒有意義的。與之相對,鞋的尺碼 26.5 cm 和 24 cm 之間的大小關系則是有意義的。對這樣的數據進行預測的問題就是回歸問題。在回歸問題中,目標變量是作為連續值處理的,所以預測值有可能是 23.7 cm 這種不存在的尺碼。

▲圖 1-5 回歸問題的示意圖

第 2 章將詳細介紹如表 1-1 所示的有監督學習的算法。

▼表 1-1 有監督學習算法與分類和回歸的應用范圍

無監督學習

有監督學習是將特征值和目標變量(答案)作為一套數據進行學習的方法,而無監督學習的數據中沒有作為答案的目標變量。

有人可能會產生疑問:沒有答案,該如何去學習呢?無監督學習將表示特征的數據作為輸入,通過將數據變形為其他形式或者找出數據中的部分集合,來理解輸入數據的構造。此外,與有監督學習相比,無監督學習的結果難以解釋,或者要求分析者基于經驗加以主觀的解釋。有監督學習以“能否正確預測目標變量”為指標,相比之下,為了能夠對結果進行解釋,在進行無監督學習時,用戶需要對輸入數據的前提知識有一定程度的了解。

這里舉一個無監督學習的例子。我們思考一下對某個中學的學生成績進行分析的場景。假設各科目之間存在著這樣的關聯性:擅長數學的學生也擅長理科,但不擅長語文和文科。

對于這樣的輸入數據,在使用無監督學習的代表性算法主成分分析(Principal Component Analysis,PCA)時,我們引入了新的軸,以說明被稱為第一主成分的數據(關于 PCA,詳見 3.1 節)。在第一主成分上的坐標可以解釋為“小值表明該生擅長理科,大值表明該生擅長文科”,如表 1-2 所示,可以將數學、理科、語文、文科這 4 個特征值歸納在 1 個軸上加以展示。

▼表 1-2 PCA 的例子

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

▲圖 1-6 無監督學習的降維和聚類的關系

第 3 章將詳細介紹如表 1-3 所示的無監督學習的算法。通過表 1-3,還可以了解每個算法適合的任務。

▼表 1-3 無監督學習與降維和聚類的應用范圍

強化學習

強化學習是以在某個環境下行動的智能體獲得的獎勵最大化為目標而進行學習的方法。本書未涉及強化學習。

這里簡單地介紹一下強化學習。在主機游戲(環境)中,玩家(智能體)為了獲得賽點(獎勵)并取得最終的勝利,會無數次地重復嘗試。我們也可以把強化學習看作有監督學習的目標變量被作為獎勵提供的情況。拿主機游戲的例子來說,由于全部場景下所有操作的組合實在太多,很難通過人力進行評估,所以可以將游戲的場景和操作作為特征值,將游戲賽點作為目標變量,玩家無須依賴人力,通過無數次的游戲即可自行收集特征值和目標變量的數據組。強化學習在重復地玩游戲、查看結果中不斷學習更恰當的行動。

機器學習的應用

機器學習在各領域的應用都取得了較大進展,比如自動駕駛領域的研究就很有名。在文章的自動分類和自動翻譯方面,機器學習成果頗豐。在醫療領域,機器學習對 X 射線影像的分析有助于疾病的早期發現。此外,很早之前人們就將機器學習應用在氣象信息領域了。

近年來,隨著計算機越來越便宜,數量越來越多,機器學習的研究也在不斷加速。互聯網產業的發達和物聯網(Internet of Things,IoT)等技術的應用也為機器學習帶來了豐富的數據。

根據數據的特性選擇合適的算法,就會有前所未有的發現,這是機器學習領域有意思的地方。從下一節開始,我們將學習具體的機器學習步驟,目標是達到能對實際的數據應用機器學習的水平。

主站蜘蛛池模板: 仁布县| 阿克| 安陆市| 探索| 双鸭山市| 民和| 新乡县| 红桥区| 绥芬河市| 呼伦贝尔市| 武山县| 宁阳县| 道孚县| 高要市| 白朗县| 深圳市| 凤翔县| 丰宁| 南汇区| 嘉义县| 来宾市| 唐河县| 南京市| 武安市| 葫芦岛市| 庄河市| 彝良县| 通州市| 布尔津县| 航空| 柳江县| 托克托县| 靖江市| 聂拉木县| 保山市| 铁岭县| 宣化县| 长葛市| 香河县| 安福县| 桑植县|