[嗶哩嗶哩視頻地址](http://www.bilibili.com/video/av9559261/)
更有效的線性回歸形式

如圖所示為房屋特征和房屋售價(jià)的數(shù)據(jù)集,可以看到房屋有很多的特征量,例如:大型,戶型,等,用x1到xn表示,其中每一個(gè)樣本數(shù)據(jù)都可以看作為矩陣中的某一行,對于這種多特征量的情況,假設(shè)函數(shù)就不能用以下這個(gè)表示方式了:
hnθ=θ0+θ1x
當(dāng)有很多特征量的時(shí)候,按照簡單的方式這樣寫
hnθ=θ0x0+θ1x1+θ2x2+......+θnxn
化簡過程

x轉(zhuǎn)化為一個(gè)一維的向量,由于是從x0開始的,所以為(n+1)x1的一維向量
θ同理。
最終化簡結(jié)果為
hnθ = θTx
θT 表示一個(gè)矩陣的倒置,也就是沿向下的對角線翻轉(zhuǎn)180度,例如矩陣A
1 2
3 4
那么AT等于
1 3
2 4
有了hnθ = θTx,同樣可以倒推出
hnθ=θ0x0+θ1x1+θ2x2+......+θnxn
梯度下降實(shí)用技巧
特征縮放
特征縮放可以理解為平時(shí)我們常說的歸一化,使得變量x的范圍落在區(qū)間[-1,1]里,一方面對多個(gè)范圍差別很大的特征量可以更直觀的表示,另一方面當(dāng)使用梯度下降算法時(shí)可以更快的收斂,即迭代次數(shù)少。
但要注意的是,特征縮放的使用是有范圍的,當(dāng)-3<x<3 or -1/3<x<1/3屬于可接受的范圍,如果-100<x<100 or -0.0001<x<0.0001,特征縮放帶來的誤差較大,不可使用。
特殊地,平均標(biāo)準(zhǔn)化Mean normalization就是基于特征縮放實(shí)現(xiàn)的,使得期望E為0;
原理:X' = (X-μ)/(Max-Min),μ為均值
學(xué)習(xí)率
α決定每次下降的步長,α的選取決定了gradient decent algorithm是否正常工作(α選擇不當(dāng)J會(huì)發(fā)散,或者J收斂速度太慢,需要迭代許多次)
理論上講,只要α充分的小,相應(yīng)的代價(jià)函數(shù)J在每次迭代都會(huì)減小直至收斂;算法實(shí)現(xiàn)上,如果α太小,J每次下降的太少,需要迭代的次數(shù)過多,時(shí)間復(fù)雜度太高又不可行;綜上,α的正確選取對于梯度下降算法能否正常工作至關(guān)重要,可以給α從0.001,0.01,0.1,1依次幅值,找到對應(yīng)的區(qū)間再去試探合適的α。

多項(xiàng)式回歸
如果一個(gè)方程,自變量的指數(shù)大于1,那么所有擬合這個(gè)方程的點(diǎn)就符合多項(xiàng)式回歸。
多項(xiàng)式回歸有個(gè)很重要的因素就是指數(shù)(degree)。如果我們發(fā)現(xiàn)數(shù)據(jù)的分布大致是一條曲線,那么很可能符合多項(xiàng)式回歸,但是我們不知道degree是多少。所以我們只能一個(gè)個(gè)去試,直到找到最擬合分布的degree。
正規(guī)方程
我們一直在使用的線性回歸的算法是梯度下降法,為了最小化代價(jià)函數(shù)J,我們使用的迭代算法需要經(jīng)過很多步才能得到全局最小值。而正規(guī)方程可以一步到位。所有最小化代價(jià)的函數(shù),就是找出代價(jià)函數(shù)在那個(gè)點(diǎn)的時(shí)候?qū)?shù)為0,也就是斜率為0。
假設(shè)有一個(gè)代價(jià)函數(shù):J(θ)=aθ2+bθ+c
找出能使代價(jià)函數(shù)最小化的θ,也就是求出J關(guān)于θ的導(dǎo)數(shù),當(dāng)該導(dǎo)數(shù)為0的時(shí)候,θ最小。

當(dāng)θ不是一個(gè)實(shí)數(shù),而是一個(gè)n+1維的向量。并且代價(jià)函數(shù)J是這個(gè)向量的函數(shù)。那么如何最小化代價(jià)函數(shù)J? 實(shí)際上,微積分告訴我們一種方法,對每個(gè)參數(shù)θ求J的偏導(dǎo)數(shù),然后把它們?nèi)恐?,如果這樣做,并且求出θ0到θn的值,這就得到了最小化函數(shù)J的θ值。經(jīng)過對J 函數(shù)求導(dǎo)最終得出以下公式(求導(dǎo)過程還在研究中):

推導(dǎo)過程(非數(shù)學(xué)意義推導(dǎo))摘自這里
假設(shè)我們有m個(gè)樣本。特征向量的維度為n。因此,可知樣本為{(x(1),y(1)), (x(2),y(2)),... ..., (x(m),y(m))},其中對于每一個(gè)樣本中的x(i),都有x(i)={x1(i), xn(i),... ...,xn(i)}。令 H(θ)=θ0 + θ1x1 +θ2x2 +... + θnxn,則有


導(dǎo)數(shù)可逆性
以下原因?qū)е戮仃嚥豢赡?/p>
- 特征之間存在某種約束。例如特征x2是特征x1的3倍
- 特征數(shù)量大于樣本數(shù)量。例如有10個(gè)樣本,每個(gè)樣本有100個(gè)特征,這個(gè)工作可能會(huì)需要很久。
- 矩陣不可逆向運(yùn),也就是行列式為0