代價方程

以迴歸方程爲例,最後的迴歸方程不管是直線仍是曲線,方程除了應有的自變量外,還存在各類常量參數,這些參數的不一樣,直接影響着最終方程。函數

 

仍是以迴歸問題爲例。blog

假設咱們要將數據線性迴歸到某條直線上(邏輯迴歸等其餘迴歸同理)。變量

那麼咱們首先能設這個迴歸方程爲:y(x) = θ1x+θ2方法

其中x和y在某種程度上都是已知的,由於咱們確定有不少樣本數據,這些樣本數據就是具體的x、y座標。im

很明顯,咱們若是能知道θ一、θ2,這個迴歸方程也就出來了。數據

代價函數的目的就是找到這些θ。img

 

讓咱們用白話來描述一下求出θ的思路:co

假設咱們有好多個樣本點,如(1,2)、(3,4)、(5,6)等ps

咱們這條擬合直線確定越靠近這些點越好。參數

怎麼個靠近法呢?把這些點的x座標代入方程,其計算後得出的y值「離該點真實的y值距離越小越好」。

回到咱們以前「假設」的迴歸方程y(x) = θ1x+θ2上。

當咱們把這些真實的樣本點的x值代入y(x)函數中,獲得的就是擬合直線上的y值,若是這個y值的距離離真實y值很小,就表示該擬合方程很好。

以點(3,4)爲例,擬合方程計算獲得的y值與實際y值之差表示爲:距離 = (θ1*3+θ2)-(4)

即:距離 = θ1*x1+θ2 - y1

但咱們確定不止(x1,y1)這一個樣本點,當還有(x2,y2)等多個樣本點後,就須要計算擬合方程距離各個樣本點的距離,即:

距離1 = θ1*x1+θ2 - y1

距離2 = θ1*x2+θ2 - y2

距離3 = θ1*x3+θ2 - y3

······

這麼多距離,咱們最好求一個這些距離的平均值來表達一個平均距離,比較合適的方法如:

計算全部距離的平方差後再除以1/2獲得

 

其中h(x)函數就是θ1x+θ2,x(i),y(i)是具體樣本點的x,y座標。

(求平均值的方法有不少,並不必定非要用這種)

這個方程就是代價方程。

 

經過上面一系列的推導,咱們很容易看出全部的x(i),y(i)都是已知的樣本點,即全是已知常數,反而未知數變成了θ。

因此咱們能夠將上面的代價函數設爲J(θ)。

經過以前的推導咱們知道這個方程最終的結果是「擬合y值到真實y值的距離差」,天然是越小越好。

因此咱們要求的就是J(θ)函數的最小值。

 

(這裏提一下,以上的θ全都是向量,即不必定只有一個θ。

這也很好理解,當咱們在多維空間,如三維座標系中進行擬合時,這時候直線的通常方程就變成了:

θ1X+θ2Y+θ3Z = 0,θ隨着擬合空間維數的增長而增長,因此爲了方便起見就用向量θ = [θ1,θ2,θ3]來表示。

相應的,θ用向量表示了,整個擬合方程也會轉化成向量的格式,即θ^T*W = 0 (θ^T表示θ的轉置,W也是向量,表示[X,Y,Z]))

 

其實推到這代價函數基本上解釋清楚了,後面的問題就是如何求解J(θ)函數最小值的問題了,在只有一個θ參數時J(θ)函數圖像仍是在二維平面上的凹函數,存在最小值。

當θ變爲2個時,J(θ)的圖像就變成了三維空間上了,咱們要找的是整個模型的最小點。

至於如何找到這些最小值,方法就不少了,經常使用的如梯度降低法等。

相關文章
相關標籤/搜索