AI講座:ML的分類(lèi)方法
從上一期的內(nèi)容里[1],您已經(jīng)觀察到了ML 具有很好的能力,可以探索出足夠好的W 和B,進(jìn)而求出足夠趨近于目標(biāo)的預(yù)測(cè)值。于是,ML 就能夠幫助人類(lèi)對(duì)各種事物(的數(shù)據(jù))進(jìn)行“分門(mén)別類(lèi)”了,這就簡(jiǎn)稱(chēng)為:分類(lèi)(Classification)?,F(xiàn)在就來(lái)說(shuō)明機(jī)器(計(jì)算機(jī))是如何學(xué)習(xí)分類(lèi)的。
本文引用地址:http://www.ex-cimer.com/article/202107/426892.htm1 給予目標(biāo)值:以二元分類(lèi)為例
首先,由人指引機(jī)器(ML)來(lái)學(xué)習(xí)分類(lèi)。也就是,人給予目標(biāo)值,而ML 則探索出足夠好的W 和B,進(jìn)而求出足夠趨近于目標(biāo)的預(yù)測(cè)值。上述目標(biāo)值又通稱(chēng)為類(lèi)別標(biāo)簽(Class Label)。在人們心中,先對(duì)事物進(jìn)行分類(lèi),并給各類(lèi)別貼上卷標(biāo)(即目標(biāo)值),以指引(監(jiān)督)ML逐步學(xué)習(xí)分類(lèi)。所以,又稱(chēng)為監(jiān)督式學(xué)習(xí)(Supervised Learning)。
例如,下圖的數(shù)據(jù)表示:有6 瓶水,其溫度分別為X=[0,1,4,5,-5,-6]。此時(shí),人們將它們區(qū)分為兩個(gè)類(lèi)別(Class):“水”與“冰”。而且人又設(shè)定了兩個(gè)目標(biāo)值:1 代表“水”,且0 代表“冰”。如下圖所示。
這時(shí)人們就可要求ML 幫忙尋找出W 和B,且希望能夠?qū)=[0, 1, 4, 5, -5, -6] 很準(zhǔn)確地對(duì)應(yīng)到目標(biāo)Z=[1,1,1,1,0,0]。上一期曾經(jīng)說(shuō)明,ML 并沒(méi)辦法直接計(jì)算出能夠滿足這個(gè)目標(biāo)的W 和B 值。但是它會(huì)逐步修正W 和B,以盡量滿足上述X=[0,1,4,5,-5,-6] 與目標(biāo)Z=[1,1,1,1,0,0] 的對(duì)應(yīng)關(guān)系(即規(guī)律)。所以,在這個(gè)范例里,Z 空間里有兩個(gè)目標(biāo)(Target)點(diǎn)。
在這個(gè)范例里,人們將事物區(qū)分為兩個(gè)類(lèi)別,所以設(shè)定兩個(gè)目標(biāo)值:1 代表“水”,且0 代表“冰”。這通稱(chēng)為二元分類(lèi)(Binary Classification)。
2 ML逐步探索與學(xué)習(xí)
接下來(lái)ML 就逐步尋找其中的對(duì)應(yīng)規(guī)律,并利用W和B 來(lái)表達(dá)和記住它。在這一過(guò)程中,每走1 步就會(huì)衡量一次,計(jì)算出現(xiàn)在與目標(biāo)值的誤差。然后會(huì)修正W和B 來(lái)縮小與目標(biāo)值的誤差。每一次計(jì)算誤差,并進(jìn)行修正W 和B,這稱(chēng)為一個(gè)回合。請(qǐng)您按下“學(xué)習(xí)分類(lèi)(30 回合)”按鈕,ML 會(huì)尋找30 回合,輸出如下。
ML 找到了W 和B 值。然后將W 和B 值代入X*W+ B = Y 和Sigmoid(Y)= Z 兩個(gè)公式,計(jì)算出Z 值。例如,將X=[-6] 經(jīng)X*W+B=Y 和Sigmoid(Y)= Z 計(jì)算出來(lái)的值是Z=[0.1],它與目標(biāo)值X=[0] 還有很大誤差。如下圖。
接著,將X 空間的6 個(gè)點(diǎn)(代表6 瓶水)都計(jì)算出其預(yù)測(cè)值,并呈現(xiàn)于Z 空間里,如下圖。
可以看出,這些預(yù)測(cè)值與其目標(biāo)值都還有相當(dāng)?shù)木嚯x(誤差)。沒(méi)關(guān)系,繼續(xù)努力修正改進(jìn),力求止于至善?,F(xiàn)在就來(lái)(從頭)尋找300 回合看看能不能讓預(yù)測(cè)值更趨近于目標(biāo)值。
請(qǐng)您按下“學(xué)習(xí)分類(lèi)(300 回合)”按鈕,ML會(huì)尋找300 回合,并且輸出如下。
ML 尋找出新的W 和B,將W 和B 值代入X*W +B = Y 和Sigmoid(Y)= Z 兩個(gè)公式,計(jì)算出Z 值。于是,計(jì)算出新的預(yù)測(cè)值X=[0.6,0.8,1,1,0,0]。也就是將X 空間的6 個(gè)點(diǎn)(代表6 瓶水)都計(jì)算出其預(yù)測(cè)值,并呈現(xiàn)于Z 空間,如下圖。
可以看出,這些預(yù)測(cè)值與其目標(biāo)值已經(jīng)更接近了,但是還是有一些誤差。沒(méi)關(guān)系,繼續(xù)努力修正改進(jìn),力求止于至善。現(xiàn)在就來(lái)(從頭)尋找3000 回合看看能不能讓預(yù)測(cè)值更趨近于目標(biāo)值。
請(qǐng)您按下“學(xué)習(xí)分類(lèi)(3000 回合)”按鈕,ML 會(huì)尋找3000 回合,并且輸出如下。
這次找到了W=0.11,B=1.77,將W 和B 值代入X*W + B = Y 和Sigmoid(Y)= Z 兩個(gè)公式,計(jì)算出Z值。于是,計(jì)算出新的預(yù)測(cè)值X=[0.9,0.9,1,1,0,0]。
可以看出,經(jīng)兩個(gè)公式計(jì)算,得出的預(yù)測(cè)值已經(jīng)足夠接近目標(biāo)值了。于是,我們就可以輸入X 值,然后經(jīng)X*W + B = Y 和Sigmoid(Y)= Z 兩個(gè)公式,計(jì)算出預(yù)測(cè)值,以判斷它歸屬于哪一個(gè)類(lèi)別。
例如,針對(duì)X=[0,1,4,5] 代表的4 瓶水,觀察ML 計(jì)算出來(lái)的預(yù)測(cè)值是Z=[0.9,0.9,1,1],都非常近于目標(biāo)值(1),所以就預(yù)測(cè)它屬于“水”類(lèi)。如下圖所示。
又如,針對(duì)X=[-6,-5] 代表的2 瓶水,觀察ML計(jì)算出來(lái)的預(yù)測(cè)值是Z=[0,0],非常近于目標(biāo)值(0),所以就預(yù)測(cè)它屬于“冰”類(lèi)。如下圖所示。
以上說(shuō)明了ML 如何逐步尋找出足夠好的W和B,并依據(jù)W 和B 將X 空間的數(shù)據(jù)(以點(diǎn)表示)對(duì)應(yīng)到Z空間,而得到預(yù)測(cè)值。然后就可以觀察其預(yù)測(cè)值靠近哪個(gè)目標(biāo)值,來(lái)判斷(或預(yù)測(cè))它屬于哪個(gè)類(lèi)別。
3 測(cè)試
ML已經(jīng)逐步尋找出足夠好的W(值為1.11)和B(值為1.77),并記住了W 和B 值,也就是記住了X 空間與Z 空間的對(duì)應(yīng)關(guān)系?,F(xiàn)在,就用一些測(cè)試數(shù)據(jù)來(lái)驗(yàn)證W&B 是否真的足夠好?例如,拿來(lái)另外3 瓶水,其溫度分別是:-8.5、7.2 和2。并輸入到Excel 表格中,如下圖。
請(qǐng)您按下“預(yù)測(cè)”按鈕,ML 經(jīng)X*W + B = Y 和Sigmoid(Y)= Z兩個(gè)公式,計(jì)算出Z預(yù)測(cè)值,且輸出如下。
此時(shí),針對(duì)X=[-8.5] 所代表的水瓶,ML 計(jì)算出來(lái)的預(yù)測(cè)值是Z=[0],所以就預(yù)測(cè)它屬于“冰”類(lèi)。針對(duì)X=[7.2,2] 所代表的兩瓶水,其ML 計(jì)算出來(lái)的預(yù)測(cè)值是Z=[1,0.98],都非常接近目標(biāo)值(1),所以就預(yù)測(cè)它屬于“水”類(lèi)。于是,可以看出,這個(gè)ML 已經(jīng)學(xué)會(huì)如何分類(lèi)了。
參考文獻(xiàn):
[1] 高煥堂.ML的迭代學(xué)習(xí)過(guò)程[J].電子產(chǎn)品世界,2021(5):33-35.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年6月期)
評(píng)論