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

2.3 理解機器學習的類型及其算法

2.3.1 機器學習的類型

機器學習是一個博大精深的領域,有多種劃分方法,也有很多容易混淆的概念。產品經理要想理解機器學習,就需要從重要的分類和概念入手。機器學習的類型及其關系如下圖所示。

機器學習的類型及其關系

機器學習可以分為以下5種類型。

1. 監督學習

監督學習就是機器在學習的過程中有人類進行監督。人類準備好用于訓練的數據,并對數據做標記(也叫打標簽),最后用做好標記的數據去訓練機器。

例如,人類為了讓機器能準確識別車或馬,就需要準備很多張車和馬的圖片,并將每張圖片進行標注,如圖片0016是車、圖片9302是馬等,通過用這些標注好的圖片來訓練機器,可使機器具備識別車或馬的能力。

監督學習有廣泛的用途。以反垃圾郵件為例,人類對大量的郵件進行標注(是否屬于垃圾郵件),并用這些標注數據去訓練機器。機器就能從中總結出垃圾郵件的規律,從而具備識別垃圾郵件的能力。

2. 無監督學習

人類準備訓練數據,但不對數據做標記,而是讓機器嘗試尋找出其中隱含的模式和規律。

人類不對數據做標記的原因主要有兩個:一是人類對有些數據缺乏足夠的先驗知識,因此難以對其做出標注;二是標注成本太高。

3. 半監督學習

半監督學習是介于監督學習和無監督學習之間的一種機器學習,它使用的數據包含有標簽和無標簽兩種。在實戰中,通常無標簽數據遠遠多于有標簽數據。

4. 強化學習

不同于監督學習和非監督學習,強化學習不要求預先給定數據。它的基本過程是機器不斷嘗試各種行為,并且計算獲得的回報,從而探索出總體回報較大的策略。

以戰勝我國棋手柯潔的AlphaGo Zero為例,它就是基于強化學習的。人類只給它輸入了基本的圍棋規則,并沒有教給它具體的下棋策略,而是讓它自己去摸索。沒有人類的指導也就意味著沒有人類的約束,也正因如此它才摸索出一些人類都沒有嘗試過的下棋策略。

因為整個學習過程都沒有人類監督,所以強化學習和無監督學習很容易混淆。其實兩者是有本質區別的,無監督學習探索的是數據的模式和規律,而強化學習探索的是策略。

5. 深度學習

深度學習與以上4種機器學習的類型都有部分重疊。深度學習的“深”是指它的模型層次多且深。

深度學習的模型有很多種,如CNN(卷積神經網絡)、RNN(遞歸神經網絡)等。CNN是目前計算機視覺領域的主要算法。RNN衍生出了LSTM(長短期記憶網絡)和GRU(門控循環單元)等算法。RNN及其衍生算法適合語音識別、機器翻譯等應用場景。

不同的機器學習類型有各自適用的場景。在同一個場景中,采用不同的機器學習類型也會獲得不同的效果。

以金融行業的反欺詐場景為例,針對這個場景,最初采用的是監督學習,本質就是讓風險控制人員來培訓機器識別欺詐。正因為依靠了人類監督,機器很難超越人的識別能力。新的欺詐方式(尤其是專業的團伙欺詐)往往不能被風險控制人員及時發現,而人類發現之后再去訓練模型就會有一定延遲,這期間金融機構可能已經遭受了很大損失。其實,在這樣的場景中,可以采用非監督學習,讓機器自己從海量的數據中找出欺詐規律,識別出更多的欺詐行為,從而避免更多損失。

不同的機器學習類型對產品經理的工作會有不同的影響。產品經理應該重點關注的是機器學習對產品工作的影響,而不是機器學習本身的細節。例如,選定了監督學習就意味著需要準備有標注的數據,產品經理就要對數據和標注工作做出相應的規劃,其所涉及的問題可能是“訓練數據從哪里來”“要做哪些標注”“由誰來標注”等。

2.3.2 機器學習的算法

以上介紹的5種機器學習的類型,每一種都包含了很多具體的算法。機器學習的部分算法如下圖所示。

機器學習的部分算法

機器學習具體的算法數以百計,就算專業的技術人員也不可能掌握如此多算法的細節,因此產品經理對算法有整體理解即可。為了便于讀者理解,我專門準備了一個小例子。

想象一個場景:在一家馬術俱樂部的停車場停了幾輛車,俱樂部的馬因為好奇走進了停車場,車和馬混在了一起。我們從空中俯拍了一張照片,現在要機器把照片中的車和馬區分開。人一眼就能看出來,但機器需要算法。這是一個分類問題,需要用到分類算法,下圖就展示了邏輯回歸、支持向量機、決策樹3種分類算法及對應的結果。

邏輯回歸、支持向量機、決策樹的算法及結果

上圖中的矩形框代表停車場,矩形框內的圖標代表車和馬,虛線是算法做出的分類。

第一種算法:邏輯回歸只能通過直線來分離數據。在本例中,這個算法的效果不佳——有兩輛車、一匹馬沒有被正確區分。

第二種算法:支撐向量機沒有直線限制。在本例中,這個算法完美地完成了任務——準確地區分出了車和馬。

第三種算法:決策樹使用自動生成的規則來分類。在本例中,這個算法也完美地完成了任務。

AI的“智能”源于算法,它是通過數值計算的方式來解決問題的,這和我們人類有很大不同。它在解決問題時,針對同一個問題可能使用多個算法來解決,一個算法也可以用于解決多個問題。

主站蜘蛛池模板: 娄底市| 金寨县| 阳江市| 郸城县| 重庆市| 和平县| 新田县| 金门县| 右玉县| 海兴县| 石家庄市| 滨州市| 嘉荫县| 盘山县| 准格尔旗| 定结县| 横峰县| 汪清县| 民丰县| 华容县| 太康县| 大名县| 眉山市| 察哈| 龙门县| 定兴县| 连江县| 修文县| 通河县| 太康县| 金川县| 西吉县| 南通市| 兴山县| 惠水县| 清河县| 颍上县| 项城市| 葵青区| 和田县| 汉阴县|