ML的迭代學(xué)習(xí)過程
從數(shù)據(jù)中尋找出W和B 就是ML的主要任務(wù)之一。然而,ML 并沒辦法直接計(jì)算出能夠滿足這個(gè)目標(biāo)的W和B 值,但是它會(huì)逐步地修正W 和B,來滿足輸入空間與目標(biāo)空間的對(duì)映關(guān)系(即規(guī)律)。本文將說明ML的逐步(迭代)學(xué)習(xí)策略及過程。
本文引用地址:http://www.ex-cimer.com/article/202108/427272.htm1 設(shè)定目標(biāo)(Target)點(diǎn)
在上一期里,介紹了從X空間對(duì)映到Z 空間的范例,其中提供了已知的X 數(shù)據(jù),以及對(duì)映的Z 數(shù)據(jù)。如下表:
于是,ML 就來尋找其中的對(duì)映規(guī)律,并利用W 和B 來表達(dá)和記住它。那么,ML(或AI)是如何尋找出W 和B 的呢?答案是:逐步(迭代)尋找出來的。一旦逐漸尋找出最佳的W 和B,再搭配兩個(gè)公式來表達(dá)出兩個(gè)空間里數(shù)據(jù)的對(duì)映規(guī)律性。此時(shí),人們告訴ML尋找出W 和B,并且希望能夠?qū)=[-5,0,5] 很準(zhǔn)確地對(duì)映到目標(biāo)Z=[0,0.5,1]。然而,ML 并沒辦法直接計(jì)算出能夠滿足這個(gè)目標(biāo)的W 和B 值。但是它會(huì)逐步地修正W 和B,來滿足上述X=[-5,0,5] 與目標(biāo)Z=[0,0.5,1] 的對(duì)映關(guān)系(即規(guī)律)。所以,我們通稱Z 空間這些點(diǎn)為:目標(biāo)(Target)點(diǎn)。
現(xiàn)在就來觀察ML 尋找W 和B 的趨近過程。在這個(gè)過程中,每走一步就會(huì)衡量一次,計(jì)算出現(xiàn)在與目標(biāo)值的誤差。然后會(huì)修正W和B 來縮小與目標(biāo)值的誤差。每一次計(jì)算目前誤差,并進(jìn)行修正W 和B,這稱為:1個(gè)回合。例如:
這畫面上有3 個(gè)按鈕,可觀察ML 逐步趨近的過程。
2 迭代尋找權(quán)重W和B,并計(jì)算預(yù)測(cè)值
2.1 尋找10回合
請(qǐng)按下< 迭代學(xué)習(xí)(10 回合)> 按鈕,展開學(xué)習(xí)10 回合,就找到了W=0.11,B=0。如下圖所示:
基于這個(gè)W和B 值,將X=[-5,0,5] 對(duì)映到Z 空間。其計(jì)算過程為:
依據(jù)人們的意愿,這個(gè)X=[-5] 應(yīng)該對(duì)映到目標(biāo)值Z=[0]。然而,因?yàn)槟壳斑€沒找到最好的W 和B,所以經(jīng)X*W+B=Y 和Sigmoid(Y)=Z 計(jì)算出來的值是Z=[0.37],與目標(biāo)值T=[0] 有些誤差。如下圖:
沒關(guān)系,經(jīng)逐步修正W 和B,就會(huì)逐步縮小這項(xiàng)誤差,逐步趨近目標(biāo)值。
接著,繼續(xù)把另一個(gè)點(diǎn)X=[0] 對(duì)映到Z 空間。其計(jì)算如下:
依據(jù)人們的意愿,這個(gè)X=[0] 應(yīng)該對(duì)映到目標(biāo)值Z=[0.5]。而經(jīng)X*W+B=Y 和Sigmoid(Y)=Z 計(jì)算出來的值是Z=[0.5],與目標(biāo)值一致,沒有誤差。如下圖:
接著,繼續(xù)把第3 個(gè)點(diǎn)X=[0] 對(duì)映到Z 空間。其計(jì)算如下:
依據(jù)人們的意愿,這個(gè)X=[5] 應(yīng)該對(duì)映到目標(biāo)值Z=[1]。而經(jīng)X*W+B=Y 和Sigmoid(Y)=Z 計(jì)算出來的值是Z=[0.63],與目標(biāo)值X=[1] 有些誤差。如下圖:
沒關(guān)系,經(jīng)逐步修正W 和B,就會(huì)逐步縮小這項(xiàng)誤差,逐步趨近目標(biāo)值。
2.2 尋找20回合
剛才尋找、修正(改進(jìn))了10回合,而得到了W和B值。
然后將W 和B 值代入X*W+B=Y 和Sigmoid(Y)=Z 兩公式,計(jì)算出來的Z 值卻與目標(biāo)值還有很大的誤差。表示目前所找到的W 和B 值還不是最佳的答案。
沒關(guān)系,繼續(xù)努力修正改進(jìn),力求止于至善?,F(xiàn)在就來(從頭)尋找20 回合看看能不能找出更棒的答案(即W和B)。請(qǐng)您按下< 迭代學(xué)習(xí)(20 回合)> 按鈕,ML 就從頭尋找20 回合,并且輸出如下:
目前找到了W=0.18,B=0?;谶@個(gè)W 和B 值,將X=[-5,0,5] 對(duì)映到Z=[0.29,0.5,0.71]。例如,將X=[-5] 值用兩個(gè)公式計(jì)算如下:
X*W+B=-5*0.18+0=-0.9=Y
Sigmoid(Y)=Sigmoid(-0.9)=0.29=Z
這個(gè)Z 值(0.29)就是預(yù)測(cè)值。原來人們的是希望ML 能夠找到理想的W 和B,讓這個(gè)預(yù)測(cè)值,能夠非常趨近于目標(biāo)值(0)。雖然仍然有很大誤差,但是與上一小節(jié)所找到的預(yù)測(cè)值(0.37)相比,已經(jīng)更接近目標(biāo)值(0)了。這表示更努力尋找更多回合,所得到的預(yù)測(cè)值就會(huì)更趨近于目標(biāo)值了。
繼續(xù)觀察第2 個(gè)點(diǎn),ML 將X=[0] 用兩個(gè)公式計(jì)算如下:
X*W+B=0*0.18+0=0=Y
Sigmoid(Y)=Sigmoid(0)=0.5=Z
這個(gè)Z 值(0.5)就是預(yù)測(cè)值。它與目標(biāo)值(0.5)一致了:
繼續(xù)觀察第3 個(gè)點(diǎn),ML 將X=[5] 用兩個(gè)公式計(jì)算如下:
X*W+B=5*0.18+0=0.9=Y
Sigmoid(Y)=Sigmoid(0.9)=0.71=Z
這個(gè)Z 值(0.71)就是預(yù)測(cè)值。原來人們是希望ML 能夠找到理想的W 和B,讓這個(gè)預(yù)測(cè)值能夠非常趨近于目標(biāo)值(1)。然而目前仍有很大誤差:
沒關(guān)系,經(jīng)逐步修正W 和B,就會(huì)逐步縮小這項(xiàng)誤差,逐步趨近目標(biāo)值。
2.3 尋找1 000回合
剛才尋找、修正(改進(jìn))了20 回合,得到了W 和B 值。然后將這W 和B 值代入X*W+B=Y 和Sigmoid(Y)=Z 兩個(gè)公式,計(jì)算出來的Z 值卻與目標(biāo)值還有小小的誤差。表示目前所找到的W 和B 值還不是足夠好的答案。
繼續(xù)努力修正改進(jìn),力求止于至善?,F(xiàn)在就來(從頭)尋找1 000 回合,看看能不能讓預(yù)測(cè)值更趨近于目標(biāo)值。請(qǐng)您按下< 迭代學(xué)習(xí)(1 000 回合)> 按鈕,ML就從頭尋找1 000 回合,輸出如下:
這次找到了W=0.67,B=0?;谶@個(gè)W 和B 值,將X=[-5,0,5] 對(duì)映到Z=[0.03,0.5,0.97]。例如,將X=[-5] 值用兩個(gè)公式計(jì)算如下:
X*W+B=-5*0.67+0=-3.35=Y
Sigmoid(Y)=Sigmoid(-3.35)=0.03=Z
這個(gè)Z 值(0.03)更趨近于目標(biāo)值(0),而且足夠接近目標(biāo)值:
繼續(xù)觀察第2 個(gè)點(diǎn),ML 將X=[0] 用兩個(gè)公式計(jì)算出預(yù)測(cè)值Z=[0.5]。它與目標(biāo)值(0.5)一致了。接著,繼續(xù)觀察第3 個(gè)點(diǎn),ML 將X=[5] 用兩個(gè)公式計(jì)算,得出預(yù)測(cè)值Z = [0.97]。這個(gè)Z 值(0.97)更趨近于目標(biāo)值(1),而且足夠接近于目標(biāo)值:
經(jīng)逐步地尋找、修正了1 000 回合,終于找到了滿意的W和B 值,能讓預(yù)測(cè)值足夠接近于目標(biāo)值。于是,ML 的階段性任務(wù)完成了。
(本文來源于《電子產(chǎn)品世界》雜志2021年5月期)
評(píng)論