這裡面,輸入變數x有兩個,乙個是居住面積(living area),乙個是房間數目(bedrooms)。
所以x 是乙個二維向量。
我們假設輸入和輸出呈線性關係,那麼便有下面的公式。
其中,
其中右邊是線性代數中向量相乘的寫法。
這樣一來,我們最終是要學習的就是parameters θ
,也就是求θ
的值,使得h(x)最接近於y(h(x)表示**的值,y表示實際的房價)
怎麼判斷h(x)是不是接近於y呢? 所以有了下面的公式。
有沒有很熟悉,貌似是最小二乘法的公式。
為了使得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個資料組,裡層是θ。後者的優點是早點逼近最終的θ。因為當第一組資料運算結束的時候,就能得到各個θ的值了,後面就是在不斷地修正。
這部分提供了用矩陣來表示的一種方法,不用迭代,因為剛被線性代數虐過,我就不分析過程了。結果如下
如果比較適合用二次函式的模型,用了一次函式,那是欠擬合(underfitting),用了三次函式,那就是過擬合(overfitting)。
非引數學習演算法
引數隨著訓練集合中資料的增多而增多。
區域性加權線性回歸是非引數學習演算法(non-parametric learning algorithms)。
機器學習筆記(二)
總結自 機器學習 周志華 模型評估與選擇 錯誤率 樣本總數 分類錯誤的樣本數 精度 1 錯誤率 誤差 實際 輸出與樣本真實輸出之間的差異 訓練誤差 學習器在訓練集上的誤差 泛化誤差 學習器在新樣本上的誤差 過擬合 學習能力過於強大,將訓練樣本本身的一些不太一般的特點當作所有潛在樣本的特點導致演算法泛...
機器學習(筆記二)
1,機器學習概念 機器學習是從資料中自動分析獲得模型,並利用模型對未知資料進行 2.機器學習的工作流程 1 獲取資料 2 資料基本處理 3 特徵工程 4 機器學習 模型訓練 5 模型評估 3.對資料集的解釋 在資料集中 一行資料稱為乙個樣本 一列資料稱為乙個特徵 有些資料有目標值 標籤值 有些沒有 ...
筆記 機器學習入門(二)
第一周有三大節,第一節是introduction,簡單介紹了機器學習的分類,監督學習和非監督學習各自的特點和區別,殘念的是做了三次課後作業,都沒能全部做對,多選題對於英語差的我來說真的是太不友好了。第二節主要講述了單變數的線性回歸問題。模型表述 依舊是通過預估房價的例子來構建了模型,對於資料集的描述...