從產(chǎn)品經(jīng)理向人工智能產(chǎn)品經(jīng)理進(jìn)階 | 機(jī)器學(xué)習(xí)必備知識(shí)
以技術(shù)為主要驅(qū)動(dòng)力的人工智能時(shí)代,人工智能產(chǎn)品經(jīng)理一定需要學(xué)習(xí)人工智能相關(guān)技術(shù)。本文筆者將與大家講述機(jī)器學(xué)習(xí)的相關(guān)知識(shí)。
作為人工智能產(chǎn)品經(jīng)理,你不一定需要擁有研究生和博士學(xué)歷,但是你需要了解一定的技術(shù)基本概念,了解各種技術(shù)的優(yōu)點(diǎn)缺點(diǎn)及其技術(shù)邊界。
就像你會(huì)騎自行車(chē),但不必要自己造出一輛自行車(chē),但是你還是需要知道自行車(chē)的基本運(yùn)動(dòng)原理,比如鏈條傳動(dòng)。
本文作者將主要介紹:機(jī)器學(xué)習(xí)是什么?
掌握機(jī)器學(xué)習(xí),對(duì)后續(xù)的神經(jīng)網(wǎng)絡(luò)的理解將會(huì)更加容易。
理解機(jī)器學(xué)習(xí)沒(méi)有必要從這些復(fù)雜拗口的方式入手,從一個(gè)簡(jiǎn)單易懂的概念去理解,也許會(huì)更事半功倍。筆者一直認(rèn)為“機(jī)器學(xué)習(xí)是一種數(shù)據(jù)分析的方法”。
隨著互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)量越來(lái)越多,而如何利用數(shù)據(jù)變現(xiàn)成為了企業(yè)最頭疼的問(wèn)題。
其實(shí),未經(jīng)處理的原始數(shù)據(jù)其實(shí)是沒(méi)有太大使用價(jià)值的,有價(jià)值的數(shù)據(jù)是通過(guò)正確的分析技術(shù),獲得更豐富的數(shù)據(jù)認(rèn)知、更明確的場(chǎng)景洞察和更精準(zhǔn)的數(shù)據(jù)畫(huà)像,能夠幫助決策,這時(shí)數(shù)據(jù)的意義才凸顯出來(lái)。而機(jī)器學(xué)習(xí)作用就是針對(duì)龐大的數(shù)據(jù)進(jìn)行分析,挖掘其意義和價(jià)值的。
如圖,數(shù)據(jù)分析可分為如下四類(lèi):
- 現(xiàn)狀描述:根據(jù)現(xiàn)有數(shù)據(jù),描述現(xiàn)實(shí)世界的現(xiàn)狀。
- 異常診斷:根據(jù)現(xiàn)有數(shù)據(jù)發(fā)現(xiàn)其中的異常,并且可以了解出現(xiàn)異常的原因是什么。
- 未來(lái)預(yù)測(cè):以時(shí)間為維度,利用歷史數(shù)據(jù)查看數(shù)據(jù)的變化趨勢(shì),,預(yù)測(cè)未來(lái)發(fā)生的概率。
- 行為規(guī)范:考慮如何改變現(xiàn)狀或未來(lái)的數(shù)據(jù)來(lái)滿(mǎn)足對(duì)未來(lái)的預(yù)期。
機(jī)器學(xué)習(xí)能做的也正是這四件事,機(jī)器學(xué)習(xí)可以通過(guò)對(duì)數(shù)據(jù)的學(xué)習(xí)描述現(xiàn)實(shí)世界,并洞察世界,并對(duì)未來(lái)世界的演化進(jìn)行預(yù)測(cè)。
一、 傳統(tǒng)軟件和機(jī)器學(xué)習(xí)的邏輯差異
互聯(lián)網(wǎng)時(shí)代,產(chǎn)品經(jīng)理的工作是針對(duì)現(xiàn)有業(yè)務(wù)進(jìn)行分析,并根據(jù)該業(yè)務(wù)過(guò)程設(shè)計(jì)出合理的系統(tǒng)處理邏輯,開(kāi)發(fā)工程師根據(jù)設(shè)計(jì)好業(yè)務(wù)處理邏輯進(jìn)行產(chǎn)品實(shí)現(xiàn)。
所以,傳統(tǒng)軟件從輸入到輸出過(guò)程的運(yùn)算是經(jīng)過(guò)設(shè)計(jì)的、固定的、明確的。如圖所示,工程師的作用是設(shè)計(jì)過(guò)程,并讓數(shù)據(jù)按照設(shè)計(jì)好的過(guò)程進(jìn)行處理。
人工智能產(chǎn)品與互聯(lián)網(wǎng)產(chǎn)品或傳統(tǒng)軟件產(chǎn)品不同,人工智能產(chǎn)品是根據(jù)已有數(shù)據(jù)自動(dòng)化構(gòu)建邏輯結(jié)構(gòu)。人工智能產(chǎn)品通過(guò)機(jī)器學(xué)習(xí)算法反復(fù)從數(shù)據(jù)中進(jìn)行學(xué)習(xí),不需要告訴計(jì)算機(jī)業(yè)務(wù)邏輯,人工智能算法就可以找到隱含在其中的規(guī)律和意義。
人工智能系統(tǒng)則是將訓(xùn)練數(shù)據(jù)(輸入數(shù)據(jù)+結(jié)果數(shù)據(jù))放入人工智能算法中,得出一個(gè)模型,如圖所示,這個(gè)模型替代了由產(chǎn)品經(jīng)理或需求分析師設(shè)計(jì)的軟件邏輯結(jié)構(gòu)。
機(jī)器學(xué)習(xí)與傳統(tǒng)軟件方式的差異是非常大的,機(jī)器學(xué)習(xí)顛覆了原有的程序思路。
傳統(tǒng)的程序思路是人對(duì)數(shù)據(jù)已經(jīng)有了分析,尋找到規(guī)律,通過(guò)輸入數(shù)據(jù)+規(guī)律驗(yàn)證,得到最終結(jié)果;而機(jī)器學(xué)習(xí)無(wú)需人對(duì)數(shù)據(jù)本身的分析和判斷,而是將分析和判斷的工作全部交給了機(jī)器,輸入訓(xùn)練數(shù)據(jù)后,機(jī)器根據(jù)算法找到隱含在數(shù)據(jù)中的規(guī)律,并可以將這些規(guī)律進(jìn)行實(shí)際的應(yīng)用。
二、機(jī)器學(xué)習(xí)的學(xué)習(xí)模式
根據(jù)訓(xùn)練的方式不同,機(jī)器學(xué)習(xí)共有四大學(xué)習(xí)模式,分別是:有監(jiān)督學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
這四種學(xué)習(xí)方式的根本區(qū)別在于對(duì)于數(shù)據(jù)內(nèi)容不同,訓(xùn)練模式不同。
- 監(jiān)督學(xué)習(xí):通過(guò)有標(biāo)簽的數(shù)據(jù)進(jìn)行訓(xùn)練,得到一個(gè)模型,通過(guò)該模型對(duì)未知數(shù)據(jù)進(jìn)行處理。
- 無(wú)監(jiān)督學(xué)習(xí):事先沒(méi)有任何訓(xùn)練數(shù)據(jù)樣本,而是通過(guò)算法對(duì)數(shù)據(jù)進(jìn)行分析建模,找到其中的規(guī)律。
- 半監(jiān)督學(xué)習(xí):半監(jiān)督學(xué)習(xí)訓(xùn)練中使用的數(shù)據(jù),只有一部分是標(biāo)記過(guò)的,而大部分是沒(méi)有標(biāo)記的。
- 強(qiáng)化學(xué)習(xí):強(qiáng)化學(xué)習(xí)也是使用未標(biāo)記的數(shù)據(jù),但是可以通過(guò)某種方法知道你是離正確答案越來(lái)越近還是越來(lái)越遠(yuǎn)。
監(jiān)督學(xué)習(xí)非常好理解,是按照人類(lèi)制定的規(guī)范,通過(guò)機(jī)器學(xué)習(xí)不斷訓(xùn)練以便于在這個(gè)規(guī)范下達(dá)到最優(yōu)解,而為什么會(huì)出現(xiàn)非監(jiān)督學(xué)習(xí)呢?未經(jīng)訓(xùn)練而進(jìn)行自動(dòng)化的建模會(huì)不會(huì)走了歪路?
舉個(gè)簡(jiǎn)單的例子,就像有人對(duì)音樂(lè)一竅不通,但是通過(guò)多聽(tīng),不用太長(zhǎng)時(shí)間,就可以分清楚古典、現(xiàn)代、爵士各個(gè)派別。同樣的,我們把不同時(shí)代,大量的、不同類(lèi)型的音樂(lè)都交給機(jī)器,機(jī)器可以根據(jù)音頻中高中低音的運(yùn)用、節(jié)奏中從中也找到音樂(lè)的特點(diǎn),并完成分類(lèi),而無(wú)需我們提前告訴機(jī)器哪個(gè)音樂(lè)是什么類(lèi)型。
機(jī)器學(xué)習(xí)可以解決的問(wèn)題很多,但歸納來(lái)講可以分為:分類(lèi)、回歸、聚類(lèi)、降維等幾種,如圖4-4所示。
在解決這些問(wèn)題的時(shí)候,有很多算法,常見(jiàn)的有監(jiān)督學(xué)習(xí)算法,如支持向量機(jī)、K-近鄰算法、決策樹(shù)、樸素貝葉斯、邏輯回歸、線性回歸、神經(jīng)網(wǎng)絡(luò)等。而像聚類(lèi)、EM算法等都屬于無(wú)監(jiān)督學(xué)習(xí)。各類(lèi)算法的分類(lèi)及應(yīng)用領(lǐng)域如表所示。
- 分類(lèi)(classification):給定一個(gè)樣本特征,我們要預(yù)測(cè)其對(duì)應(yīng)的標(biāo)記值,如果屬性值是離散的,那么這就是一個(gè)分類(lèi)問(wèn)題。
- 回歸(classification):給定一個(gè)樣本特征,我們要預(yù)測(cè)其對(duì)應(yīng)的標(biāo)記值,如果屬性值是連續(xù)的,那么這就是一個(gè)回歸問(wèn)題。
- 聚類(lèi)(clustering):給定一組樣本特征,我們沒(méi)有對(duì)應(yīng)的標(biāo)記值,而是想發(fā)掘這組樣本在空間的分布,比如分析哪些樣本離得近,哪些樣本離得遠(yuǎn),那么這就是一個(gè)聚類(lèi)問(wèn)題。
- 降維(dimensionality reduction):給定一組樣本特征,如果需要用維數(shù)低的子空間來(lái)表示原來(lái)高維的特征空間,那么這就是降維問(wèn)題。
做為產(chǎn)品經(jīng)理,筆者建議要對(duì)機(jī)器學(xué)習(xí)的學(xué)習(xí)模式有深入了解,并且了解各類(lèi)學(xué)習(xí)模式主要用來(lái)做什么就可以了,也只有對(duì)這些內(nèi)容有了解,才可以與工程師之間形成有效溝通。
1. 有監(jiān)督學(xué)習(xí)
有監(jiān)督學(xué)習(xí)是使用帶標(biāo)簽的歷史數(shù)據(jù)進(jìn)行訓(xùn)練,得出模型,然后輸入新的數(shù)據(jù),并根據(jù)模型得出解決方案。
如圖所示,有監(jiān)督學(xué)習(xí)算法使用標(biāo)記的數(shù)據(jù)集來(lái)生成模型,然后將此模型與新數(shù)據(jù)一起使用來(lái)驗(yàn)證模型的準(zhǔn)確性,或者使用實(shí)時(shí)數(shù)據(jù)將該模型應(yīng)用于生產(chǎn)環(huán)境。
有監(jiān)督學(xué)習(xí)需要有大量數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),而如果手中有數(shù)據(jù)的時(shí)候,怎么劃分訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)是比較頭疼的一件事。如果訓(xùn)練數(shù)據(jù)太少,則模型可能不準(zhǔn)確,而如果將太多的數(shù)據(jù)放在訓(xùn)練上,則驗(yàn)證數(shù)據(jù)可能會(huì)因?yàn)樵朦c(diǎn)太多而影響驗(yàn)證。
一般情況下,建議訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)采用6:4至8:2之間的比例是相對(duì)合適的。
1)有監(jiān)督學(xué)習(xí)的過(guò)程:
通過(guò)用一個(gè)實(shí)例來(lái)說(shuō)明一下有監(jiān)督學(xué)習(xí)的過(guò)程,我們要做的功能是用戶(hù)通過(guò)上傳一張照片,系統(tǒng)識(shí)別這張照片是不是你本人。而你上傳的照片可能是全身照,也可能是半身照,或者照片中只有一個(gè)眼睛的特寫(xiě)。
第一步、數(shù)據(jù)的生成和分類(lèi):首先要搜集足夠多的關(guān)于“你”的照片,全身、半身、正面、側(cè)面,只要有你的影像都存在一個(gè)組內(nèi),這一組叫做訓(xùn)練集,用來(lái)進(jìn)行訓(xùn)練。
另外再準(zhǔn)備一組照片,這類(lèi)照片只有一部分有你的影像,另外一部分則是別人的照片。這一部分叫做驗(yàn)證集,驗(yàn)證集是用來(lái)檢驗(yàn)訓(xùn)練好的算法模型能否認(rèn)出你。驗(yàn)證集作為輸入,得到一些輸出,照片有你輸出為1,沒(méi)有你輸出則為0。
第二步、訓(xùn)練:通過(guò)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),訓(xùn)練集中的每一幅圖像都會(huì)作為神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)中每一層的神經(jīng)元運(yùn)算,進(jìn)行特征提取,當(dāng)計(jì)算完所有的神經(jīng)元時(shí),會(huì)得到最右邊的輸出,是1還是0。
第三步、驗(yàn)證:至此,第一組中的數(shù)據(jù)已經(jīng)全部用完。接下來(lái)我們會(huì)用第二組數(shù)據(jù)驗(yàn)證訓(xùn)練得到的模型的準(zhǔn)確率。在這個(gè)過(guò)程中涉及到超參優(yōu)化、選擇激活函數(shù)等。
第四步、封裝應(yīng)用:一旦數(shù)據(jù)驗(yàn)證的指標(biāo)達(dá)到預(yù)期設(shè)定的指標(biāo)后,模型就訓(xùn)練好了??梢詫⒃撃P头庋b為接口,集成到軟件中。軟件通過(guò)界面與用戶(hù)交互,當(dāng)用戶(hù)把照片上傳后,軟件會(huì)自動(dòng)調(diào)用該接口完成計(jì)算,并將結(jié)果返回給軟件程序界面。
2)一些經(jīng)典的有監(jiān)督學(xué)習(xí)算法:
作為人工智能產(chǎn)品經(jīng)理不一定要會(huì)設(shè)計(jì)算法,不一定要去具體實(shí)現(xiàn)算法,但一定要懂得算法的內(nèi)容、特點(diǎn)、算法能達(dá)到的目標(biāo)。以下部分將介紹兩個(gè)有監(jiān)督學(xué)習(xí)算法,分別是SVM和樸素貝葉斯分類(lèi)器,產(chǎn)品經(jīng)理可選擇性閱讀。
SVM(支持向量機(jī)):
SVM是一種非常流行的有監(jiān)督學(xué)習(xí)模型,可用于分類(lèi)或者回歸,SVM可以有效的解決小樣本、非線性以及高緯模式識(shí)別的問(wèn)題。所以,SVM的應(yīng)用非常廣泛。我們先來(lái)假設(shè)一個(gè)二維空間里有不同的圖形,如圖所示:
C1和C2是空間里的兩個(gè)類(lèi)別,C1是圓柱形,C2區(qū)域分布的正方體,而中間的可以用一條斜線進(jìn)行區(qū)分,斜線的斜率為W。該斜線就是分類(lèi)函數(shù),分類(lèi)函數(shù)可以將兩個(gè)樣本完全分開(kāi),如果一個(gè)線性函數(shù)可以將樣本完全分開(kāi),那么數(shù)據(jù)一般被稱(chēng)為線性可分,否則叫做非線性可分。
分類(lèi)函數(shù)在一維空間里,是一個(gè)點(diǎn),在二維空間里是一條直線,在三維空間里則是一個(gè)平面,當(dāng)然還有更高維度或者無(wú)限維的分類(lèi)函數(shù),所以分類(lèi)函數(shù)還有一個(gè)統(tǒng)稱(chēng)叫做超平面。
聰明人自然會(huì)發(fā)現(xiàn),在上圖的斜線其實(shí)是可以左右挪動(dòng)的,如下圖所示:
SVM的目的就是尋找到一個(gè)超平面,可以使得樣本分成兩類(lèi),并且分類(lèi)的間隔最大,這就是SVM的基本理論模型。
當(dāng)然,如果世界上的物體分散都是這么均勻并且有規(guī)則,很容易就能算出來(lái)結(jié)果,可是現(xiàn)實(shí)世界可并不是這樣的,現(xiàn)實(shí)世界往往是這如圖的情況,圓柱形和正方形是沒(méi)有規(guī)則的分散在這個(gè)平面中。
這種圖形想通過(guò)一個(gè)簡(jiǎn)單函數(shù)分類(lèi),幾乎是不可能的事情。
于是科學(xué)家們提出了另外一個(gè)概念“核函數(shù)”。意思是說(shuō)可以將樣本從原始空間,映射到一個(gè)更高維度的空間中,通過(guò)在高緯度空間中的映像劃分,最終完成線性劃分。
第一步:將二維空間升維為三維空間,如下圖所示。
第二步:把二維的樣本數(shù)據(jù)投射到在三維空間中,如下圖所示。
第三步:在三維空間中進(jìn)行切割,如下圖所示。
第四步:再將切割后的超平面,映射到一個(gè)二維平面中,如下圖所示。
如此就完成了新的核函數(shù)。因?yàn)榉蔷€性的空間實(shí)在太復(fù)雜,你又不可能馬上知道哪個(gè)核函數(shù)最適合將非線性空間轉(zhuǎn)換為線性空間,所以SVMS通常會(huì)實(shí)施多個(gè)核函數(shù)來(lái)識(shí)別最佳選項(xiàng)。
2. 樸素貝葉斯分類(lèi)器
如果你的領(lǐng)導(dǎo)交給你一項(xiàng)分析任務(wù),中等程度數(shù)據(jù)量,變量也較少,而且希望你盡快的完成數(shù)據(jù)預(yù)測(cè),這時(shí)選擇樸素貝葉斯是一個(gè)較好途徑。
先來(lái)看一下什么是貝葉斯定律:
換個(gè)表達(dá)形式會(huì)更容易理解:
如果我們要通過(guò)性別和體重來(lái)區(qū)分產(chǎn)品經(jīng)理和程序員,這就是在求P(程序員|性別,體重)和P(產(chǎn)品經(jīng)理|性別,體重)。
根據(jù)貝葉斯定律看:
P(職業(yè)|性別,體重)=P(性別|職業(yè))P(職業(yè))/P(體重)
除貝葉斯算法外,還有樸素貝葉斯,樸素貝葉斯是在貝葉斯算法的基礎(chǔ)上做了一個(gè)基本假設(shè)而來(lái)的算法。
樸素貝葉斯假設(shè)了所有的數(shù)據(jù)的屬性都是獨(dú)立的,他們之間互不影響,也正是因?yàn)橛羞@個(gè)假設(shè),可以把很多復(fù)雜的問(wèn)題進(jìn)行簡(jiǎn)單化。而且樸素貝葉斯也非常適合預(yù)測(cè)未知數(shù)據(jù)集,做一些數(shù)據(jù)預(yù)測(cè)。
上面的例子中,根據(jù)樸素貝葉斯可以認(rèn)為性別和體重沒(méi)有關(guān)系,也就是P(體重|職業(yè),性別)=P(體重|職業(yè))。
? ? ? P(性別,體重|職業(yè))=P(性別|職業(yè))×P(體重|職業(yè))
樸素貝葉斯的優(yōu)點(diǎn)是:
- 樸素貝葉斯簡(jiǎn)單,容易理解;
- 樸素貝葉斯性能高,計(jì)算速度快;
- 樸素貝葉斯擅長(zhǎng)數(shù)據(jù)預(yù)測(cè);
- 樸素貝葉斯對(duì)于訓(xùn)練數(shù)據(jù)的要求量非常少;
正是由于樸素貝葉斯的優(yōu)點(diǎn),所以在實(shí)時(shí)預(yù)測(cè)、多類(lèi)預(yù)測(cè)中經(jīng)常能看到樸素貝葉斯的身影。不僅如此,由于文本分類(lèi)的變量類(lèi)型多,類(lèi)型之間也相對(duì)獨(dú)立,所以樸素貝葉斯在文本分類(lèi)中得到了廣泛的應(yīng)用,諸如垃圾郵件識(shí)別、網(wǎng)站內(nèi)容識(shí)別、新聞推薦等。
三、無(wú)監(jiān)督學(xué)習(xí)
針對(duì)沒(méi)有任何標(biāo)記過(guò)的數(shù)據(jù),通過(guò)算法學(xué)習(xí)數(shù)據(jù)的分布情況或者數(shù)據(jù)之間的關(guān)系稱(chēng)為無(wú)監(jiān)督學(xué)習(xí)。
無(wú)監(jiān)督學(xué)習(xí)的目標(biāo)是利用算法探索隱藏在數(shù)據(jù)中的某種結(jié)構(gòu)及特性,而這些結(jié)構(gòu)和特性是人無(wú)法直接了解或人力無(wú)法做到的。由于數(shù)據(jù)沒(méi)有任何標(biāo)簽,所以無(wú)監(jiān)督學(xué)習(xí)的結(jié)果是否正確也很難評(píng)估。但是如果通過(guò)無(wú)監(jiān)督學(xué)習(xí)對(duì)數(shù)據(jù)的分組,你可以了解到原始數(shù)據(jù)中無(wú)法預(yù)見(jiàn)的隱含信息。
如果把學(xué)校里的學(xué)習(xí)的學(xué)生稱(chēng)為有監(jiān)督學(xué)習(xí)的話,那么沒(méi)有上學(xué)的孩子也能通過(guò)自身的觀察和對(duì)世界的理解進(jìn)行學(xué)習(xí),只不過(guò)他們學(xué)到的東西是隨性的、隨意的,但最終學(xué)習(xí)成什么樣子也是也無(wú)法預(yù)測(cè)的。
人工智能也是如此,2017年曾有個(gè)新聞:美國(guó)科學(xué)家制造的兩個(gè)人工智能機(jī)器人,通過(guò)自學(xué)習(xí)創(chuàng)造了只有他們兩個(gè)能看得懂的語(yǔ)言。并且,這兩個(gè)機(jī)器人自己已經(jīng)開(kāi)始用只有他們自己能夠懂得的語(yǔ)言在進(jìn)行交流,引起了人們極大恐慌,最后以銷(xiāo)毀而告終。
無(wú)監(jiān)督學(xué)習(xí)在很多應(yīng)用場(chǎng)景中都有實(shí)際的例子做驗(yàn)證。
如果你開(kāi)了一家制衣廠,生產(chǎn)衣服,但如何確定衣服的S、M、L碼?如果你同時(shí)擁有中國(guó)人的全部身高值,則可以通過(guò)無(wú)監(jiān)督學(xué)習(xí)完成。
正是由于沒(méi)有人為標(biāo)記,所以截止目前為止,無(wú)監(jiān)督學(xué)習(xí)還達(dá)不到監(jiān)督學(xué)習(xí)的準(zhǔn)確性和有效性,所以無(wú)監(jiān)督學(xué)習(xí)在人工智能界一直被一些科學(xué)家們所詬病。但最近幾年,無(wú)監(jiān)督學(xué)習(xí)又重新火熱起來(lái),有些科學(xué)家甚至稱(chēng)無(wú)監(jiān)督學(xué)習(xí)才是人工智能的未來(lái)。
無(wú)監(jiān)督學(xué)習(xí)中目前最熱門(mén)的一個(gè)算法是Ian Goodfellow提出的生成對(duì)抗網(wǎng)絡(luò)——即GAN。
GAN原理是:將兩個(gè)神經(jīng)網(wǎng)絡(luò)相連,一個(gè)神經(jīng)網(wǎng)絡(luò)稱(chēng)之為“生成器”,負(fù)責(zé)生成旨在嘗試欺騙另一個(gè)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù),而另外的網(wǎng)絡(luò)稱(chēng)為“鑒別器”。通過(guò)兩個(gè)網(wǎng)絡(luò)的對(duì)抗學(xué)習(xí),實(shí)現(xiàn)了一些令人驚奇的結(jié)果,例如可以從文本字符串或手繪草圖生成如照片版逼真圖片的人工智能技術(shù)。
1. 判斷指標(biāo)
在人工智能的評(píng)價(jià)指標(biāo)通常有三種:準(zhǔn)確率(Precision)、召回率(Recall)和精準(zhǔn)率(Accuracy),在無(wú)監(jiān)督學(xué)習(xí)中這三個(gè)指標(biāo)非常重要,通常用這三個(gè)指標(biāo)對(duì)無(wú)監(jiān)督學(xué)習(xí)進(jìn)行評(píng)價(jià)。
- 準(zhǔn)確率:對(duì)于給定的測(cè)試數(shù)據(jù)集,分類(lèi)器正確分類(lèi)的樣本數(shù)與總樣本數(shù)之比。簡(jiǎn)而言之,準(zhǔn)確率就是查的準(zhǔn)。就像警察抓小偷,抓到的每個(gè)人是不是都是小偷,抓到的10個(gè)人,有9個(gè)是小偷那么準(zhǔn)確率就是90%。
- 召回率:對(duì)給定的測(cè)試數(shù)據(jù)集,分類(lèi)器正確的找到所有正確分類(lèi)樣本數(shù)。簡(jiǎn)而言之,召回率就是查的全。就像警察抓小偷,有100個(gè)人,共有20個(gè)小偷,抓到了其中10個(gè),則召回率為50%。
- 精準(zhǔn)率:表示識(shí)別對(duì)的比例。即好人被識(shí)別成好人,壞人被識(shí)別成壞人,就像警察抓小偷,有100個(gè)人,共有20個(gè)小偷,抓了10個(gè),但其中有1個(gè)不是小偷,則精準(zhǔn)率為90%。
準(zhǔn)確率、召回率、精準(zhǔn)率是衡量人工智能算法的關(guān)鍵指標(biāo),這三個(gè)指標(biāo)越高,表示算法的適應(yīng)性越好。
四、半監(jiān)督學(xué)習(xí)
有監(jiān)督學(xué)習(xí)是當(dāng)我們有能力對(duì)數(shù)據(jù)進(jìn)行標(biāo)注,并針對(duì)標(biāo)記信息進(jìn)行分類(lèi)和回歸時(shí)使用。
無(wú)監(jiān)督的訓(xùn)練是不包含標(biāo)記信息進(jìn)行訓(xùn)練,通常用來(lái)做聚類(lèi)。但有些時(shí)候我們手中的數(shù)據(jù)往往是只有一部分有標(biāo)記但是并不是全部標(biāo)記,那么這時(shí)就可以使用半監(jiān)督學(xué)習(xí)來(lái)完成。
筆者近些年在做的“全國(guó)政府網(wǎng)站監(jiān)控項(xiàng)目”就是一個(gè)很好的實(shí)例:
該項(xiàng)目監(jiān)測(cè)了全國(guó)9萬(wàn)多個(gè)政府網(wǎng)站,24億個(gè)各級(jí)政府網(wǎng)站的頁(yè)面,如圖4-13所示,項(xiàng)目要做的是在這些網(wǎng)頁(yè)中發(fā)現(xiàn)其頁(yè)面是否存在異常,用戶(hù)對(duì)那些頁(yè)面更感興趣。
而多達(dá)幾十億的頁(yè)面,要進(jìn)行所有頁(yè)面全部標(biāo)注是不可能的,有標(biāo)注的頁(yè)面只有幾萬(wàn)個(gè)。如果直接將無(wú)標(biāo)記的樣本集丟掉,使用傳統(tǒng)的有監(jiān)督學(xué)習(xí),不但可惜,而且會(huì)因?yàn)橛?xùn)練樣本不足,而導(dǎo)致數(shù)據(jù)失真,影響機(jī)器學(xué)習(xí)效果,如何有效利用無(wú)標(biāo)記數(shù)據(jù)成為需要探討的內(nèi)容。
最簡(jiǎn)單的辦法就是,對(duì)未標(biāo)記的頁(yè)面打標(biāo)簽,但隨之而來(lái)的巨大的人力耗費(fèi),如果一個(gè)人對(duì)一個(gè)頁(yè)面打標(biāo)簽的時(shí)間是0.5分鐘,要對(duì)24億頁(yè)面打標(biāo)簽,需要一個(gè)人365天無(wú)休息的打標(biāo)簽,最終5400多年才能完成。
項(xiàng)目組采用了半監(jiān)督學(xué)習(xí)的方法完成該工作,先使用有標(biāo)記的樣本數(shù)據(jù)集訓(xùn)練出一個(gè)學(xué)習(xí)器,然后基于該學(xué)習(xí)器對(duì)未標(biāo)記的樣本進(jìn)行預(yù)測(cè)。
對(duì)于預(yù)測(cè)的結(jié)果樣本進(jìn)行分類(lèi),對(duì)于不確定性高的樣本以及分類(lèi)置信度低的樣本進(jìn)行二次打標(biāo)簽,最后再將數(shù)據(jù)擴(kuò)充至訓(xùn)練集,重新的對(duì)學(xué)習(xí)器進(jìn)行訓(xùn)練,最終生成結(jié)果。
顯然,半監(jiān)督學(xué)習(xí)本質(zhì)上仍然屬于監(jiān)督學(xué)習(xí)的一種,對(duì)于訓(xùn)練數(shù)據(jù)的樣本進(jìn)行了半自動(dòng)化的處理,但是與完全的有監(jiān)督學(xué)習(xí)相比,其學(xué)習(xí)成本大大降低。對(duì)于有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)的各類(lèi)算法,如果數(shù)據(jù)集符合半監(jiān)督學(xué)習(xí)的特征,則都可以采用半監(jiān)督學(xué)習(xí)的方法。
五、強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)又稱(chēng):再勵(lì)學(xué)習(xí)、評(píng)價(jià)學(xué)習(xí)。
用標(biāo)準(zhǔn)的定義來(lái)描述強(qiáng)化學(xué)習(xí)的話,強(qiáng)化學(xué)習(xí)的目標(biāo)是學(xué)習(xí)一個(gè)最優(yōu)策略(Policy),可以讓本體(Agent)在特定環(huán)境(Environment)中,根據(jù)當(dāng)前的狀態(tài)(State),做出行動(dòng)(Action),從而獲得最大回報(bào)。強(qiáng)化學(xué)習(xí)經(jīng)常會(huì)與監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)混淆。
強(qiáng)化學(xué)習(xí)把學(xué)習(xí)看作試探評(píng)價(jià)過(guò)程,如圖所示,Agent選擇一個(gè)動(dòng)作用于環(huán)境,環(huán)境接受該動(dòng)作后狀態(tài)發(fā)生變化,同時(shí)產(chǎn)生一個(gè)強(qiáng)化的信號(hào),并將這個(gè)強(qiáng)化信號(hào)反饋給Agent。Agent根據(jù)強(qiáng)化信號(hào)和環(huán)境當(dāng)前狀態(tài)再選擇下一個(gè)動(dòng)作,選擇的原則是使受到正強(qiáng)化的概率增大。
選擇的動(dòng)作不僅影響立即強(qiáng)化值,而且影響環(huán)境下一時(shí)刻的狀態(tài)及最終的強(qiáng)化值。
監(jiān)督學(xué)習(xí)就像學(xué)生在考試,而旁邊站著一名指導(dǎo)教師,當(dāng)學(xué)生每做完一道題,立刻老師就會(huì)告訴你做錯(cuò)了或者做對(duì)了。
但現(xiàn)實(shí)世界是復(fù)雜的,很多實(shí)際問(wèn)題是沒(méi)有標(biāo)準(zhǔn)答案的,只有那種回答是更合適的。強(qiáng)化學(xué)習(xí)的過(guò)程,就像就像我們訓(xùn)練動(dòng)物一樣,每次動(dòng)物做了某件事后,需要訓(xùn)練師及時(shí)給予反饋,而這種好與壞的反饋會(huì)影響到它下次行為方式。
人工智能的強(qiáng)化學(xué)習(xí)就是這樣,通過(guò)一次次的強(qiáng)化的過(guò)程使得,使得機(jī)器知道那種行為能夠得到最好的回報(bào)。正是由于強(qiáng)化學(xué)習(xí)這種實(shí)時(shí)反饋的特性,所以強(qiáng)化學(xué)習(xí)普遍會(huì)運(yùn)用在機(jī)器人領(lǐng)域。
有監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)都會(huì)通過(guò)算法得到從輸入數(shù)據(jù)到輸出結(jié)果的一個(gè)關(guān)系映射,有監(jiān)督式學(xué)習(xí)給出的是輸入和輸出之間的關(guān)系,可以告訴算法什么樣的輸入對(duì)應(yīng)著什么樣的輸出。
而強(qiáng)化學(xué)習(xí)則給出的是反饋信息,用來(lái)判斷這個(gè)行為是好是壞。當(dāng)然,強(qiáng)化學(xué)習(xí)給出的是反饋信息,所以整個(gè)過(guò)程是有延時(shí)的,有些時(shí)候需要經(jīng)過(guò)多個(gè)過(guò)程后,才知道前面某個(gè)節(jié)點(diǎn)的選擇是否正確。
本文由@壹赫 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unspalsh, 基于CC0協(xié)議。
作者對(duì)人工智能研究很深啊,為啥還是產(chǎn)品呢?
作者寫(xiě)的很全面!希望有時(shí)間的話深入每一個(gè)部分,細(xì)分詳細(xì)介紹一下!感謝分享
感謝分享,加油寫(xiě)