CS229機器學習個人筆記(1)——Linear Regression with One Variable
1.Model Representation
第一個學習的演算法:線性迴歸演算法。
例子描述:這個例子是預測住房價格的,我們要使用一個數據集,資料集包含俄勒岡州波特蘭市的住房價格。在這裡,我要根據不同房屋尺寸所售出的價格,畫出我的資料集。比方說,如果你朋友的房子是 1250 平方尺大小,你要告訴他們這房子能賣多少錢。那麼,你可以做的一件事就是構建一個模型,也許是條直線,從這個資料模型上來看,也許你可以告訴你的朋友,他能以大約220000(美元)左右的價格賣掉這個房子。這就是監督學習演算法的一個例子(如下圖所示)。
課程所需的數學符號以及意義:
從圖中可以看出,我們通過訓練集的訓練最終得到了一個h,那麼h到底的長什麼樣呢?h可以表示為一種最簡單的一元二次函式,即:
因為只含有一個特徵/輸入變數,因此這樣的問題叫作單變數線性迴歸問題。
2.Cost Function
定義代價函式目的是為了更好的擬合我們的h和資料,這裡我們用誤差的平方和的1/2m來表示我們的代價函式
其實我們真正要做的就是儘量減少這個代價函式的值,那麼怎麼減少呢?
我們先將
這個時候我們可以根據不同的
上圖使我們假設
變數從一個變為兩個,維度很自然的從二維變成了三維,為了方便描述,將三維圖畫成了等高線圖。
3.Gradient Descent
前兩節我們最終得到了一個代價函式的圖,但是前提是假設我們計算了所有可能的
思想:
開始時我們隨機選擇一個引數的組合(θ0,θ1,…,θn), 計算代價
函式,然後我們尋找下一個能讓代價函式值下降最多的引數組合。我們持續這麼做直到到到一個區域性最小值(local minimum) , 因為我們並沒有嘗試完所有的引數組合,所以不能確定我們得到的區域性最小值是否便是全域性最小值(global minimum),選擇不同的初始引數組合,可能會找到不同的區域性最小值。
想象一下你正站立在山的這一點上,站立在你想象的公園這座紅色山上,在梯度下降演算法中,我們要做的就是旋轉 360 度,看看我們的周圍,並問自己要在某個方向上,用小碎步儘快下山。這些小碎步需要朝什麼方向?如果我們站在山坡上的這一點,你看一下週圍,你會發現最佳的下山方向,你再看看周圍,然後再一次想想,我應該從什麼方向邁著小碎步下山?然後你按照自己的判斷又邁出一步,重複上面的步驟,從這個新的點,你環顧四周,並決定從什麼方向將會最快下山,然後又邁進了一小步,並依此類推,直到你接近區域性最低點的位置。
- 學習率
α : 小了下降速度慢,但利於收斂,大了下降速度快,但很可能導致難以收斂,甚至發散。θ0,θ1 保持同步跟新。- 學習率
α 不變也能收斂是因為,梯度下降公式中的導數值會變小。