單變數線性回歸-Coursera-斯坦福-機器學習
Lesson 1 Model and Cost Function
Part 1 Model Representation(如何提取模型表示)
監督學習:每組訓練數據都有期望的輸出值對連續的實際值預測則使用回歸(房價問題),對離散值的預測則使用分類(0/1問題)。
數據集即是訓練集
m 訓練集的數量
x 輸入值/某種特徵
y 輸出值/目標值
(x, y) 一組訓練值
第i組訓練值
正確答案顯而易見
訓練集(大量的已知房價數據)作為學習演算法(單變數回歸演算法)的輸入,得到預測函數h(在機器學習中把這個函數稱為hypothesis,也就是假設),h實現了x到y的映射,x可以為任意房子的面積,通過h可以預測出可能的估價。
是單變數線性回歸的一種模型,「單變數」(一個未知數),「線性」(一次函數關係)
Part 2 Cost Function
本節主要討論如何確定hypothesis的參數
一切想像成一次函數,全部變簡單
如何對數據進行擬合,此處提出了目標函數,如何選擇 和 ,最佳的選擇準則是使目標函數取得最小值
目標函數的意義是,對於每組訓練數據集,使預測函數值與真實函數值的差值最小,也就是最接近的意思,m表示訓練集的數量,除以m目的只是方便計算,使結果更小,除以2也同樣是這個目的。此處被稱為成本函數,也被稱為square error fuction(平方誤差函數)。本課選擇平方誤差函數作為成本函數,原因是這個模型最常用,且對於大量問題效果很好。
Part 3 Cost Function - Intuition I
當,則一次函數變為正比例函數,函數曲線穿過原點,這是簡化版本。
下面開始對比假設和成本函數
中x是自變數, 是固定值,此處討論正比例函數
中,是自變數,是最高次為2的二次函數
此處在做的事情是根據作出 的圖像
當 ,得到另一個的值,成本函數中的差值實質是圖像中兩點間的縱坐標的差值。
多選幾組值進行測試,則可以得到如圖右的結果,沒有懸念,是二次函數雙曲線。
Part 4 Cost Function – Intuition II
鞏固記憶
對於成本函數,如果需要考慮兩個變數,則圖像不僅僅是一個平面的二次函數了,而是一個3D的曲面
圖像與底面的距離即成本函數的函數值,圖像最低點即是目標函數min的取值。
本課程使用等高線(等高圖)方式來表示二元成本函數,同一等高線(同一閉合的圓圈)上J的取值相同,圖左的假設函數對應的成本函數取值離最小值中心距離較遠,因此不是最優取值。(把3D圖像朝平面壓扁)
另一個例子
總結一下:我們需要根據數據,擬合出一條最優曲線儘可能使曲線每個函數值與數據實際的值差值最小,則為最優擬合。本節只討論用線性回歸的方式進行曲線的擬合(當然還有二次擬合等效果更好的擬合方式,不過模型就不是這樣的了),則需要選擇最優的 和 ,使得成本函數最小,成本函數的實質就是擬合曲線與實際數據之間的差值。
當然,人工找這個最優的和是困難的,因此我們需要藉助軟體來實現。
Lesson 2 Parameter Learning
Part 1 Gradient Descent(梯度下降)
梯度下降是一種演算法,可以用來對成本函數進行求最小值,並且可以對其它函數求解最小值。
是一種最優化演算法,通常也稱為最速下降法。
成本函數的變數可以有多個,此處只標識兩個來進行表示,目標函數是計算成本函數的最小值。從一個點開始求值,逐漸尋找較小的J,最張找到最小的J值。
從圖像中的一個點為起始點,通過計算梯度值,來逐步尋找值最小的成本函數。
梯度下降演算法,不斷重複賦值,同時更新每個的值,再進行下一步的運算。
叫作學習速率,它的值代表了每一步需要移動的範圍。
Part 2 Gradient Descent Intuition
叫作學習速率,它的值代表了每一步需要移動的範圍。更新參數時需要同步更新。
是一個正數,當偏導數為正數時, 減小,當偏導數為負數時,增大。Converge表示匯聚,diverge表示分離.
當較大時,求得的J在最小值兩邊擺動,最終偏離最小值,當較小時,則非常緩慢的移動到最小值。
當 的取值已經為局部最小值時,導數為0,停止變動。
固定,當逐漸接近局部最小值時,每一步走得更加的小,然後逐漸接近最小值
Part 3 Gradient Descent For Linear Regression
將線性回歸模型和梯度下降演算法進行結合,用梯度下降演算法來指導求解最小的J成本函數。
將成本函數展開,分別求偏導數,可以得到對應的值。
展開後的結果,記住兩個值的更新要同時進行。
最速下降法能快速找到局部最優值,記住,不是函數的最小值。
線性回歸的成本函數是一個凸函數(函數圖像的一個平面的一側),只有一個全局最小值,沒有局部最優值,
從一個值出發,不斷調節,到最小值。
Review
Test: Linear Regression with One Variable
推薦閱讀:
※Coursera的financial aid容易申請嗎,能抵多少刀?
※是什麼讓我與機器學習隔行如隔山?
※Coursera (或其它慕課平台)上有哪些演算法、數據結構相關的課程值得推薦?
※如何看待在嗶哩嗶哩上搬運Andrew Ng的課程Deep Learning?
※應該如何自學Human Computer Interaction?