【機器學習筆記】二、 Regression迴歸
阿新 • • 發佈:2019-02-14
一、基礎
這裡面,輸入變數x有兩個,一個是居住面積(living area),一個是房間數目(bedrooms)。
所以x 是一個二維向量。表示第i組資料中的居住面積(living area)。表示第i組資料中的房間數目。
我們假設輸入和輸出呈線性關係,那麼便有下面的公式。
其中,叫做parameters(引數),也叫做weight(權重)。以上的公式還可以簡寫成
其中右邊是線性代數中向量相乘的寫法。
這樣一來,我們最終是要學習的就是parameters θ ,也就是求θ 的值,使得h(x)最接近於y(h(x)表示預測的值,y表示實際的房價)
怎麼判斷h(x)是不是接近於y呢? 所以有了下面的公式。
有沒有很熟悉,貌似是最小二乘法的公式。
二、LMS演算法(最小二乘法)
為了使得J(θ)最小,這裡用一個"initial guess"當做初始的θ的預測值,然後不斷地迭代,這種演算法就是(gradient descent)梯度下降演算法,迭代的公式如下:好吧,其實高等數學中有學過梯度的概念,梯度是變化最大的方向導數,對於二元函式,梯度是求偏導,記不清了,書不在身邊。 α 是(學習速率) learning rate,θj是同步更新的,也就是對於這個例子,三個θ是一起更新的。 下面是假設只有一組資料(訓練集只有一份資料)的時候的偏微分的推導過程。
將推導後偏微分的公式代入,便有了下面的。
:=是右邊等於左邊,如果有學過程式設計,這個:=就是程式設計裡面的等號。 上式叫做LMS update rule,又叫做Widrow-Hoff learning rule. 當training example不止一份集合的時候,有下面的演算法。
其實是兩個迴圈吧,外面的迴圈是針對j的,有幾個未知θ,就有幾次repeat,裡面的是迴圈是針對i的,有m組資料。因為對於每個θ,都需要遍歷一遍。當然效率比較低叫做batch gradient descent。 這裡面討論了局部最優和整體最優的問題,沒看懂,可能類似有時候梯度下降會逐漸下降到區域性最優而不是整體最優,視訊裡面有講。 下面的圖是由等高線組成的,上面的藍色表示比較低,軌跡是梯度下降的軌跡,從(48,30)開始下降,每次取點。橫座標和縱座標應該是θ的取值,可以看到,逐漸逼近最低點。
另外一種演算法是一個訓練集合點一個點加入。叫做stochastic gradient descent隨機梯度下降。incremental gradient descent。
這個演算法最明顯的優點是收斂快,所以隨機梯度下降比批量梯度下降受歡迎,特別是資料量多的時候。這裡的隨機是指梯度下降的方向比較隨機,每次並不意味著朝著梯度的方向下降。
可以看到,這個演算法外層是M個數據組,裡層是θ。後者的優點是早點逼近最終的θ。因為當第一組資料運算結束的時候,就能得到各個θ的值了,後面就是在不斷地修正。