(以下內容是根據史丹福大學ng教授的機器學習公開課總結的內容)
監督學習:即訓練資料中既包含了輸入資料又包含了對應於這個是輸入資料的正確的輸出結果。
回歸問題:當給出了輸入資料後,**正確的輸出結果。
首先考慮乙個問題:我們需要**自己房屋的**,現在擁有的資料只是幾十個房屋樣本**,如下圖所示。怎樣根據這些房屋的面積以及**來**我們自己房屋的**呢?
為了更加直觀的將已知樣本房屋的**表示出來,我們將上述資料標註在座標系中,如下圖:
由圖我們可以看出,點的分布大致圍繞在一條直線周圍,因此,我們可以用乙個線性函式表示房屋的面積與房屋的**的對應關係,流程大致如下:
利用訓練資料+學習演算法得到乙個函式h,然後將待**的房屋面積輸入,即可得到**的房價。
首先介紹具體字母代表的含義:
為了使得問題更加具有一般性,我們將上面的例子進行擴充成如下**:
現在我們假設輸出值和輸入值之間對應的關係為線性函式:
上面的式子為了便於表達,假設x0
=1,因此,可以寫成:
現在,當我們有了測試集,怎樣來**引數θ?,我們的目的就是使得**結果盡量接近與真實的結果,因此,在所有的訓練集上,我們需要使得該函式的輸出結果盡量可能接近真實值,也就是使得差量最小,因此可以表示為如下的形式:
這個表達形式可以表現出**值和真實值的平方差量,其中前面的1/2主要是為了後面的求導計算方便,m表示的是所有的訓練資料總數量。到這裡,我們表示出了誤差函式,也就是損失函式,我們的目標是最小化損失函式j(θ)
,用到的方法是梯度下降法
。
首先我們考慮乙個實際的情景,當我們站在山腰的時候,如果我們想最快到達山地,我們首選的方法當然是找坡度最大的地方,即梯度的方向。如下圖所示:
但是,我們會發現乙個問題,那就是當我們所處的位置不同的時候,就會走到不同的最低位置,即會出現區域性最優,而不是尋找的全域性最優值,如下圖所示:
其實,現實我們遇見的現實問題大多只有乙個最小值,因此,不會走入區域性最優值。例如本例項影象如下所示:
現在,根據上圖可以看出我們需要做的就是不斷地更新
θ (此處的為乙個向量,包括θ1
和θ2 )值,得到到達最小值時候的
θ ,更新的方法如下,即求偏導後沿著偏導數數的方向進行更新。
該表示式表示對θi
(包括θ1
和θ2 )更新,其中的α表示更新不發的大小(如果太大可能直接越過了最小值,如果太小,迭代速度太慢,代價太大)。將j帶入後計算如下:
最後結果為:
這個規則稱為最小均方(lms,least mean squares)
更新規則
對於以上的式子進行充分直到得到結果即可,其中重複的形式有兩種,一種稱作批梯度下降(batch gradient descent)
和隨機梯度下降(stochastic gradient descent)
。
批梯度下降即每次更新乙個引數的一步時候,都需要將所有的資料計算一遍,演算法如下:
很明顯,這個演算法當訓練資料集很大的時候,會導致演算法變慢,時間複雜度太大。因此,一般用的比較少。
隨機梯度下降主要是對以上演算法的優化,每一步引數的更新,只看訓練資料集中的乙個訓練資料,演算法如下:
利用以上的演算法更新開頭提出的問題的解法過程影象和最終結果影象如下:
個人部落格:
線性回歸與梯度下降
以下內容是根據史丹福大學ng教授的機器學習公開課總結的內容 監督學習 即訓練資料中既包含了輸入資料又包含了對應於這個是輸入資料的正確的輸出結果。回歸問題 當給出了輸入資料後,正確的輸出結果。首先考慮乙個問題 我們需要 自己房屋的 現在擁有的資料只是幾十個房屋樣本 如下圖所示。怎樣根據這些房屋的面積以...
線性回歸與梯度下降
本次課程分為幾個部分 1 模型概述 如圖,下圖是乙個房間大小和房子 的dataset,我們可以使用一條直線來模擬這些資料,以便給定指定的x值,可以得到相應的y值 將資料抽象為以下回歸的問題的dataset 首先規定以下數學符號 m 訓練樣本的數量 x 代表特徵 輸入變數 y 代表目標變數 輸出變數 ...
線性回歸 梯度下降
線性回歸演算法屬於監督學習的一種,主要用於模型為連續函式的數值 過程總得來說就是初步建模後,通過訓練集合確定模型引數,得到最終 函式,此時輸入自變數即可得到 值。1 初步建模。確定假設函式 h x 最終 用 2 建立價值函式 j 也叫目標函式 損失函式等,求引數 用 3 求引數 對價值函式求偏導 即...