第一篇:斯坦福大學(xué)公開(kāi)課 :機(jī)器學(xué)習(xí)課程note1翻譯
CS229 Lecture notes
Andrew Ng 監(jiān)督式學(xué)習(xí)
讓我們開(kāi)始先討論幾個(gè)關(guān)于監(jiān)督式學(xué)習(xí)的問(wèn)題。假設(shè)我們有一組數(shù)據(jù)集是波特蘭,俄勒岡州的47所房子的面積以及對(duì)應(yīng)的價(jià)格
我們可以在坐標(biāo)圖中畫出這些數(shù)據(jù):
給出這些數(shù)據(jù),怎么樣我們才能用一個(gè)關(guān)于房子面積的函數(shù)預(yù)測(cè)出其他波特蘭的房子的價(jià)格。
為了將來(lái)使用的方便,我們使用x表示“輸入變量”(在這個(gè)例子中就是房子的面積),也叫做“輸入特征”,y表示“輸出變量”也叫做“目標(biāo)變量”就是我們要預(yù)測(cè)的那個(gè)變量(這個(gè)例子中就是價(jià)格)。一對(duì)(x,y)叫做一組訓(xùn)練樣本,并且我們用來(lái)學(xué)習(xí)的---一列訓(xùn)練樣本{(x,y);i=1,?,m}--叫做一個(gè)訓(xùn)練集。注意:這個(gè)上標(biāo)“(i)”在這個(gè)符號(hào)iiiiii表示法中就是訓(xùn)練集中的索引項(xiàng),并不是表示次冪的概念。我們會(huì)使用χ表示輸入變量的定義域,使用表示輸出變量的值域。在這個(gè)例子中χ=Y=R
為了更正式的描述我們這個(gè)預(yù)測(cè)問(wèn)題,我們的目標(biāo)是給出一個(gè)訓(xùn)練集,去學(xué)習(xí)產(chǎn)生一個(gè)函數(shù)h:X→ Y 因此h(x)是一個(gè)好的預(yù)測(cè)對(duì)于近似的y。由于歷史性的原因,這個(gè)函數(shù)h被叫做“假設(shè)”。預(yù)測(cè)過(guò)程的順序圖示如下:
當(dāng)我們預(yù)測(cè)的目標(biāo)變量是連續(xù)的,就像在我們例子中的房子的價(jià)格,我們叫這一類的學(xué)習(xí)問(wèn)題為“回歸問(wèn)題”,當(dāng)我們預(yù)測(cè)的目標(biāo)變量?jī)H僅只能取到一部分的離散的值(就像如果給出一個(gè)居住面積,讓你去預(yù)測(cè)這個(gè)是房子還是公寓,等等),我們叫這一類的問(wèn)題是“分類問(wèn)題”
PART I Linear Reression 為了使我們的房子問(wèn)題更加有趣,我們假設(shè)我們知道每個(gè)房子中有幾間臥室:
在這里,x是一個(gè)二維的向量屬于R。例如,x1i就是訓(xùn)練集中第i個(gè)房子的居住面積,i是訓(xùn)練集中第i個(gè)房子的臥室數(shù)量。(通常情況下,當(dāng)設(shè)計(jì)一個(gè)學(xué)習(xí)問(wèn)題的時(shí)候,這些輸x22入變量是由你決定去選擇哪些,因此如果你是在Portland收集房子的數(shù)據(jù),你可能會(huì)決定包含其他的特征,比如房子是否帶有壁爐,這個(gè)洗澡間的數(shù)量等等。我們以后可能會(huì)涉及到更多變量的問(wèn)題,現(xiàn)在我們先按照給定的變量的講解。)
為了完成監(jiān)督是學(xué)習(xí),我們必須決定怎么樣去描述我們的函數(shù)/假設(shè) h 在計(jì)算機(jī)中。有一個(gè)最初的選擇,我們把y近似的看成是x的一個(gè)線性函數(shù):h??x???0??1x1??2x2 在這里,θ(i)是參數(shù)(也叫做權(quán)重)是y關(guān)于x的線性函數(shù)之間的參數(shù)。當(dāng)y與x之間沒(méi)有其他影響因素的時(shí)候我們將會(huì)舍棄下標(biāo)θ,通常寫為h(x)。為了簡(jiǎn)化我們的標(biāo)注,我們習(xí)慣上令x0=1(這個(gè)是截距),因此可以寫成
右邊的θ和x都是向量并且這里n是輸入的變量的個(gè)數(shù)(不是計(jì)算x0的個(gè)數(shù))。
現(xiàn)在給定一個(gè)訓(xùn)練集,我們?cè)趺催x擇、學(xué)習(xí)、計(jì)算權(quán)重θ?一個(gè)合理的方法類似與讓h?x?盡可能的接近于y,至少對(duì)于我們所訓(xùn)練的數(shù)據(jù)都是適合的。使這個(gè)近似形式化,我們定義一個(gè)測(cè)量函數(shù)去記錄對(duì)于每一個(gè)θ,h(x(i))有多接近于y(i)。我們定義一個(gè)代價(jià)函數(shù)
如果你以前了解過(guò)線性回歸,你會(huì)認(rèn)出這個(gè)和最小二乘法比較近似。不管你以前是否看過(guò)他,讓我們繼續(xù),并且我們最終會(huì)證明這個(gè)知識(shí)眾多的算法大家庭中的一個(gè)特例而已。LMS algorithm(Least Mean Square 最小均方差算法)我們想去選擇一個(gè)θ使得J(θ)取的最小值。為了這樣做,我們用一個(gè)尋找算法給θ賦一個(gè)初值(隨機(jī)的),然后不斷的重復(fù)改變?chǔ)鹊拇笮∫员闶荍(θ)更小,直到我們找到一個(gè)θ是的J(θ)達(dá)到我們期望的最小值。特別的,我們考慮“梯度下降算法”,用下面這個(gè)公式尋找θ。
(這個(gè)更新過(guò)程同時(shí)的對(duì)所有的j=0…n執(zhí)行)α表示“學(xué)習(xí)速率”。這是一個(gè)自然算法,反復(fù)的對(duì)J在減小的方向上邁出一大步直到最小。
為了執(zhí)行這個(gè)算法,我們需要做的工作就是計(jì)算出等號(hào)右邊的偏導(dǎo)數(shù)。首先我們計(jì)算出一組(x,y)樣本的偏導(dǎo)數(shù),這是我們可以先忽略掉對(duì)J的求和。(運(yùn)用求導(dǎo)定律很容易就能求出導(dǎo)數(shù))
對(duì)于單一的訓(xùn)練樣本,這里給出了更新的規(guī)則:
這個(gè)規(guī)則就叫做LMS更新規(guī)則(LMS是least mean squares的縮寫)也被叫做Widrow-Hoff(就是Widrow和Hoff這兩位大仙發(fā)明的這個(gè)算法。參考鏈接:http://baike.baidu.com/link?url=bmZNDF9xV8GMtSE_rk9eV_9UbE9wGrnAdYqyf876U3Lf4IKfkRZVCoACvxF2dm1zmRDu1UUYzW9nQs-8oPWhu_)學(xué)習(xí)規(guī)則。這個(gè)算法有幾個(gè)自然的和直觀的特性。例如,更新的量級(jí)正比于誤差項(xiàng)
(y(i)? h_(x(i)));因此,當(dāng)我們遇到一組訓(xùn)練樣本的預(yù)測(cè)值非常接近他的真實(shí)值的時(shí)候,我們會(huì)發(fā)現(xiàn)在更新過(guò)程中權(quán)重項(xiàng)基本不變;相反的這個(gè)權(quán)重項(xiàng)會(huì)有一個(gè)大的變化當(dāng)我們的預(yù)測(cè)值hθ(x(i))有大的誤差的時(shí)候(例如預(yù)測(cè)值和真實(shí)值y(i)差別非常大的時(shí)候)
我們推斷出了當(dāng)有一個(gè)訓(xùn)練樣本是的LMS算法。我們有兩種方法可以讓這個(gè)算法去適應(yīng)多于一個(gè)訓(xùn)練樣本的例子。第一種是用下面這種算法替換:
可以很容易的證明上述的更新規(guī)則算法的運(yùn)算量?jī)H僅是
?J(?)(對(duì)J的初始化定義)。??j因此這是一個(gè)簡(jiǎn)單的梯度下降算法對(duì)于原始成本函數(shù)J。這個(gè)方法注重每一個(gè)訓(xùn)練樣本在訓(xùn)練過(guò)程中的每一步,所以也被叫做“批量梯度下降”。注意,梯度下降算法容易受到局部最小值的影響,這個(gè)優(yōu)化問(wèn)題我們對(duì)于線性回歸算法只有一個(gè)目標(biāo)就是找到最合適的,因此梯度下降算法總是收斂于全局最小值。(將設(shè)學(xué)習(xí)率α不是很大)實(shí)際上,J是一個(gè)凸函數(shù)。這里我們有一個(gè)梯度下降算法的例子,是使這個(gè)二次函數(shù)取得最小值。
B
這些橢圓表示了這個(gè)二次函數(shù)的等高線。這個(gè)紫色的線條表示的是取得最小值的軌跡,T初始化(48,30)。這個(gè)X標(biāo)識(shí)出來(lái)在圖中在梯度下降算法計(jì)算出的每個(gè)θ值,并且用實(shí)線連接起來(lái)。
當(dāng)我們運(yùn)行批量梯度算法去計(jì)算θ在我們以前的數(shù)據(jù)集去估計(jì)房子的價(jià)格使用房子的價(jià)格和房子面積的函數(shù),我們得到?0=71.27,?1=0.1345.如果我們把 h?(x)當(dāng)作x(面積)的函數(shù),使用訓(xùn)練樣本中的數(shù)據(jù),我們能得到下面這張圖:
如果臥室數(shù)量也被當(dāng)作一組輸入變量,我們得到?0=89.60,?1=0.1392,?2=-8.738.上面這些結(jié)果都是我們使用批量梯度算法得到的。對(duì)于批量梯度算法算法可以有其他的選擇使他更好的預(yù)測(cè)??紤]一下下面這個(gè)算法:
在這個(gè)算法中,我們重復(fù)的使用梯度下降算法在訓(xùn)練樣本中,并且每一次我們遇到一個(gè)訓(xùn)練樣本,我們更新這個(gè)權(quán)重僅僅根據(jù)每一次對(duì)訓(xùn)練樣本訓(xùn)練的梯度誤差。這種算法叫做“隨機(jī)梯度下降法”(也叫做增量梯度下降法。)然而批量梯度下降法必須要掃描全部的訓(xùn)練集在進(jìn)行每一步之前----一個(gè)多余的操作如果m特別大的話----隨即梯度下降算法可以隨時(shí)開(kāi)始,并且可以繼續(xù)進(jìn)行下一步在他跟蹤的樣本上。一般情況下,隨即梯度下降算法會(huì)比批量梯度算法更快的使的θ“接近”最小值。(注意雖然根本不可能收斂到最小值,并且這個(gè)權(quán)重θ會(huì)一直震蕩在使的J(θ)取得最小值的θ的附近;但是實(shí)際上大多數(shù)在最小值附近的值已經(jīng)可以取了,已經(jīng)可以近似的使函數(shù)取得最小值了)。更多的原因,特別是當(dāng)這個(gè)訓(xùn)練集很大的時(shí)候,隨即梯度下降算法通常是優(yōu)先選擇相對(duì)于批量梯度算法。The normal equations 梯度下降法給出了一種方法最小化J。讓我們討論另一種方法最小化J,這個(gè)算法明確的求解最小化并且不依賴于迭代算法。使用這種方法,我們通過(guò)計(jì)算J的導(dǎo)數(shù)來(lái)最小化J并且使他們等于0。為了不在運(yùn)算過(guò)程中寫過(guò)多的代數(shù)和大量的矩陣,這里對(duì)使用的計(jì)算矩陣的符號(hào)做一些介紹。
2.1 Matrix derivatives、定義一個(gè)函數(shù),從m*n的矩陣到實(shí)數(shù)的映射,(f:Rm*n?R)定義f關(guān)于矩陣A的導(dǎo)數(shù):
因此梯度?Af(A)本身就是
?A11?2f一個(gè)m*n維的矩陣,對(duì)于(i,j)的元素就是。舉個(gè)例子,假設(shè)A=??Aij?A212*2維的矩陣,并且函數(shù)f:R2*2A12??是一個(gè)A22??R 已給定為:f(A)?32A11?5A12?A21A22 2這里Aij表示矩陣
A中(i,j)維的元素。我們得到:
這里介紹一下跡算子記作“tr”。對(duì)于一個(gè)n*n維的矩陣A,A的跡就是矩陣主對(duì)角線上元素 的和trA??Ai?1nii。如果a是一個(gè)實(shí)數(shù)(例如a是一個(gè)1*1維的矩陣),tra=a。(如果你以前么有見(jiàn)到過(guò)這個(gè)運(yùn)算符號(hào),你可以矩陣A的跡看作tr(A)或者對(duì)矩陣A求他的跡。)
跡運(yùn)算同樣適用于兩個(gè)矩陣A和B因此AB如果都是方陣,我們可以得到 tr(AB)=tr(BA)。下面是這個(gè)公式的一些推論,我們有如下:
下面對(duì)于跡的操作的一些公式也很同意證明。這里A和B都是方陣,并且a是一個(gè)實(shí)數(shù)
我們下面給出一些矩陣導(dǎo)數(shù)的跡推論并不進(jìn)行證明(本節(jié)中不會(huì)用到)。等式(4)僅僅適用于非奇異方陣A,|A|表示A的行列式。
為了使我們的矩陣符號(hào)更具體,讓我們現(xiàn)在詳細(xì)解釋第一類方程的意義。假設(shè)我們有一些固定的矩陣B∈Rn*m.我們可以定義一個(gè)函數(shù)f:Rn*mn*m→R根據(jù)F(a)= tr(AB)。注意,這個(gè)定義是有意義的,因?yàn)槿绻鸄?R確實(shí)是從Rn*m,然后AB是一個(gè)方陣,我們可以將其應(yīng)用到它,因此f到R的映射。我們可以運(yùn)用我們的定義矩陣導(dǎo)數(shù)找到?Af(A),m*n矩陣。
T方程(1)在上述情況下,該矩陣的輸入(i,j)的值可以由B給出或者等價(jià)于Bji。方程的證明(1-3)是相當(dāng)簡(jiǎn)單的,留下作為給讀者的練習(xí)。方程(4)可以使用伴隨矩陣和矩陣的逆來(lái)推導(dǎo)。2.2 Least squares revisited
隨著矩陣導(dǎo)數(shù),我們開(kāi)始繼續(xù)在封閉的模型中尋找θ使的J(θ)取得最小值,開(kāi)始先把J重新寫入向量矩陣中。
給定一個(gè)訓(xùn)練集,定義m*n維的矩陣X(實(shí)際上是m*(n+1)維的,如果算上偏置項(xiàng))在矩陣中包含給定的訓(xùn)練集的輸入值在
同時(shí),定義y為一個(gè)一維的列向量,值為所有的目標(biāo)值?
現(xiàn)在,從我們可以很容易證明:
運(yùn)用定理
可以得到
最后,為了最小化J,我們尋找J(θ)關(guān)于θ的導(dǎo)數(shù)。結(jié)合式子(2)和(3),我們發(fā)現(xiàn)
因此有:
AT??,B?BT?XXT
在第三步中,我們使用了實(shí)數(shù)的跡就是實(shí)數(shù)本身這個(gè)定理;第四步我們使用了在第五步中我們對(duì)式5使用AT??,B?BT?XXT和C=I和公式1.為了最tr(A)?tr(AT),小化J,我們使他的導(dǎo)數(shù)等于0可以得到如下等式:
因此,使的J(θ)最小的θ的值就可以有下式得到: Probabilistic interpretation
當(dāng)?shù)玫揭粋€(gè)回歸問(wèn)題時(shí),什么時(shí)候使用線性回歸,什么時(shí)候選擇最小二乘算法去計(jì)算價(jià)值函數(shù)J?本節(jié)中,我們會(huì)給出一系列的假設(shè)來(lái)描述什么情況下使用最小二乘算法最合適。
假設(shè)我們的目標(biāo)變量和輸入變量的關(guān)系是:
xi?x
?i表示誤差項(xiàng)(就像我們預(yù)測(cè)房?jī)r(jià)例子中有很多其他因素比如地理位置,房屋年齡等這些我們考慮外的對(duì)房?jī)r(jià)有影響的因素我們沒(méi)有計(jì)算進(jìn)去),或者隨機(jī)噪聲。我們進(jìn)一步假定?i是分散的IID(independently and identically distributed)根據(jù)高斯分布(也叫正態(tài)分布)均值為0方差為?2。我們可以寫出這個(gè)?i的定義?i?N(0,?2)。也就是說(shuō)?i的概率密度是給定的
這表明:
說(shuō)明yi的分布是由xi和θ控制的。注意,我們不能單獨(dú)以θ為的條件,因?yàn)棣炔皇且粋€(gè)隨機(jī)值。我們也能把這個(gè)式子寫成另外一種形式:
給定X(設(shè)定好的矩陣包含所有的輸入變量xi)和θ,如何求的yi的分布呢?這個(gè)可能的值就是。這個(gè)值代表y(或者X)的一個(gè)關(guān)于θ的函數(shù)。當(dāng)我們明確
?的理解這個(gè)函數(shù)之后,我們給他起一個(gè)名字叫做似然函數(shù):
注意由于這個(gè)偏差項(xiàng)?i的獨(dú)立性(同樣的y和xi之間)這個(gè)式子也可以寫成
i
現(xiàn)在給定這個(gè)概率模型關(guān)于y和xi,怎么去選擇最合理的方法去最好的求解我們想
i要得到的參數(shù)θ?這個(gè)極大似然函數(shù)使的我們能盡可能的取得最好的θ。我們應(yīng)該選擇θ使的L(θ)最大。
最大化L(θ),我們可以最大化任意的單調(diào)遞增函數(shù)L(θ)。特別的,求他的派生物(這里表示的是對(duì)數(shù))的最大值回事比較簡(jiǎn)單的方法
:
因此,最大化相當(dāng)于最小化
我們認(rèn)出了這個(gè)J(θ)就是我們的最小二乘法函數(shù)。
小結(jié):在前面的概率模型計(jì)算中,使用最小二乘算法去尋找θ使得極大似然函數(shù)取得最大值。這個(gè)是一種比較合理的方法使用最小二乘法算法求解問(wèn)題。(注意雖然這個(gè)方法是合理的和比較好的但是一定還有更加合適的方法去使用這個(gè)方法)
注意,在我們前面的討論中,我們最終的選擇θ并沒(méi)有使用到偏差項(xiàng),而且也是因?yàn)榧词蛊铐?xiàng)我們不知道,計(jì)算的結(jié)果仍然是一樣的。這個(gè)結(jié)論我們會(huì)在后續(xù)討論指數(shù)族和廣義線性模型的時(shí)候用到。Locally weighted linear regression(局部加權(quán)線性回歸)
考慮這個(gè)問(wèn)題從x屬于R預(yù)測(cè) y。這個(gè)最左邊的模型顯示出這個(gè)預(yù)測(cè)得到的結(jié)果函數(shù)。我們看到這個(gè)數(shù)據(jù)并沒(méi)有全部落到這個(gè)線上,所以說(shuō)這個(gè)預(yù)測(cè)結(jié)果并不是很。
相反的,如果我們給這個(gè)函數(shù)加上一個(gè)額外的變量x2,預(yù)測(cè)函數(shù)則為,然后我們得到一個(gè)比剛才那個(gè)更適給定數(shù)據(jù)的預(yù)測(cè)函數(shù)(中間這幅圖)。看起來(lái)好像我們加上去的變量越多這個(gè)模型越好。然而,加上太多的模型也是危險(xiǎn)的對(duì)于我們的預(yù)測(cè)來(lái)說(shuō):右邊這個(gè)模型是一個(gè)使用了五個(gè)自變量的預(yù)測(cè)模型。我們可以看到這個(gè)模型完美的適和我們給定的數(shù)據(jù),我們不能期待這個(gè)是一個(gè)好的預(yù)測(cè)模型對(duì)于使用房子的面積去預(yù)測(cè)房子的價(jià)格。在沒(méi)有正式定義這些模型之前,我們可以看到左邊這個(gè)模型是低擬合度的例子-----給定訓(xùn)練集中的數(shù)據(jù)離我們給出的預(yù)測(cè)函數(shù)相差太多----右邊這個(gè)模型是過(guò)擬合度的例子。(本節(jié)課的后面,我們會(huì)給出這些定義的概念,并且給更加詳細(xì)的定義去判斷一個(gè)預(yù)測(cè)模型是好還是壞)
正如前面討論的和在上面例子中展示的,特征變量的選擇直接決定了一個(gè)學(xué)習(xí)模型的好壞。(當(dāng)我們討論模型選擇時(shí)候,我們會(huì)看到模型會(huì)自動(dòng)選擇特征變量。)在這部分,我們來(lái)討論一下局部加權(quán)線性回歸算法(LWR)假設(shè)有足夠的訓(xùn)練數(shù)據(jù),特征變量未鑒定。這個(gè)方法是聰明的,你會(huì)得到機(jī)會(huì)去發(fā)現(xiàn)這個(gè)算法的一些優(yōu)異之處在你的作業(yè)中。
在經(jīng)典線性回歸算法中,我們?cè)谝粋€(gè)點(diǎn)x做出預(yù)測(cè)我們將會(huì):
1、尋找使
2、輸出?Tx
相反的在局部加權(quán)線性回歸算法中我們會(huì)這樣做:
最小化的θ
1、尋找使T2、輸出?x
最小的θ
在這里是一些非負(fù)的權(quán)值。更直接的如果是一個(gè)非常大的特殊值關(guān)于i的,之后
更小。如果
很小,之在選擇θ的過(guò)程中,我們會(huì)盡最大努力去使后計(jì)算過(guò)程中的誤差項(xiàng)可以直接被忽略在尋找的過(guò)程中。
一個(gè)公平的標(biāo)準(zhǔn)選著權(quán)值的公式是:
i注意那些我們將要預(yù)測(cè)x并且對(duì)特別點(diǎn)x有依賴的權(quán)值。特別的是如果|x?x|很小,這個(gè)
i權(quán)值就會(huì)接近1;并且如果|x?x|很大,這個(gè)權(quán)值就會(huì)很小。因此,θ被選來(lái)作為更高的“權(quán)重”去減小誤差使的取得最合適的值在x偏差較大的點(diǎn)上。(注意,而權(quán)重公式外觀類似于高斯分布的密度,形成W是不直接跟高斯有任何聯(lián)系,和特別是W不是隨機(jī)變量,正態(tài)分布或其他參數(shù)τ控制。)如何快速的訓(xùn)練樣本的重量脫落的x距離從查詢點(diǎn)X;τ叫做帶寬參數(shù),而且也是你會(huì)在你的家庭作業(yè)見(jiàn)到的東西。
局部加權(quán)線性回歸是我們看到的非參數(shù)化算法的第一個(gè)例子。(未加權(quán))線性回歸算法,我們前面看到的是一個(gè)眾所周知的參數(shù)學(xué)習(xí)算法,因?yàn)樗幸粋€(gè)固定的,有限數(shù)量的參數(shù)(θ),這是適合這個(gè)數(shù)據(jù)的。一旦我們適應(yīng)θ并且儲(chǔ)存了他,我們不再需要保持訓(xùn)練數(shù)據(jù)進(jìn)行未來(lái)預(yù)測(cè)。相反,使用局部加權(quán)線性回歸預(yù)測(cè),我們需要整個(gè)訓(xùn)練集。術(shù)語(yǔ)“非參數(shù)化”(粗略)指的是,我們需要保持的東西的量,以表示的假設(shè)小時(shí)增長(zhǎng)線性的訓(xùn)練集的大小。
Part II Classification and logistic Regression(分類和線性回歸)
現(xiàn)在讓我們來(lái)分析分類問(wèn)題。這就和回歸問(wèn)題一樣,除了我們現(xiàn)在要預(yù)測(cè)的值y僅僅是一些小的離散的值之外?,F(xiàn)在開(kāi)始,我們將會(huì)把目光放在二元分類問(wèn)題上,也就是y只能去兩個(gè)值 0 和 1。(我們?cè)谶@說(shuō)的簡(jiǎn)單的形式可以推廣到更加復(fù)雜的形式)。例如,如果我們想要建立一個(gè)垃圾郵件分類系統(tǒng),x是郵件的特征,y是1代表是垃圾郵件,是0則代表不是。0也叫做否定類,1也叫做肯定類,一些情況下也用“+、-”來(lái)表示。給定x,y也被叫做訓(xùn)練集的標(biāo)簽。Logistic regression 我們可以解決分類問(wèn)題不論y是否是離散值,并且用以前的線性回歸算法去試著預(yù)測(cè)我們給定x的y值。然而,非常容易證明這個(gè)方法是不足的。更直觀的是,他對(duì)于h?(x)沒(méi)有什么意義當(dāng)值大于1或者小于0的時(shí)候當(dāng)我們界定y?{0,1}。
為了解決這個(gè)問(wèn)題,我們改變這個(gè)假設(shè)函數(shù)h?(x)。我們選擇
邏輯函數(shù),下面是他的函數(shù)圖像
注意g(z)趨近1當(dāng)z趨近于?,并且g(z)趨近于0當(dāng)z趨近于-?。另外g(z)和h(x)的值域都是[0,1]。我們約定x0?1,因此
從現(xiàn)在開(kāi)始,我們都假定g是已知的。其他函數(shù)如果是0—1之間的連續(xù)函數(shù)也是可以使用的,但是有兩個(gè)原因我們將會(huì)看到(當(dāng)我們討論GLMs是,還有討論生成學(xué)習(xí)算法的時(shí)候)選擇他做回歸函數(shù)是最合適的。在開(kāi)始下一節(jié)千,這里有一個(gè)重要的推論關(guān)于sigmoid函數(shù)的導(dǎo)數(shù):
因此,給定這個(gè)邏輯回歸模型,怎么去找一個(gè)適合的θ?接下來(lái)我們將會(huì)使用最小二乘法和極大似然估計(jì)相結(jié)合來(lái)求出。將會(huì)結(jié)合概率和極大似然函數(shù)來(lái)球權(quán)重參數(shù)。
我們假設(shè):
注意這個(gè)也可以簡(jiǎn)單的寫為 假定給定的m個(gè)樣本之間都是相互獨(dú)立的,我們可以得到如下極大似然函數(shù):
像以前一樣很容易對(duì)這個(gè)似然函數(shù)的對(duì)數(shù)求最大值:
怎么樣去最大化這個(gè)似然函數(shù)呢?像在線性回歸里面所做的一樣,我們可以使用梯度上升法。寫成向量的形式,更新式子是
(注意這個(gè)公式中的正負(fù)號(hào)還有我們是要求的是最大值而不是最小值)。首先在一個(gè)訓(xùn)練樣本(x,y)上使用這個(gè)公式,并且對(duì)他的對(duì)數(shù)求導(dǎo):
我們使用公式
。求出來(lái)的就是隨即梯度更新規(guī)則:
如果我們拿這個(gè)和LMS更新規(guī)則比較,我們會(huì)發(fā)現(xiàn)這兩個(gè)是完全一樣的;但是這是不一樣的算法得到的,因?yàn)閔?(xi)現(xiàn)在是有非線性的函數(shù)?Txi定義的。盡管如此,我們還是很好奇為什么不一樣的算法和不一樣的學(xué)習(xí)方法會(huì)得到同樣的結(jié)果。這是偶然嗎?或者有更深層次的原因在里面,我們將會(huì)解答這個(gè)問(wèn)題在GLM模型中。6 Digression: The perceptron learning algorithm(感知學(xué)習(xí)算法)
我們現(xiàn)在額外的增加一個(gè)算法由于一些歷史愛(ài)好,我們將會(huì)回歸到整體之后討論學(xué)習(xí)理論的時(shí)候。試著想一下改變這個(gè)邏輯回歸模型去要求他去預(yù)測(cè)一個(gè)值是0或1或者其他。為了達(dá)到目的自然而然的從新定義g為一個(gè)閥值函數(shù)
如果我們使用
在前面作為我們的預(yù)測(cè)函數(shù),其他都不變我們更新規(guī)則如:我們叫新的算法為感知學(xué)習(xí)算法。
在19世紀(jì)60年代,這個(gè)“感知”被認(rèn)為是一個(gè)粗陋的模型對(duì)于人腦中工作的單個(gè)神經(jīng)元??紤]到這個(gè)算法比較簡(jiǎn)單并且作為一個(gè)開(kāi)始對(duì)于我們下節(jié)理論討論做一個(gè)開(kāi)頭來(lái)講一下。注意雖然這個(gè)感知學(xué)習(xí)算法看起來(lái)和我們其他的學(xué)習(xí)算法一樣,實(shí)際上他是一個(gè)不同于邏輯回歸和最小二乘回歸類型的算法,特別的是,他很難賦予感知算法概率的應(yīng)用,或者使用最大似然估計(jì)算法去求解。Another algorithm for maximizing ?(θ)回到邏輯回歸算法g(z)使用sigmoid函數(shù),我們接下來(lái)講解一種不一樣的算法來(lái)最小化l(?)開(kāi)始之前,我們先看一下牛頓的方法去尋找一個(gè)函數(shù)的零點(diǎn)。特別的,假設(shè)我們有一系列的函數(shù)f:R—>R,并且我們想找到一個(gè)值使的f(θ)=0。這里θ輸入R是一個(gè)實(shí)數(shù)。牛頓的方法如下:。這個(gè)方法我們可以這樣理解,選定一個(gè)值做自變量的垂線過(guò)函數(shù)上這點(diǎn)做函數(shù)的切線與函數(shù)軸交與一點(diǎn),再過(guò)這點(diǎn)做垂線,再過(guò)這點(diǎn)做函數(shù)的切下知道找到切線斜率為零的點(diǎn)。下面是一副圖表示牛頓法的過(guò)程
在左邊這張圖中我們看到函數(shù)f畫了一條直線在y=0處。我們希望找到的θ使得f(θ)=0;這個(gè)θ的值大約是1.3。假設(shè)我們初始化這個(gè)算法定義θ=4.5.牛頓的方法是通過(guò)函數(shù)上這點(diǎn)做f的切線,并且評(píng)估這條線的值是否為0.這給我們下一個(gè)猜想的對(duì)于θ,大約是2.8.最右邊的圖指出了這個(gè)最后一次迭代的結(jié)果,這時(shí)候更新的θ大約是1.8.一陣迭代之后我們能很快的接近θ=1.3.牛頓的方法給出了一種使f(θ)=0的方法。我們?cè)趺窗堰@個(gè)應(yīng)用到我們求解l函數(shù)中?這個(gè)函數(shù)的最大值相當(dāng)于去求他的一階導(dǎo)數(shù)等于0的點(diǎn)。因此令f(θ)=l`(θ),我們能使用相同的算法去是L最大,我們得到這個(gè)更新規(guī)則:
(需要考慮的問(wèn)題:如果我們想要求一個(gè)函數(shù)的最小值而不是最大值這個(gè)算法應(yīng)該如何改進(jìn)?)
最后,在我們的邏輯回歸設(shè)定中,θ是一個(gè)向量,因此我們需要推廣牛頓法到向量級(jí)別。這個(gè)推廣的方法是把牛頓法應(yīng)用到多維中(也叫做牛頓—拉普森方法)
這里???(?)是?(?)對(duì)θ的偏導(dǎo)數(shù),H是一個(gè)n*n的矩陣(實(shí)際上是n+1*n+1維的,我們帶上截距項(xiàng))叫做Hessian,是由下面的式子給定:
牛頓法更加快速的收斂到最小值比著梯度下降法,并且需要更少的迭代次數(shù)接近最小值。一次牛頓迭代會(huì)花費(fèi)更大的代價(jià)比著梯度下降算法,當(dāng)他要求找到和反相一個(gè)海森矩陣的時(shí)候,但是如果n不是很大的時(shí)候,牛頓算法通常是更快的。當(dāng)牛頓算法應(yīng)用到求邏輯回歸極大似然函數(shù)的最大值的時(shí)候,這個(gè)求解方法也被叫做Fisher scoring。
Part III Generalized Linear Models(廣義線性模型)
至今為止,我們已經(jīng)看來(lái)一個(gè)回歸分析的例子和一個(gè)分類分析的例子。在兩個(gè)例子中都有一些近似的函數(shù),2回歸分析的例子中我們有yx;??N(?,?),在分類的例子中有yx;??Bernoulli(?)
本節(jié)我們將會(huì)展示出這些都是廣義線性模型中的一部分。我們也會(huì)推到一些其他的適用于回歸和分類問(wèn)題中的廣義線性模型。The exponential family 為了引出GLMS,我們先說(shuō)一下指數(shù)分布。我們定義一個(gè)分布是指數(shù)分布如果他可以被寫為如下形式:
?叫做特性參數(shù)(也叫做典型參數(shù));T(y)是充分統(tǒng)計(jì)量(通常情況下T(y)=y),a(?)是對(duì)數(shù)劃分函數(shù)。分量e?a(?)作用是歸一化參數(shù),確保p(y;η)的和是大于1的。
T一個(gè)復(fù)雜的選擇,a和b定義一個(gè)分布族關(guān)于參數(shù)η;當(dāng)我們改變?chǔ)堑闹禃r(shí),我們會(huì)得到不同的分布在這個(gè)分布族里面。
現(xiàn)在看到的Bernoulli和Gaussian分布都是指數(shù)分布的一個(gè)例子。Bernoulli分布均值為υ寫為Bernoulli(υ),指定一個(gè)分布y∈{0,1},寫成p(y=1;υ)=Φ;p(y=0;υ)=1-υ
h?(x)
當(dāng)我們改變?chǔ)缘闹?,我們得到不同均值的Bernoulli分布?,F(xiàn)在我們證明這一類的Bernoulli分布,在例子中選擇T,a和b所以式子(6)是Bernoulli分布。我們把Bernoulli分布寫為:
因此,特性參數(shù)由??log?1??給出。有意思的是,當(dāng)我們使用η表示υ的時(shí)候我們會(huì)得到υ=1/(1+e^(-η))。這個(gè)看起來(lái)是不是和sigmoid函數(shù)很像。這將會(huì)再次被提到當(dāng)我們把邏輯回歸分析看作GLM時(shí)。為了完成Bernoulli分布是指數(shù)分布的一種的猜想,我們進(jìn)一步有:
這表明選擇適當(dāng)?shù)腡,a和b的時(shí)候,Bernoulli分布可以被寫成式(6)的形式。我們進(jìn)一步來(lái)討論Gaussian分布?;叵胍幌?,當(dāng)我們推導(dǎo)線性回歸時(shí),?的值對(duì)我們最終選擇的θ和
2h?(x)沒(méi)有任何影響。因此我們可以選擇任意值作為?2而不去改變他的值。為了簡(jiǎn)化式子我們定義?=1.我們可以得到: 2
因此我們看到高斯分布也在指數(shù)分布族里面,當(dāng)
有許多其他分布指數(shù)的家人:多項(xiàng)分布(我們稍后將看到),在泊松分布(造型計(jì)數(shù)數(shù)據(jù);也看到問(wèn)題集);伽瑪和指數(shù)(造型連續(xù)、非負(fù)隨機(jī)變量,如時(shí)間間隔),β和狄利克雷(對(duì)概率分布),和許多更多。在下一節(jié)中,我們將描述構(gòu)建模型的一般“食譜”,y(x和θ)來(lái)自這些發(fā)行版。Constructing GLMs 假設(shè)您想要構(gòu)建一個(gè)模型來(lái)估計(jì)客戶來(lái)到你的商店的數(shù)量y(或您的網(wǎng)站上的頁(yè)面瀏覽量數(shù)量)在任何給定時(shí)刻,基于某些特性x等商店促銷,最近的廣告、天氣、讀寫等。我們知道,泊松分布通常提供了一個(gè)好的模型數(shù)量的游客。知道了這一點(diǎn),我們?cè)趺茨芟氤鲆粋€(gè)模型問(wèn)題?幸運(yùn)的是,泊松是一個(gè)指數(shù)族分布,所以我們可以應(yīng)用一個(gè)廣義線性模型(GLM)。我們將在本節(jié)中,我們將描述一個(gè)方法構(gòu)建全球語(yǔ)言監(jiān)測(cè)模型,諸如此類的問(wèn)題。
更為普遍的是,考慮這樣一個(gè)分類或回歸問(wèn)題,我們想要預(yù)測(cè)一些隨機(jī)變量的值y作為x的函數(shù)。獲得一個(gè)漠視這個(gè)問(wèn)題,我們將進(jìn)行以下三個(gè)假設(shè)條件分布的y x和關(guān)于我們的模型:
1、y | x;θ~ExponentialFamily(η)。即。鑒于x和θ,y的分布遵循一些指數(shù)族分布,參數(shù)η。
2、鑒于x,我們的目標(biāo)是預(yù)測(cè)T的預(yù)期值x(y)。在我們的大多數(shù)示例中,我們將T(y)= y,所以這意味著我們想預(yù)測(cè)h(x)的輸出由我們學(xué)習(xí)假說(shuō)h滿足h(x)= E[y | x]。(注意,這個(gè)假設(shè)是選擇滿足h(x)邏輯回歸和線性回歸。例如,在邏輯回歸,我們有h(x)= p(y = 1 | x;θ)= 0·p(y = 0 | x;θ)+ 1·p(y = 1 | x;θ)= E[y | x;θ]。)
3、η的自然參數(shù)和輸入x相關(guān)線性:η=θT x。(或者,如果η量值,那么ηi =θTi x)。第三的這些假設(shè)似乎是最合理的,而且它可能是更好的認(rèn)為是一種“設(shè)計(jì)選擇”在我們的配方設(shè)計(jì)的漠視,而不是作為一個(gè)假設(shè)本身。這三個(gè)假設(shè)/設(shè)計(jì)的選擇將使我們能夠獲得一個(gè)非常優(yōu)雅的classof學(xué)習(xí)算法,即全球語(yǔ)言監(jiān)測(cè)機(jī)構(gòu),有很多可取的屬性,如易于學(xué)習(xí)。此外,生成的模型往往是非常有效的模擬不同類型的分布在y;例如,我們不久將表明,邏輯回歸和普通最小二乘法都可以派生的漠視。9.1 Ordinary Least Squares 表明普通最小二乘法是一種特殊的GLM的家庭模型,考慮設(shè)置目標(biāo)變量y(也稱為響應(yīng)變量在GLM術(shù)語(yǔ))是連續(xù)的,而且我們模型x y給定的條件分布為高斯N(μ,σ2)。(在這里,μ可能取決于x)。所以,我們讓ExponentialFamily(η)分布是高斯分布。正如我們之前看到的,配方的高斯指數(shù)族分布,我們有μ=η。所以,我們有 上面的第一個(gè)假設(shè)2,平等;第二個(gè)平等的合集y | x;θ~N(μ,σ2),所以其預(yù)期值等于μ;第三個(gè)平等從假設(shè)1(和我們先前推導(dǎo)表明,μ=η配方的高斯指數(shù)族分布),和最后一個(gè)平等遵循從假設(shè)3。
9.2 Logistic Regression 我們現(xiàn)在考慮邏輯回歸。我們感興趣的是二進(jìn)制分類,因此y∈{ 0,1 }。鑒于y binary-valued,因此自然選擇的伯努利家族分布模型的條件分布x y。在我們制定的伯努利分布指數(shù)族分布,我們有υ= 1 /(1 + e?)。此外,請(qǐng)注意,如果x,y |θ~伯努利(υ),然后E x y |,θ=υ。similarderivation后,作為一個(gè)普通的最小二乘法,我們得到:
所以,這給了我們假設(shè)函數(shù)形式的h(x)= 1 /(1 + e?T x)。如果你以前想知道我們想出了物流功能的形式1 /(1 + e?z),這給了一個(gè)答案:一旦我們假設(shè)x y條件是伯努利,它產(chǎn)生的后果的漠視和指數(shù)族分布的定義。引入更多的術(shù)語(yǔ)中,該函數(shù)g給分配的平均作為自然參數(shù)的函數(shù)(g(η)= E(T(y);η))被稱為規(guī)范響應(yīng)函數(shù)。其逆,g?1,稱為規(guī)范化鏈接功能。因此,規(guī)范響應(yīng)函數(shù)為高斯家庭只是識(shí)別功能,和規(guī)范化是伯努利響應(yīng)函數(shù) 9.3 Softmax Regression 讓我們看看一個(gè)GLM的例子??紤]一個(gè)分類問(wèn)題的反應(yīng)變量y可以承擔(dān)任何一個(gè)k值,因此y∈{ 1 2,。、k}。例如,而不是電子郵件分類到兩類垃圾郵件或非垃圾郵件,將是一個(gè)二元分類問(wèn)題,我們可能需要分類成三個(gè)類,如垃圾郵件、個(gè)人郵件,與工作相關(guān)的郵件。響應(yīng)變量仍然是離散的,但現(xiàn)在能超過(guò)兩個(gè)值。我們將因此分布式根據(jù)多項(xiàng)分布模型。
允許派生的GLM造型這種類型的多項(xiàng)數(shù)據(jù)。這樣做,我們將首先表達(dá)了多項(xiàng)指數(shù)族分布。參數(shù)化一個(gè)多項(xiàng)式在k可能的結(jié)果,可以使用υ1 k參數(shù),。,υk指定每個(gè)結(jié)果的概率。然而,這些參數(shù)將是多余的,或者更正式,他們不會(huì)獨(dú)立(因?yàn)橹廊魏蝛?1υi獨(dú)特的決定 最后一個(gè),因?yàn)樗麄儽仨殱M足Pkiυi = 1 = 1)。所以,我們將參數(shù)化多項(xiàng)式只有k?1參數(shù),υ1,。,υk?1,υi = p(y =我;υ)和p(y = k;υ)= 1?Pk?1 i = 1υi。記數(shù)的便利,我們還將讓?duì)詋 = 1?Pk?1 i = 1υi,但我們應(yīng)該記住,這不是一個(gè)參數(shù),而且它完全υ1規(guī)定,。,υk?1。
表達(dá)多項(xiàng)指數(shù)族分布,我們將定義T(y)∈R^k?1如下: 與我們之前的例子,在這里我們沒(méi)有T(y)= y;此外,T(y)現(xiàn)在是一個(gè)k?1維向量,而不是一個(gè)實(shí)數(shù)。我們將編寫(T(y))我表示的第i個(gè)元素的向量T(y)。我們介紹一個(gè)非常有用的符號(hào)。一個(gè)指標(biāo)函數(shù)1 {·}就值1如果它的參數(shù)是正確的,和0(1 {真正} = 1,1 {假} = 0)。例如,1 { 2 = 3 } = 0和1 { 3 =5?2 } = 1。所以,我們還可以寫T之間的關(guān)系(y)和y(T(y)){ y =我} i = 1。(繼續(xù)閱讀之前,請(qǐng)確保你明白為什么這是真的!)進(jìn)一步,我們有E[(T(y))我]= P(y =我)=υi。
現(xiàn)在,我們可以證明這個(gè)多項(xiàng)式指數(shù)家族的一員,有如下:
至此我們制定的多項(xiàng)指數(shù)族分布。
鏈接函數(shù)給出了for i= 1,?,k)
為了方便起見(jiàn),我們也定義ηk=log(υk /υk)= 0 =。逆函數(shù)并獲得響應(yīng)函數(shù)的聯(lián)系,因此,我們有
這意味著υk = 1 / Pki = 1 ei,可代替回方程(7)給響應(yīng)函數(shù) 這個(gè)函數(shù)映射η的υ的叫做將softmax功能。
完成我們的模型,我們使用假設(shè)3,鑒于ηi的早些時(shí)候,x的線性相關(guān)。所以,ηi =θTi x(因?yàn)槲? 1,。θ1,k?1),。,θk?1∈Rn + 1是我們的模型的參數(shù)。記數(shù)的方便,我們還可以定義θk = 0,以便ηk =θT k x = 0,鑒于之前。因此,我們的模型假設(shè)的條件分布ygiven x等于
這個(gè)模型,這也適用于分類問(wèn)題y∈{ 1,?k },叫做softmax回歸。這是一個(gè)邏輯回歸的概括。
我們的假設(shè)將輸出
換句話說(shuō),我們的假設(shè)將輸出概率估計(jì)p(y =我| x;θ),為每一個(gè)值的我= 1,。k。(盡管h(x)如上定義只是k?1維,顯然p(y = x k |;θ)可以獲得1?Pk?1 i = 1υi)。最后,讓我們討論參數(shù)擬合。類似于我們最初派生的普通最小二乘法和邏輯回歸,如果我們有一個(gè)訓(xùn)練集m的例子{(x(i),y(i));i= 1,?,m },愿學(xué)習(xí)的參數(shù)θi這個(gè)模型中,我們將首先寫下log-likelihood
獲得第二行以上,我們定義用于p(y | x;θ)給出了方程(8)。我們現(xiàn)在可以獲得的最大似然估計(jì)的參數(shù)通過(guò)最大化?(θ)θ,使用梯度上升或牛頓法等方法。
第二篇:斯坦福大學(xué)機(jī)器學(xué)習(xí)梯度算法總結(jié)
斯坦福大學(xué)機(jī)器學(xué)習(xí)梯度下降算法學(xué)習(xí)心得和相關(guān)概念介紹。
1基礎(chǔ)概念和記號(hào)
線性代數(shù)對(duì)于線性方程組可以提供一種簡(jiǎn)便的表達(dá)和操作方式,例如對(duì)于如下的方程組:
4x1-5x2=13
-2x1+3x2=-9
可以簡(jiǎn)單的表示成下面的方式:
X也是一個(gè)矩陣,為(x1,x2)T,當(dāng)然你可以看成一個(gè)列向量。
1.1基本記號(hào)
用A ∈表示一個(gè)矩陣A,有m行,n列,并且每一個(gè)矩陣元素都是實(shí)數(shù)。用x ∈ , 表示一個(gè)n維向量.通常是一個(gè)列向量.如果要表示一個(gè)行向量的話,通常是以列向量的轉(zhuǎn)置(后面加T)來(lái)表示。
1.2向量的內(nèi)積和外積
根據(jù)課內(nèi)的定義,如果形式如xT y,或者yT x,則表示為內(nèi)積,結(jié)果為一個(gè)實(shí)數(shù),表示的是:,如果形式為xyT,則表示的為外積:。
1.3矩陣-向量的乘法
給定一個(gè)矩陣A ∈ Rm×n,以及一個(gè)向量x ∈ Rn,他們乘積為一個(gè)向量y = Ax ∈ Rm。也即如下的表示:
如果A為行表示的矩陣(即表示為),則y的表示為:
相對(duì)的,如果A為列表示的矩陣,則y的表示為:
即:y看成A的列的線性組合,每一列都乘以一個(gè)系數(shù)并相加,系數(shù)由x得到。
同理,yT=xT*A表示為:
yT是A的行的線性組合,每一行都乘以一個(gè)系數(shù)并相加,系數(shù)由x得到。
1.4矩陣-矩陣的乘法
同樣有兩種表示方式:
第一種:A表示為行,B表示為列
第二種,A表示為列,B表示為行:
本質(zhì)上是一樣的,只是表示方式不同罷了。
1.5矩陣的梯度運(yùn)算(這是老師自定義的)
定義函數(shù)f,是從m x n矩陣到實(shí)數(shù)的一個(gè)映射,那么對(duì)于f在A上的梯度的定義如下:
這里我的理解是,f(A)=關(guān)于A中的元素的表達(dá)式,是一個(gè)實(shí)數(shù),然后所謂的對(duì)于A的梯度即是和A同樣規(guī)模的矩陣,矩陣中的每一個(gè)元素就是f(A)針對(duì)原來(lái)的元素的求導(dǎo)。
1.6其他概念
因?yàn)槠颍圆辉谶@里繼續(xù)贅述,其他需要的概念還有單位矩陣、對(duì)角線矩陣、矩陣轉(zhuǎn)置、對(duì)稱矩陣(AT=A)、反對(duì)稱矩陣(A=-AT)、矩陣的跡、向量的模、線性無(wú)關(guān)、矩陣的秩、滿秩矩陣、矩陣的逆(當(dāng)且僅當(dāng)矩陣滿秩時(shí)可逆)、正交矩陣、矩陣的列空間(值域)、行列式、特征向量與特征值……
2用到的公式
在課程中用到了許多公式,羅列一下。嗯,部分公式的證明很簡(jiǎn)單,部分難的證明我也不會(huì),也懶得去細(xì)想了,畢竟感覺(jué)上數(shù)學(xué)對(duì)于我來(lái)說(shuō)更像是工具吧。
轉(zhuǎn)置相關(guān):
?(AT)T = A
?(AB)T = BT AT
?(A + B)T = AT + BT 跡相關(guān): ? For A ∈ Rn×n, trA = trAT.? For A, B ∈ Rn×n, tr(A + B)=trA + trB.? For A ∈ Rn×n, t ∈ R, tr(tA)= t trA.? For A, B such that AB issquare, trAB = trBA.? For A, B, C such that ABC issquare, trABC = trBCA = trCAB。當(dāng)乘法變多時(shí)也一樣,就是每次從末尾取一個(gè)矩陣放到前面去,這樣的矩陣乘法所得矩陣的跡是一致的。秩相關(guān)
? For A ∈ Rm×n,rank(A)≤ min(m, n).If rank(A)= min(m, n), 則A稱為滿秩
? For A ∈ Rm×n,rank(A)= rank(AT).? For A ∈ Rm×n, B ∈ Rn×p,rank(AB)≤ min(rank(A), rank(B)).? For A, B ∈ Rm×n,rank(A + B)≤ rank(A)+rank(B).逆相關(guān):
?(A?1)?1 = A
? If Ax = b, 左右都乘以A?1 得到 x = A?1b.?(AB)?1 = B?1A?1
?(A?1)T =(AT)?1.F通常表示為A?T.行列式相關(guān):
? For A ∈ Rn×n, |A| = |AT |.? For A, B ∈ Rn×n, |AB| = |A||B|.? For A ∈ Rn×n, |A| = 0,表示矩陣A是奇異矩陣,不可逆矩陣
? For A ∈ Rn×n and A 可逆, |A|?1 = 1/|A|.梯度相關(guān): ? ?x(f(x)+ g(x))= ?xf(x)+ ?xg(x).? For t ∈ R, ?x(t f(x))= t?xf(x).? ?xbT x = b
? ?xxT Ax = 2Ax(if A 對(duì)稱)
? ?2xxT Ax = 2A(if A 對(duì)稱)
? ?A|A| =(adj(A))T = |A|A?T.adj=adjoint
3梯度下降算法和正規(guī)方程組實(shí)例應(yīng)用
例子用的是上節(jié)課的房?jī)r(jià)的例子,有一組數(shù)據(jù),有房子面積和房子價(jià)格,輸入格式舉例:
老師定義的變量如下:
m:訓(xùn)練樣本的數(shù)目
x:輸入的變量(輸入的特征,在這個(gè)例子中為房子面積,后來(lái)又加了一個(gè)房子的臥室數(shù)目)
y :輸出變量(目標(biāo)變量,這個(gè)例子中就是房?jī)r(jià))
(x,y):表示的是一個(gè)樣本
:表示的第i個(gè)樣本,表示為。
3.1監(jiān)督學(xué)習(xí)概念
所謂的監(jiān)督學(xué)習(xí)即為告訴算法每個(gè)樣本的正確答案,學(xué)習(xí)后的算法對(duì)新的輸入也能輸入正確的答案。監(jiān)督指的是在訓(xùn)練樣本答案的監(jiān)督下,h即為監(jiān)督學(xué)習(xí)函數(shù)。
此例中我們假設(shè)輸出目標(biāo)變量是輸入變量的線性組合,也就是說(shuō),我們的假設(shè)是存下如下的h(x):
Theta表示是特征前面的參數(shù)(也稱作特征權(quán)重)。也就是經(jīng)過(guò)h(x)之后得到的就是預(yù)測(cè)的結(jié)果了。
如果假設(shè)x0=1,那么原來(lái)的h(x)就可以簡(jiǎn)單的表示為如下形式:,其中n為特征數(shù)目,我們?yōu)榱吮磉_(dá)簡(jiǎn)便,把theta和x都寫成向量的形式。下面就是如何求出θ(向量)使得h(x)盡可能接近實(shí)際結(jié)果的,至少在訓(xùn)練集內(nèi)接近訓(xùn)練集中的正確答案。
我們定義一個(gè)花費(fèi)函數(shù)(costfunction),針對(duì)每一組θ,計(jì)算出h(x)與實(shí)際值的差值。定義如下:
這也是用的最小二乘法的思想,但是之所以乘以1/2是為了簡(jiǎn)化后面的計(jì)算。針對(duì)訓(xùn)練集中的每一組數(shù)據(jù)。剩下的問(wèn)題就是求得minJ(θ)時(shí)的θ取值,因?yàn)镴(θ)是隨著θ變化而變化,所以我們要求得minJ(θ)時(shí)的θ就是我們想要的θ(這個(gè)min也叫做最小花費(fèi)函數(shù)),怎么樣求出這組theta呢?采用的方法就是梯度下降算法和正規(guī)方程組。我們首先來(lái)看梯度下降算法。
3.2梯度下降算法
梯度下降算法是一種搜索算法,基本思想可以這樣理解:我們從山上的某一點(diǎn)出發(fā),找一個(gè)最陡的坡走一步(也就是找梯度方向),到達(dá)一個(gè)點(diǎn)之后,再找最陡的坡,再走一步,直到我們不斷的這么走,走到最“低”點(diǎn)(最小花費(fèi)函數(shù)收斂點(diǎn))。
如上圖所示,x,y表示的是theta0和theta1,z方向表示的是花費(fèi)函數(shù),很明顯出發(fā)點(diǎn)不同,最后到達(dá)的收斂點(diǎn)可能不一樣。當(dāng)然如果是碗狀的,那么收斂點(diǎn)就應(yīng)該是一樣的。
算法的theta更新表示如下:
對(duì)每一個(gè)theta(j),都先求J(θ)對(duì)theta(j)的偏導(dǎo)(梯度方向),然后減少α,然后將現(xiàn)在的theta(j)帶入,求得新的theta(j)進(jìn)行更新。其中α為步長(zhǎng),你可以理解為我們下山時(shí)走的步子的大小。步子太小了,收斂速度慢,步子太大了,可能會(huì)在收斂點(diǎn)附近來(lái)回?cái)[動(dòng)導(dǎo)致無(wú)法到達(dá)最低點(diǎn)。P.S.這個(gè)符號(hào)根據(jù)老師所說(shuō)理解為程序中的賦值符號(hào)(=號(hào)),如果是=號(hào),則理解為值是相等的(編程里面的==號(hào))。下面我們先理解下,假設(shè)現(xiàn)在訓(xùn)練集只有一組數(shù)據(jù)求關(guān)于theta(j)的偏導(dǎo):
帶入
可以得到關(guān)于一組數(shù)據(jù)的theta(j)的表達(dá)式,不妨,這組數(shù)據(jù)就是第i組,則表示為:
然后我們將這個(gè)更新theta(j)的方法擴(kuò)充到m個(gè)訓(xùn)練樣本中,就可以得到下面的式子:
P.S.最外面的那個(gè)xj(i)的理解為:第i組數(shù)據(jù)中的第j個(gè)特征(feature)值。
3.2.1批量梯度下降算法(batch gxxxxdxxxx algorithm)
重復(fù)執(zhí)行上面的這個(gè)更新步驟,直到收斂,就可以得到這組θ的值了。就是這個(gè)過(guò)程:。
這個(gè)算法就是批量梯度下降算法,為什么叫批量梯度下降?因?yàn)樽⒁獾缴鲜街忻扛乱粋€(gè)θj都需要計(jì)算所有的樣本取值,所以當(dāng)樣本數(shù)目非常大的時(shí)候(例如上萬(wàn)條甚至數(shù)十萬(wàn)條的時(shí)候),這樣的更新非常慢,找θ也非常慢,所以就有了另外一種改進(jìn)的梯度下降算法。
3.2.2隨機(jī)梯度下降算法/增量梯度下降算法
做一個(gè)小小的改進(jìn),用一個(gè)樣本做一個(gè)theta的更新,比如用樣本1做theta(1)的更新,用樣本2做theta(2)的更新,以此類推。這種方法的好處是速度上肯定比批量梯度下降算法快,而且樣本數(shù)據(jù)越多,體現(xiàn)應(yīng)該就越明顯。劣勢(shì)是得到的收斂點(diǎn)的值和批量梯度算法比起來(lái)也許不是最優(yōu)的值。
3.2.3梯度下降算法總結(jié)
不管是批量梯度算法還是隨機(jī)梯度下降算法,他們的共同點(diǎn)有以下:
1.時(shí)間復(fù)雜度都是O(mn)(m為樣本數(shù)目,n為特征值/影響因子數(shù)目)
2.都有梯度下降性質(zhì):接近收斂時(shí),每次“步子”(指實(shí)際減去的數(shù),而不是前面定義的α,α是手動(dòng)設(shè)置參數(shù),人為改變才會(huì)變)會(huì)越來(lái)越小。其原因是每次減去α乘以梯度,但是隨著收斂的進(jìn)行,梯度會(huì)越來(lái)越小,所以減去的值會(huì)。
3.判定收斂的方法都是如下兩種:
1)兩次迭代值改變量極小極小
2)J(θ)的值改變量極小極小
3.3正規(guī)方程組
寫在前面:這種方法是另一種方法了,和梯度下降算法就沒(méi)啥聯(lián)系了?。?!
首先回顧下前面定義的矩陣梯度運(yùn)算:
例如:
則:
定義一個(gè)矩陣,稱作設(shè)計(jì)矩陣,表示的是所有的樣本的輸入:
因?yàn)榍懊娴玫降慕Y(jié)論:
(θT*x(i)和x(i)的轉(zhuǎn)置*θ結(jié)果是一樣),可以得到
可以寫成如下的形式:
又因?yàn)閷?duì)于任意向量,所以可以得到:
運(yùn)用下面介紹的一系列性質(zhì):
(5)是由(2)和(3)得到的,進(jìn)行下面的推導(dǎo)
中間加tr不變的原因是因?yàn)槭且粋€(gè)實(shí)數(shù)(看成1x1矩陣)加跡等于他本身。
將上式設(shè)為0,得到正規(guī)方程組
求解得到
第三篇:英語(yǔ)美文翻譯(A note to my mom)
A love note to my mom
When i was a little girl,i wound often accompany you as you modeled for fashion
photographers.It was years later that I finally understood what role modeling play in your life.Little did i know you were saving every penny you earned to go to law school.I cannot thank you enough for what you told me one autumn afternoon when i was nine.After finishing my homework, i wandered into the dining where you were buried under piles of law books.I was puzzled.Why were you doing what i do---memorizing textbooks and studying for tests?When you said you were in law school, i was more puzzled.I did not know mom can be lawyers ,too.You smiled and said ?In life ,you can do anything you want to do.”
As young as i was,that statement kept in my ears.I watched as you faced the challenges of completing your studies,starting company with dad,while still being a model and a mom of five kids.I was exhausted just watching you i action.With your words of wisdom in my young mind,I suddenly felt unlimited freedom to dream.My whole world opened up.I set out to live my life filled with hope,i seeing endless possibilities for personal and professional achievements.Your words became my motto.I constantly found myself in the unique position of being either the first or one of the few women in my field.I gained strength every time i said “Yes,i will try.”
Encouraged by your words,i have forged ahead with my life?s journey,less afraid to mistakes,and eagerly meeting each challenge.You did it,now i am doing it.Sorry,got to run.So much to do,so many dreams to live.翻譯:
給媽媽的一封感謝信
那是,我還是一個(gè)小女孩,時(shí)常陪著作為時(shí)尚模特的你。然而,幾年后,我才明白模特在你生活中的地位。我絲毫不知這幾年你儲(chǔ)存你掙的每一分錢去上法律課。
我十分感謝你在我九歲那年秋天的一個(gè)下午我的話。我還記得那時(shí)我完成了家庭作業(yè),閑逛到客廳,發(fā)現(xiàn)你正埋頭在一堆法律書中。我很疑惑,為什么你做著和我一樣的事----背書和準(zhǔn)備考試。當(dāng)你告訴我你正在準(zhǔn)備上法律課,我更加疑惑了。我不知道媽媽也能當(dāng)律師。你微笑著告訴我:“生活中,你可以做任何你想做的事?!?/p>
這句話一直縈繞在我的耳邊。我發(fā)現(xiàn)你要面對(duì)完成學(xué)業(yè)的挑戰(zhàn),要與爸爸一起開(kāi)公司,而且還是時(shí)尚模特和五個(gè)孩子的媽媽。我看著你忙碌都感覺(jué)累了。隨著你智慧的話語(yǔ)在我幼小的心靈里生根發(fā)芽,我在追尋夢(mèng)想的路上感到無(wú)限的自由。我的整個(gè)世界都豁然開(kāi)朗。我的生活開(kāi)始變得充滿希望。我看到更多的個(gè)人和職業(yè)成就的可能性。
你的話成了我的座右銘。我不斷追求自己的第一或者一個(gè)領(lǐng)域里少有的獨(dú)特地位。每次說(shuō)“好,我要試一下”總能給我力量。
受你話語(yǔ)的啟發(fā),我在我的人生旅途上毅然前行,很少害怕犯錯(cuò),而且也更愿意接受每一次挑戰(zhàn)。你曾經(jīng)做到了,我現(xiàn)在正在做。信只能到此為止,抱歉,我又得繼續(xù)奔跑。有如此多是要做,有很多夢(mèng)想要去實(shí)現(xiàn)。
第四篇:機(jī)器學(xué)習(xí)報(bào)告
機(jī)器學(xué)習(xí)總結(jié)報(bào)告
劉皓冰
大部分人錯(cuò)誤地以為機(jī)器學(xué)習(xí)是計(jì)算機(jī)像人一樣去學(xué)習(xí)。事實(shí)上,計(jì)算機(jī)是死的,怎么可能像人類一樣“學(xué)習(xí)”呢,機(jī)器學(xué)習(xí)依靠的是數(shù)學(xué),更確切地說(shuō)是靠統(tǒng)計(jì)。
如果我們讓計(jì)算機(jī)工作,是給它一串指令,然后計(jì)算機(jī)會(huì)遵照這個(gè)指令一步步執(zhí)行下去,有因有果,非常明確。但這種方式在機(jī)器學(xué)習(xí)中是行不通的。機(jī)器學(xué)習(xí)是不會(huì)接受你輸入的指令的,它接受的是你輸入的數(shù)據(jù)。也就是說(shuō),機(jī)器學(xué)習(xí)是一種讓計(jì)算機(jī)利用數(shù)據(jù)而不是指令來(lái)進(jìn)行各種工作的方法。這聽(tīng)起來(lái)非常不可思議,但結(jié)果上卻是非??尚械??!敖y(tǒng)計(jì)”思想將在你學(xué)習(xí)“機(jī)器學(xué)習(xí)”相關(guān)理念時(shí)無(wú)時(shí)無(wú)刻不伴隨,相關(guān)而不是因果的概念將是支撐機(jī)器學(xué)習(xí)能夠工作的核心概念。
依據(jù)數(shù)據(jù)所做的判斷跟機(jī)器學(xué)習(xí)的思想根本上是一致的。機(jī)器學(xué)習(xí)方法是計(jì)算機(jī)利用已有的數(shù)據(jù)(輸入),得出了某種模型,并利用此模型預(yù)測(cè)未來(lái)(輸出)的一種方法。從數(shù)據(jù)中學(xué)得模型的過(guò)程稱為“學(xué)習(xí)”(learning)或“訓(xùn)練”(training),這個(gè)過(guò)程通過(guò)執(zhí)行某個(gè)學(xué)習(xí)算法來(lái)完成。訓(xùn)練過(guò)程中使用的數(shù)據(jù)成為“訓(xùn)練數(shù)據(jù)”(training data),其中每個(gè)樣本稱為一個(gè)“訓(xùn)練樣本”(training sample),訓(xùn)練樣本組成的集合稱為“訓(xùn)練集“(training set)。學(xué)得模型對(duì)應(yīng)了關(guān)于數(shù)據(jù)的某種潛在的規(guī)律,因此亦稱”假設(shè)“(hypothesis);這種潛在規(guī)律自身,則稱為”真相“或”真實(shí)“(ground-truth),學(xué)習(xí)過(guò)程就是為了找出或逼近真相。模型有時(shí)也被稱為”學(xué)習(xí)器“(learner),可看作學(xué)習(xí)算法在給定數(shù)據(jù)和參數(shù)空間上的實(shí)例化。
若欲預(yù)測(cè)的是離散值則此類學(xué)習(xí)任務(wù)被稱為“分類”;若欲預(yù)測(cè)的是連續(xù)值則此類學(xué)習(xí)任務(wù)稱為“回歸”;對(duì)只涉及兩個(gè)類別的“二分類”任務(wù),通常稱其中一個(gè)類為“正類”,另一個(gè)類為“反類”;涉及多個(gè)類別時(shí),則稱為“多分類”任務(wù)。
模型是否準(zhǔn)確依賴與數(shù)據(jù)。如果我的數(shù)據(jù)越多,我的模型就越能夠考慮到越多的情況,由此對(duì)于新情況的預(yù)測(cè)效果可能就越好。這是機(jī)器學(xué)習(xí)界“數(shù)據(jù)為王”思想的一個(gè)體現(xiàn)。一般來(lái)說(shuō)(不是絕對(duì)),數(shù)據(jù)越多,最后機(jī)器學(xué)習(xí)生成的模型預(yù)測(cè)的效果越好。
機(jī)器學(xué)習(xí)里面有非常多的經(jīng)典算法,每種算法都能形成一個(gè)模型。下面在簡(jiǎn)要介紹一下機(jī)器學(xué)習(xí)中的經(jīng)典代表方法。重點(diǎn)介紹的是這些方法內(nèi)涵的思想。
1、回歸算法 在大部分機(jī)器學(xué)習(xí)課程中,回歸算法都是介紹的第一個(gè)算法。原因有兩個(gè):一.回歸算法比較簡(jiǎn)單,介紹它可以讓人平滑地從統(tǒng)計(jì)學(xué)遷移到機(jī)器學(xué)習(xí)中。二.回歸算法是后面若干強(qiáng)大算法的基石,如果不理解回歸算法,無(wú)法學(xué)習(xí)那些強(qiáng)大的算法?;貧w算法有兩個(gè)重要的子類:即線性回歸和邏輯回歸。
線性回歸一般使用“最小二乘法”來(lái)求解?!白钚《朔ā钡乃枷胧沁@樣的,假設(shè)我們擬合出的直線代表數(shù)據(jù)的真實(shí)值,而觀測(cè)到的數(shù)據(jù)代表?yè)碛姓`差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優(yōu)問(wèn)題轉(zhuǎn)化為求函數(shù)極值問(wèn)題。函數(shù)極值在數(shù)學(xué)上我們一般會(huì)采用求導(dǎo)數(shù)為0的方法。但這種做法并不適合計(jì)算機(jī),可能求解不出來(lái),也可能計(jì)算量太大。計(jì)算機(jī)科學(xué)界專門有一個(gè)學(xué)科叫“數(shù)值計(jì)算”,專門用來(lái)提升計(jì)算機(jī)進(jìn)行各類計(jì)算時(shí)的準(zhǔn)確性和效率問(wèn)題。例如,著名的“梯度下降”以及“牛頓法”就是數(shù)值計(jì)算中的經(jīng)典算法,也非常適合來(lái)處理求解函數(shù)極值的問(wèn)題。梯度下降法是解決回歸模型中最簡(jiǎn)單且有效的方法之一。
邏輯回歸是一種與線性回歸非常類似的算法,但是,從本質(zhì)上講,線型回歸處理的問(wèn)題類型與邏輯回歸不一致。線性回歸處理的是數(shù)值問(wèn)題,也就是最后預(yù)測(cè)出的結(jié)果是數(shù)字,例如預(yù)測(cè)一所房子大約可以買多少錢。而邏輯回歸屬于分類算法,也就是說(shuō),邏輯回歸預(yù)測(cè)結(jié)果是離散的分類,例如判斷腫瘤是惡性還是良性等等。實(shí)現(xiàn)方面的話,邏輯回歸只是對(duì)對(duì)線性回歸的計(jì)算結(jié)果加上了一個(gè)Sigmoid函數(shù),將數(shù)值結(jié)果轉(zhuǎn)化為了0到1之間的概率(Sigmoid函數(shù)的圖像一般來(lái)說(shuō)并不直觀,你只需要理解對(duì)數(shù)值越大,函數(shù)越逼近1,數(shù)值越小,函數(shù)越逼近0),接著我們根據(jù)這個(gè)概率可以做預(yù)測(cè),例如概率大于0.5,腫瘤就是惡性的等等。
2、神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)(也稱之為人工神經(jīng)網(wǎng)絡(luò),ANN)算法是80年代機(jī)器學(xué)習(xí)界非常流行的算法,不過(guò)在90年代中途衰落?,F(xiàn)在,攜著“深度學(xué)習(xí)”之勢(shì),神經(jīng)網(wǎng)絡(luò)重裝歸來(lái),重新成為最強(qiáng)大的機(jī)器學(xué)習(xí)算法之一。
神經(jīng)網(wǎng)絡(luò)的誕生起源于對(duì)大腦工作機(jī)理的研究。早期生物界學(xué)者們使用神經(jīng)網(wǎng)絡(luò)來(lái)模擬大腦。機(jī)器學(xué)習(xí)的學(xué)者們使用神經(jīng)網(wǎng)絡(luò)進(jìn)行機(jī)器學(xué)習(xí)的實(shí)驗(yàn),發(fā)現(xiàn)在視覺(jué)與語(yǔ)音的識(shí)別上效果都相當(dāng)好。在BP算法(加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程的數(shù)值算法)誕生以后,神經(jīng)網(wǎng)絡(luò)的發(fā)展進(jìn)入了一個(gè)熱潮。
下圖是一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的邏輯架構(gòu)。在這個(gè)網(wǎng)絡(luò)中,分成輸入層,隱藏層,和輸出層。輸入層負(fù)責(zé)接收信號(hào),隱藏層負(fù)責(zé)對(duì)數(shù)據(jù)的分解與處理,最后的結(jié)果被整合到輸出層。每層中的一個(gè)圓代表一個(gè)處理單元,可以認(rèn)為是模擬了一個(gè)神經(jīng)元,若干個(gè)處理單元組成了一個(gè)層,若干個(gè)層再組成了一個(gè)網(wǎng)絡(luò),也就是”神經(jīng)網(wǎng)絡(luò)”。
圖神經(jīng)網(wǎng)絡(luò)的邏輯架構(gòu)
在神經(jīng)網(wǎng)絡(luò)中,每個(gè)處理單元事實(shí)上就是一個(gè)邏輯回歸模型,邏輯回歸模型接收上層的輸入,把模型的預(yù)測(cè)結(jié)果作為輸出傳輸?shù)较乱粋€(gè)層次。通過(guò)這樣的過(guò)程,神經(jīng)網(wǎng)絡(luò)可以完成非常復(fù)雜的非線性分類。
進(jìn)入90年代,神經(jīng)網(wǎng)絡(luò)的發(fā)展進(jìn)入了一個(gè)瓶頸期。其主要原因是盡管有BP算法的加速,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程仍然很困難。因此90年代后期支持向量機(jī)(SVM)算法取代了神經(jīng)網(wǎng)絡(luò)的地位。
3、SVM(支持向量機(jī))
支持向量機(jī)算法是誕生于統(tǒng)計(jì)學(xué)習(xí)界,同時(shí)在機(jī)器學(xué)習(xí)界大放光彩的經(jīng)典算法。
支持向量機(jī)算法從某種意義上來(lái)說(shuō)是邏輯回歸算法的強(qiáng)化:通過(guò)給予邏輯回歸算法更嚴(yán)格的優(yōu)化條件,支持向量機(jī)算法可以獲得比邏輯回歸更好的分類界線。但是如果沒(méi)有某類函數(shù)技術(shù),則支持向量機(jī)算法最多算是一種更好的線性分類技術(shù)。
但是,通過(guò)跟高斯“核”的結(jié)合,支持向量機(jī)可以表達(dá)出非常復(fù)雜的分類界線,從而達(dá)成很好的的分類效果?!昂恕笔聦?shí)上就是一種特殊的函數(shù),最典型的特征就是可以將低維的空間映射到高維的空間。
上述機(jī)器學(xué)習(xí)算法均為監(jiān)督學(xué)習(xí)算法。監(jiān)督學(xué)習(xí),就是人們常說(shuō)的分類回歸,通過(guò)已有的訓(xùn)練樣本(即已知數(shù)據(jù)以及其對(duì)應(yīng)的輸出)去訓(xùn)練得到一個(gè)最優(yōu)模型(這個(gè)模型屬于某個(gè)函數(shù)的集合,最優(yōu)則表示在某個(gè)評(píng)價(jià)準(zhǔn)則下是最佳的),再利用這個(gè)模型將所有的輸入映射為相應(yīng)的輸出。在人對(duì)事物的認(rèn)識(shí)中,我們從孩子開(kāi)始就被大人們教授這是貓啊、那是狗啊、那是桌子啊,等等。我們所見(jiàn)到的景物就是輸入數(shù)據(jù),而大人們對(duì)這些景物的判斷結(jié)果(是房子還是鳥(niǎo)?。┚褪窍鄳?yīng)的輸出。當(dāng)我們見(jiàn)識(shí)多了以后,腦子里就慢慢地得到了一些泛化的模型,這就是訓(xùn)練得到的那個(gè)(或者那些)函數(shù),從而不需要大人在旁邊指點(diǎn)的時(shí)候,我們也能分辨的出來(lái)哪些是貓,哪些是狗。無(wú)監(jiān)督學(xué)習(xí)則是另一種研究的比較多的學(xué)習(xí)方法,它與監(jiān)督學(xué)習(xí)的不同之處,在于我們事先沒(méi)有任何訓(xùn)練樣本,而需要直接對(duì)數(shù)據(jù)進(jìn)行建模。這聽(tīng)起來(lái)似乎有點(diǎn)不可思議,但是在我們自身認(rèn)識(shí)世界的過(guò)程中很多處都用到了無(wú)監(jiān)督學(xué)習(xí)。比如我們?nèi)⒂^一個(gè)畫展,我們完全對(duì)藝術(shù)一無(wú)所知,但是欣賞完多幅作品之后,我們也能把它們分成不同的派別(比如哪些更朦朧一點(diǎn),哪些更寫實(shí)一些,即使我們不知道什么叫做朦朧派,什么叫做寫實(shí)派,但是至少我們能把他們分為兩個(gè)類)。無(wú)監(jiān)督學(xué)習(xí)里典型的例子就是聚類了。聚類的目的在于把相似的東西聚在一起,而我們并不關(guān)心這一類是什么。因此,一個(gè)聚類算法通常只需要知道如何計(jì)算相似度就可以開(kāi)始工作了。
那么,什么時(shí)候應(yīng)該采用監(jiān)督學(xué)習(xí),什么時(shí)候應(yīng)該采用非監(jiān)督學(xué)習(xí)呢?一種非常簡(jiǎn)單的回答就是從定義入手,如果我們?cè)诜诸惖倪^(guò)程中有訓(xùn)練樣本,則可以考慮用監(jiān)督學(xué)習(xí)的方法;如果沒(méi)有訓(xùn)練樣本,則不可能用監(jiān)督學(xué)習(xí)的方法。但是事實(shí)上,我們?cè)卺槍?duì)一個(gè)現(xiàn)實(shí)問(wèn)題進(jìn)行解答的過(guò)程中,即使我們沒(méi)有現(xiàn)成的訓(xùn)練樣本,我們也能夠憑借自己的雙眼,從待分類的數(shù)據(jù)中人工標(biāo)注一些樣本,并把他們作為訓(xùn)練樣本,這樣的話就可以把條件改善,用監(jiān)督學(xué)習(xí)的方法來(lái)做。然而對(duì)于不同的場(chǎng)景,正負(fù)樣本的分布如果會(huì)存在偏移(可能是大的偏移,也可能偏移比較?。?,這樣的話用監(jiān)督學(xué)習(xí)的效果可能就不如用非監(jiān)督學(xué)習(xí)了。
今天,在計(jì)算機(jī)科學(xué)的諸多分支學(xué)科領(lǐng)域中,都能找到機(jī)器學(xué)習(xí)技術(shù)的身影,尤其是在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、模式識(shí)別、自然語(yǔ)言處理等“計(jì)算機(jī)應(yīng)用技術(shù)”領(lǐng)域,機(jī)器學(xué)習(xí)已成為最重要的技術(shù)進(jìn)步源泉之一。此外,機(jī)器學(xué)習(xí)還為許多交叉學(xué)科提供了重要的技術(shù)支撐比如說(shuō)“生物信息學(xué)”。
可以說(shuō)“計(jì)算機(jī)視覺(jué)=圖像處理+機(jī)器學(xué)習(xí)“。圖像處理技術(shù)用于將圖像處理為適合進(jìn)入機(jī)器學(xué)習(xí)模型中的輸入,機(jī)器學(xué)習(xí)則負(fù)責(zé)從圖像中識(shí)別出相關(guān)的模式。計(jì)算機(jī)視覺(jué)相關(guān)的應(yīng)用非常的多,例如百度識(shí)圖、手寫字符識(shí)別、車牌識(shí)別等等應(yīng)用。這個(gè)領(lǐng)域是應(yīng)用前景非?;馃岬?,同時(shí)也是研究的熱門方向。隨著機(jī)器學(xué)習(xí)的新領(lǐng)域深度學(xué)習(xí)的發(fā)展,大大促進(jìn)了計(jì)算機(jī)圖像識(shí)別的效果,因此未來(lái)計(jì)算機(jī)視覺(jué)界的發(fā)展前景不可估量。
如果說(shuō)“計(jì)算機(jī)視覺(jué)=圖像處理+機(jī)器學(xué)習(xí)“,那么”語(yǔ)音識(shí)別=語(yǔ)音處理+機(jī)器學(xué)習(xí)“。語(yǔ)音識(shí)別就是音頻處理技術(shù)與機(jī)器學(xué)習(xí)的結(jié)合。語(yǔ)音識(shí)別技術(shù)一般不會(huì)單獨(dú)使用,一般會(huì)結(jié)合自然語(yǔ)言處理的相關(guān)技術(shù)。目前的相關(guān)應(yīng)用有蘋果語(yǔ)音助手siri、微軟小娜等。
“自然語(yǔ)言處理=文本處理+機(jī)器學(xué)習(xí)“。自然語(yǔ)言處理技術(shù)主要是讓機(jī)器理解人類的語(yǔ)言的一門領(lǐng)域。在自然語(yǔ)言處理技術(shù)中,大量使用了編譯原理相關(guān)的技術(shù),例如詞法分析,語(yǔ)法分析等等,除此之外,在理解這個(gè)層面,則使用了語(yǔ)義理解,機(jī)器學(xué)習(xí)等技術(shù)。作為唯一由人類自身創(chuàng)造的符號(hào),自然語(yǔ)言處理一直是機(jī)器學(xué)習(xí)界不斷研究的方向。按照百度機(jī)器學(xué)習(xí)專家余凱的說(shuō)法“聽(tīng)與看,說(shuō)白了就是阿貓和阿狗都會(huì)的,而只有語(yǔ)言才是人類獨(dú)有的”。如何利用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行自然語(yǔ)言的的深度理解,一直是工業(yè)和學(xué)術(shù)界關(guān)注的焦點(diǎn)。
談到對(duì)數(shù)據(jù)進(jìn)行分析利用,很多人會(huì)想到“數(shù)據(jù)挖掘”(data mining)。數(shù)據(jù)挖掘領(lǐng)域在二十世紀(jì)九十年代形成,它受到很多學(xué)科領(lǐng)域的影響,其中數(shù)據(jù)庫(kù)、機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)無(wú)疑影響最大。數(shù)據(jù)挖掘是從海量數(shù)據(jù)中發(fā)掘知識(shí),這就必然涉及對(duì)“海量數(shù)據(jù)”的管理和分析。大體來(lái)說(shuō),“數(shù)據(jù)挖掘=機(jī)器學(xué)習(xí)+數(shù)據(jù)庫(kù)“——數(shù)據(jù)庫(kù)領(lǐng)域的研究為數(shù)據(jù)挖掘提供數(shù)據(jù)管理技術(shù),而機(jī)器學(xué)習(xí)和統(tǒng)計(jì)學(xué)的研究為數(shù)據(jù)挖掘提供數(shù)據(jù)分析技術(shù)。由于統(tǒng)計(jì)學(xué)往往醉心于理論的優(yōu)美而忽視實(shí)際的效用,因此,統(tǒng)計(jì)學(xué)界提供的很多技術(shù)通常都要在機(jī)器學(xué)習(xí)界進(jìn)一步研究,變成有效的機(jī)器學(xué)習(xí)算法之后才能再進(jìn)入數(shù)據(jù)挖掘領(lǐng)域。從這個(gè)意義上說(shuō),統(tǒng)計(jì)學(xué)主要是通過(guò)機(jī)器學(xué)習(xí)來(lái)對(duì)數(shù)據(jù)挖掘發(fā)揮影響,而機(jī)器學(xué)習(xí)和數(shù)據(jù)庫(kù)則是數(shù)據(jù)挖掘的兩大支撐技術(shù)。從數(shù)據(jù)分析的角度來(lái)看,絕大多數(shù)數(shù)據(jù)挖掘技術(shù)都來(lái)自機(jī)器學(xué)習(xí)領(lǐng)域,但機(jī)器學(xué)習(xí)研究往往并不把海量數(shù)據(jù)作為處理對(duì)象,因此,數(shù)據(jù)挖掘要對(duì)算法進(jìn)行改造,使得算法性能和空間占用達(dá)到實(shí)用的地步。同時(shí),數(shù)據(jù)挖掘還有自身獨(dú)特的內(nèi)容,即關(guān)聯(lián)分析。
通過(guò)上面的介紹,可以看出機(jī)器學(xué)習(xí)是多么的重要,應(yīng)用是多么的廣泛?,F(xiàn)隨著大數(shù)據(jù)(big data)概念的興起,機(jī)器學(xué)習(xí)大量的應(yīng)用都與大數(shù)據(jù)高度耦合,幾乎可以認(rèn)為大數(shù)據(jù)是機(jī)器學(xué)習(xí)應(yīng)用的最佳場(chǎng)景。例如經(jīng)典的Google利用大數(shù)據(jù)預(yù)測(cè)了H1N1在美國(guó)某小鎮(zhèn)的爆發(fā)、百度預(yù)測(cè)2014年世界杯結(jié)果從淘汰賽到?jīng)Q賽全部正確。這實(shí)在太神奇了,那么究竟是什么原因?qū)е麓髷?shù)據(jù)具有這些魔力的呢?簡(jiǎn)單來(lái)說(shuō),就是機(jī)器學(xué)習(xí)技術(shù)。正是基于機(jī)器學(xué)習(xí)技術(shù)的應(yīng)用,數(shù)據(jù)才能發(fā)揮其魔力。
大數(shù)據(jù)的核心是利用數(shù)據(jù)的價(jià)值,機(jī)器學(xué)習(xí)是利用數(shù)據(jù)價(jià)值的關(guān)鍵技術(shù),對(duì)于大數(shù)據(jù)而言,機(jī)器學(xué)習(xí)是不可或缺的。相反,對(duì)于機(jī)器學(xué)習(xí)而言,越多的數(shù)據(jù)會(huì)越可能提升模型的精確性,同時(shí),復(fù)雜的機(jī)器學(xué)習(xí)算法的計(jì)算時(shí)間也迫切需要分布式計(jì)算與內(nèi)存計(jì)算這樣的關(guān)鍵技術(shù)。因此,機(jī)器學(xué)習(xí)的興盛也離不開(kāi)大數(shù)據(jù)的幫助。大數(shù)據(jù)與機(jī)器學(xué)習(xí)兩者是互相促進(jìn),相依相存的關(guān)系。
機(jī)器學(xué)習(xí)與大數(shù)據(jù)緊密聯(lián)系。但是,必須清醒的認(rèn)識(shí)到,大數(shù)據(jù)并不等同于機(jī)器學(xué)習(xí),同理,機(jī)器學(xué)習(xí)也不等同于大數(shù)據(jù)。大數(shù)據(jù)中包含有分布式計(jì)算、內(nèi)存數(shù)據(jù)庫(kù)、多維分析等等多種技術(shù)。單從分析方法來(lái)看,大數(shù)據(jù)也包含以下四種分析方法:
1.大數(shù)據(jù),小分析:即數(shù)據(jù)倉(cāng)庫(kù)領(lǐng)域的OLAP分析思路,也就是多維分析思想。2.大數(shù)據(jù),大分析:這個(gè)代表的就是數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)分析法。3.流式分析:這個(gè)主要指的是事件驅(qū)動(dòng)架構(gòu)。4.查詢分析:經(jīng)典代表是NoSQL數(shù)據(jù)庫(kù)。
也就是說(shuō),機(jī)器學(xué)習(xí)僅僅是大數(shù)據(jù)分析中的一種而已。盡管機(jī)器學(xué)習(xí)的一些結(jié)果具有很大的魔力,在某種場(chǎng)合下是大數(shù)據(jù)價(jià)值最好的說(shuō)明。但這并不代表機(jī)器學(xué)習(xí)是大數(shù)據(jù)下的唯一的分析方法。
第五篇:機(jī)器學(xué)習(xí)的例子
身邊的機(jī)器學(xué)習(xí)
相信身邊很多人都曾經(jīng)被漫長(zhǎng)的紅綠燈等待時(shí)間所困擾。不管是對(duì)于行人還是開(kāi)車的司機(jī),要么就是等紅燈的時(shí)間太長(zhǎng)以至于大家開(kāi)始失去耐心,選擇直接橫穿馬路;要么就是綠燈切換的時(shí)間太短,如果不一路小跑著過(guò)馬路的話就會(huì)被迫面對(duì)湍急的車流,將自己置于危險(xiǎn)之中。而事實(shí)上,設(shè)定燈的切換時(shí)長(zhǎng)這項(xiàng)工作如果交給懂得分析數(shù)據(jù)、高效建模的計(jì)算機(jī)來(lái)完成效果可能會(huì)更好。
在許多歐美國(guó)家都在進(jìn)行類似的實(shí)驗(yàn),收效顯著:通過(guò)建設(shè)一個(gè)監(jiān)督學(xué)習(xí)的算法,將車流量、人流量設(shè)定為要被監(jiān)測(cè)的目標(biāo)數(shù)據(jù),并以密度或是車、人的數(shù)量、來(lái)源等數(shù)據(jù)用這些直觀的形式統(tǒng)計(jì)起來(lái)。經(jīng)過(guò)匯總之后,一方面對(duì)可以車流量、人流量的高峰時(shí)間進(jìn)行統(tǒng)計(jì);另一方面可以總結(jié)歸納出現(xiàn)這些高峰的地點(diǎn)以及流量來(lái)源。有了這些數(shù)據(jù),計(jì)算機(jī)就可以迅速建立起一個(gè)相應(yīng)的模型來(lái)執(zhí)行對(duì)擁堵行車的疏導(dǎo),提升道路運(yùn)輸?shù)男省?/p>
在一次觀測(cè)中研究人員發(fā)現(xiàn),在馬路上大量的大型堵塞事件中,有很大一部分都只是車流靠前位置的一名新手的一次無(wú)心的剎車。即使每次剎車帶給下一輛車的司機(jī)的反應(yīng)時(shí)間都只有1~2秒,但在漫長(zhǎng)的車隊(duì)中不斷累積最終就會(huì)形成天文數(shù)學(xué)。如果可以通過(guò)機(jī)器學(xué)習(xí)的方式對(duì)上下班高峰期車流量的規(guī)律進(jìn)行總結(jié)并加以利用,在市政管理上改變紅綠燈切換的時(shí)間長(zhǎng)度來(lái)對(duì)馬路上的汽車進(jìn)行分流,從而避免大量的汽車擁堵在路口處,就可以緩解這一問(wèn)題。
在日常生活中,行人橫穿馬路釀成慘劇的案例已經(jīng)屢見(jiàn)不鮮。很多人都會(huì)因?yàn)槿诵械赖募t綠燈等待時(shí)間過(guò)長(zhǎng)而選擇直接橫穿馬路,給自己和他人帶來(lái)危險(xiǎn)。既然馬路上的紅綠燈調(diào)整可以交給計(jì)算機(jī),人行道紅綠燈切換時(shí)間的調(diào)整計(jì)算機(jī)同樣可以勝任。如果有關(guān)部門可以將機(jī)器學(xué)習(xí)技術(shù)引入公共交通管理系統(tǒng),通過(guò)更加智能的方式對(duì)時(shí)長(zhǎng)進(jìn)行調(diào)整,在車輛沒(méi)那么多的時(shí)候或者是類似步行街的人流量巨大的場(chǎng)所,結(jié)合馬路上的車輛通行情況對(duì)人行道上紅綠燈的切換時(shí)間進(jìn)行動(dòng)態(tài)的調(diào)整來(lái)縮短人們等候的時(shí)間,相信可以大大減少這類事件發(fā)生的幾率。
調(diào)整紅綠燈切換時(shí)間只是一件小事,不過(guò)這也從側(cè)面證明了機(jī)器學(xué)習(xí)可以被運(yùn)用的范圍之廣闊以及相關(guān)行業(yè)的蓬勃發(fā)展勢(shì)頭。機(jī)器學(xué)習(xí)還有很多可以應(yīng)用的場(chǎng)景,需要我們不斷發(fā)掘、利用。