1 摘要
本報告是在學(xué)習(xí)斯坦福大學(xué)機器學(xué)習(xí)課程前四節(jié)加上配套的講義后的總結(jié)與認識阀蒂。前四節(jié)主要講述了回歸問題该窗,回歸屬于有監(jiān)督學(xué)習(xí)中的一種方法。該方法的核心思想是從連續(xù)型統(tǒng)計數(shù)據(jù)中得到數(shù)學(xué)模型蚤霞,然后將該數(shù)學(xué)模型用于預(yù)測或者分類酗失。該方法處理的數(shù)據(jù)可以是多維的。
講義最初介紹了一個基本問題昧绣,然后引出了線性回歸的解決方法规肴,然后針對誤差問題做了概率解釋。之后介紹了logistic回歸夜畴。最后上升到理論層次拖刃,提出了一般回歸。
2 問題引入
假設(shè)有一個房屋銷售的數(shù)據(jù)如下:
面積(m^2)
銷售價錢(萬元)
123
250
150
320
87
160
102
220
…
…
這個表類似于北京5環(huán)左右的房屋價錢贪绘,我們可以做出一個圖兑牡,x軸是房屋的面積。y軸是房屋的售價兔簇,如下:
如果來了一個新的面積发绢,假設(shè)在銷售價錢的記錄中沒有的硬耍,我們怎么辦呢?
我們可以用一條曲線去盡量準的擬合這些數(shù)據(jù)边酒,然后如果有新的輸入過來经柴,我們可以在將曲線上這個點對應(yīng)的值返回。如果用一條直線去擬合墩朦,可能是下面的樣子:
綠色的點就是我們想要預(yù)測的點坯认。
首先給出一些概念和常用的符號。
房屋銷售記錄表:訓(xùn)練集(training set)或者訓(xùn)練數(shù)據(jù)(training data), 是我們流程中的輸入數(shù)據(jù)氓涣,一般稱為x
房屋銷售價錢:輸出數(shù)據(jù)牛哺,一般稱為y
擬合的函數(shù)(或者稱為假設(shè)或者模型):一般寫做 y = h(x)
訓(xùn)練數(shù)據(jù)的條目數(shù)(#training set),:一條訓(xùn)練數(shù)據(jù)是由一對輸入數(shù)據(jù)和輸出數(shù)據(jù)組成的輸入數(shù)據(jù)的維度n (特征的個數(shù),#features)
這個例子的特征是兩維的劳吠,結(jié)果是一維的引润。然而回歸方法能夠解決特征多維,結(jié)果是一維多離散值或一維連續(xù)值的問題痒玩。
3 學(xué)習(xí)過程
下面是一個典型的機器學(xué)習(xí)的過程淳附,首先給出一個輸入數(shù)據(jù),我們的算法會通過一系列的過程得到一個估計的函數(shù)蠢古,這個函數(shù)有能力對沒有見過的新數(shù)據(jù)給出一個新的估計奴曙,也被稱為構(gòu)建一個模型。就如同上面的線性回歸函數(shù)草讶。
4 線性回歸
線性回歸假設(shè)特征和結(jié)果滿足線性關(guān)系洽糟。其實線性關(guān)系的表達能力非常強大,每個特征對結(jié)果的影響強弱可以由前面的參數(shù)體現(xiàn)堕战,而且每個特征變量可以首先映射到一個函數(shù)坤溃,然后再參與線性計算。這樣就可以表達特征與結(jié)果之間的非線性關(guān)系践啄。
我們用X1浇雹,X2..Xn 去描述feature里面的分量沉御,比如x1=房間的面積屿讽,x2=房間的朝向,等等吠裆,我們可以做出一個估計函數(shù):
θ在這兒稱為參數(shù)伐谈,在這的意思是調(diào)整feature中每個分量的影響力,就是到底是房屋的面積更重要還是房屋的地段更重要试疙。為了如果我們令X0 = 1诵棵,就可以用向量的方式來表示了:
我們程序也需要一個機制去評估我們θ是否比較好,所以說需要對我們做出的h函數(shù)進行評估祝旷,一般這個函數(shù)稱為損失函數(shù)(loss function)或者錯誤函數(shù)(error function)履澳,描述h函數(shù)不好的程度嘶窄,在下面,我們稱這個函數(shù)為J函數(shù)
在這兒我們可以認為錯誤函數(shù)如下:
這個錯誤估計函數(shù)是去對x(i)的估計值與真實值y(i)差的平方和作為錯誤估計函數(shù)距贷,前面乘上的1/2是為了在求導(dǎo)的時候柄冲,這個系數(shù)就不見了。
至于為何選擇平方和作為錯誤估計函數(shù)忠蝗,講義后面從概率分布的角度講解了該公式的來源现横。
如何調(diào)整θ以使得J(θ)取得最小值有很多方法,其中有最小二乘法(min square)阁最,是一種完全是數(shù)學(xué)描述的方法戒祠,和梯度下降法。
5 梯度下降法
在選定線性回歸模型后速种,只需要確定參數(shù)θ姜盈,就可以將模型用來預(yù)測。然而θ需要在J(θ)最小的情況下才能確定配阵。因此問題歸結(jié)為求極小值問題贩据,使用梯度下降法。梯度下降法最大的問題是求得有可能是全局極小值闸餐,這與初始點的選取有關(guān)饱亮。
梯度下降法是按下面的流程進行的:
1)首先對θ賦值,這個值可以是隨機的舍沙,也可以讓θ是一個全零的向量近上。
2)改變θ的值,使得J(θ)按梯度下降的方向進行減少拂铡。
梯度方向由J(θ)對θ的偏導(dǎo)數(shù)確定壹无,由于求的是極小值,因此梯度方向是偏導(dǎo)數(shù)的反方向感帅。結(jié)果為
迭代更新的方式有兩種斗锭,一種是批梯度下降,也就是對全部的訓(xùn)練數(shù)據(jù)求得誤差后再對θ進行更新失球,另外一種是增量梯度下降岖是,每掃描一步都要對θ進行更新。前一種方法能夠不斷收斂实苞,后一種方法結(jié)果可能不斷在收斂處徘徊豺撑。
一般來說,梯度下降法收斂速度還是比較慢的黔牵。
另一種直接計算結(jié)果的方法是最小二乘法聪轿。
6 最小二乘法
將訓(xùn)練特征表示為X矩陣,結(jié)果表示成y向量猾浦,仍然是線性回歸模型陆错,誤差函數(shù)不變灯抛。那么θ可以直接由下面公式得出
但此方法要求X是列滿秩的,而且求矩陣的逆比較慢音瓷。
7 選用誤差函數(shù)為平方和的概率解釋
假設(shè)根據(jù)特征的預(yù)測結(jié)果與實際結(jié)果有誤差牧愁,那么預(yù)測結(jié)果和真實結(jié)果滿足下式:
一般來講,誤差滿足平均值為0的高斯分布外莲,也就是正態(tài)分布猪半。那么x和y的條件概率也就是
這樣就估計了一條樣本的結(jié)果概率,然而我們期待的是模型能夠在全部樣本上預(yù)測最準偷线,也就是概率積最大磨确。注意這里的概率積是概率密度函數(shù)積,連續(xù)函數(shù)的概率密度函數(shù)與離散值的概率函數(shù)不同声邦。這個概率積成為最大似然估計乏奥。我們希望在最大似然估計得到最大值時確定θ。那么需要對最大似然估計公式求導(dǎo)亥曹,求導(dǎo)結(jié)果既是
這就解釋了為何誤差函數(shù)要使用平方和邓了。
當(dāng)然推導(dǎo)過程中也做了一些假定,但這個假定符合客觀規(guī)律媳瞪。
8 帶權(quán)重的線性回歸
上面提到的線性回歸的誤差函數(shù)里系統(tǒng)都是1骗炉,沒有權(quán)重。帶權(quán)重的線性回歸加入了權(quán)重信息蛇受。
基本假設(shè)是
其中x是要預(yù)測的特征句葵,這樣假設(shè)的道理是離x越近的樣本權(quán)重越大,越遠的影響越小兢仰。這個公式與高斯分布類似乍丈,但不一樣,因為不是隨機變量把将。
此方法成為非參數(shù)學(xué)習(xí)算法轻专,因為誤差函數(shù)隨著預(yù)測值的不同而不同,這樣θ無法事先確定察蹲,預(yù)測一次需要臨時計算请垛,感覺類似KNN。
9 分類和logistic回歸
一般來說递览,回歸不用在分類問題上叼屠,因為回歸是連續(xù)型模型瞳腌,而且受噪聲影響比較大绞铃。如果非要應(yīng)用進入,可以使用logistic回歸嫂侍。
logistic回歸本質(zhì)上是線性回歸儿捧,只是在特征到結(jié)果的映射中加入了一層函數(shù)映射荚坞,即先把特征線性求和,然后使用函數(shù)g(z)將最為假設(shè)函數(shù)來預(yù)測菲盾。g(z)可以將連續(xù)值映射到0和1上颓影。
logistic回歸的假設(shè)函數(shù)如下,線性回歸假設(shè)函數(shù)只是懒鉴。
logistic回歸用來分類0/1問題诡挂,也就是預(yù)測結(jié)果屬于0或者1的二值分類問題。這里假設(shè)了二值滿足伯努利分布临谱,也就是
當(dāng)然假設(shè)它滿足泊松分布璃俗、指數(shù)分布等等也可以,只是比較復(fù)雜悉默,后面會提到線性回歸的一般形式城豁。
與第7節(jié)一樣,仍然求的是最大似然估計抄课,然后求導(dǎo)唱星,得到迭代公式結(jié)果為
可以看到與線性回歸類似,只是換成了跟磨,而實際上就是經(jīng)過g(z)映射過來的间聊。
10 牛頓法來解最大似然估計
第7和第9節(jié)使用的解最大似然估計的方法都是求導(dǎo)迭代的方法,這里介紹了牛頓下降法抵拘,使結(jié)果能夠快速的收斂甸饱。
當(dāng)要求解時,如果f可導(dǎo)仑濒,那么可以通過迭代公式
來迭代求解最小值叹话。
當(dāng)應(yīng)用于求解最大似然估計的最大值時,變成求解最大似然估計概率導(dǎo)數(shù)的問題墩瞳。
那么迭代公式寫作
當(dāng)θ是向量時溶耘,牛頓法可以使用下面式子表示
牛頓法收斂速度雖然很快驱敲,但求Hessian矩陣的逆的時候比較耗費時間鹿霸。
當(dāng)初始點X0靠近極小值X時,牛頓法的收斂速度是最快的泪电。但是當(dāng)X0遠離極小值時般妙,牛頓法可能不收斂,甚至連下降都保證不了相速。原因是迭代點Xk+1不一定是目標函數(shù)f在牛頓方向上的極小點碟渺。
11 一般線性模型
之所以在logistic回歸時使用
的公式是由一套理論作支持的。
這個理論便是一般線性模型突诬。
首先苫拍,如果一個概率分布可以表示成
時芜繁,那么這個概率分布可以稱作是指數(shù)分布。
伯努利分布绒极,高斯分布骏令,泊松分布,貝塔分布垄提,狄特里特分布都屬于指數(shù)分布榔袋。
在logistic回歸時采用的是伯努利分布,伯努利分布的概率可以表示成
其中
得到
這就解釋了logistic回歸時為了要用這個函數(shù)铡俐。
一般線性模型的要點是
1)滿足一個以為參數(shù)的指數(shù)分布摘昌,那么可以求得的表達式。
2) 給定x高蜂,我們的目標是要確定聪黎,大多數(shù)情況下,那么我們實際上要確定的是备恤,而稿饰。(在logistic回歸中期望值是,因此h是露泊;在線性回歸中期望值是喉镰,而高斯分布中,因此線性回歸中h=)惭笑。
12 Softmax回歸
最后舉了一個利用一般線性模型的例子侣姆。
假設(shè)預(yù)測值y有k種可能,即y∈{1,2,…,k}
比如k=3時沉噩,可以看作是要將一封未知郵件分為垃圾郵件捺宗、個人郵件還是工作郵件這三類。
定義
那么
這樣
即式子左邊可以有其他的概率表示川蒙,因此可以當(dāng)作是k-1維的問題蚜厉。
為了表示多項式分布表述成指數(shù)分布,我們引入T(y)畜眨,它是一組k-1維的向量昼牛,這里的T(y)不是y,T(y)i表示T(y)的第i個分量康聂。
應(yīng)用于一般線性模型贰健,結(jié)果y必然是k中的一種。1{y=k}表示當(dāng)y=k的時候恬汁,1{y=k}=1伶椿。那么p(y)可以表示為
其實很好理解,就是當(dāng)y是一個值m(m從1到k)的時候,p(y)=悬垃,然后形式化了一下游昼。
那么
最后求得
而y=i時
求得期望值
那么就建立了假設(shè)函數(shù)甘苍,最后就獲得了最大似然估計
對該公式可以使用梯度下降或者牛頓法迭代求解尝蠕。
解決了多值模型建立與預(yù)測問題。
學(xué)習(xí)總結(jié)
該講義組織結(jié)構(gòu)清晰载庭,思路獨特看彼,講原因,也講推導(dǎo)囚聚【搁牛可貴的是講出了問題的基本解決思路和擴展思路,更重要的是講出了為什么要使用相關(guān)方法以及問題根源顽铸。在看似具體的解題思路中能引出更為抽象的一般解題思路茁计,理論化水平很高。
該方法可以用在對數(shù)據(jù)多維分析和多值預(yù)測上谓松,更適用于數(shù)據(jù)背后蘊含某種概率模型的情景星压。
幾個問題
一是采用迭代法的時候,步長怎么確定比較好
而是最小二乘法的矩陣形式是否一般都可用