在線性迴歸中咱們有一個像這樣的訓練集,m表明了訓練樣本的數量,好比 m = 47。而咱們的假設函數,也就是用來進行預測的函數,是這樣的線性函數形式:hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x。算法
接下來咱們會引入一些術語咱們如今要作的即是爲咱們的模型選擇合適的參數(parameters)θ0θ0 和 θ1θ1,在房價問題這個例子中即是直線的斜率和在 y 軸上的截距。函數
咱們選擇的參數決定了咱們獲得的直線相對於咱們的訓練集的準確程度,模型所預測的值與訓練集中實際值之間的差距(下圖中藍線所指)就是建模偏差(modeling error)atom
咱們的目標即是選擇出可使得建模偏差的平方和可以最小的模型參數。 即便得代價函數 J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2最小。spa
咱們繪製一個等高線圖,三個座標分別爲θ0θ0和θ1θ1 和J(θ0,θ1)J(θ0,θ1):視頻
則能夠看出在三維空間中存在一個使得J(θ0,θ1)J(θ0,θ1)最小的點。xml
代價函數也被稱做平方偏差函數,有時也被稱爲平方偏差代價函數。咱們之因此要求出偏差的平方和,是由於偏差平方代價函數,對於大多數問題,特別是迴歸問題,都是一個合理的選擇。還有其餘的代價函數也能很好地發揮做用,可是平方偏差代價函數多是解決迴歸問題最經常使用的手段了。blog
在後續課程中,咱們還會談論其餘的代價函數,但咱們剛剛講的選擇是對於大多數線性迴歸問題很是合理的。數學
也許這個函數J(θ0,θ1)J(θ0,θ1)有點抽象,可能你仍然不知道它的內涵,在接下來的幾個視頻裏,咱們要更進一步解釋代價函數J的工做原理,並嘗試更直觀地解釋它在計算什麼,以及咱們使用它的目的。2it
在上一個視頻中,咱們給了代價函數一個數學上的定義。在這個視頻裏,讓咱們經過一些例子來獲取一些直觀的感覺,看看代價函數究竟是在幹什麼class
這裏討論的是隻有θ1的狀況,在 下面的代價函數2裏面在討論兩個值的狀況
代價函數的樣子,等高線圖,則能夠看出在三維空間中存在一個使得J(θ0,θ1)J(θ0,θ1)最小的點。
經過這些圖形,我但願你能更好地理解這些代價函數 J所表達的值是什麼樣的,它們對應的假設是什麼樣的,以及什麼樣的假設對應的點,更接近於代價函數J的最小值。
固然,咱們真正須要的是一種有效的算法,可以自動地找出這些使代價函數J取最小值的參數θ0θ0和θ1θ1來。
咱們也不但願編個程序把這些點畫出來,而後人工的方法來讀出這些點的數值,這很明顯不是一個好辦法。咱們會遇到更復雜、更高維度、更多參數的狀況,而這些狀況是很難畫出圖的,所以更沒法將其可視化,所以咱們真正須要的是編寫程序來找出這些最小化代價函數的θ0θ0和θ1θ1的值,在下一節視頻中,咱們將介紹一種算法,可以自動地找出能使代價函數J最小化的參數θ0θ0和θ1θ1的值。
經過這些圖形,我但願你能更好地理解這些代價函數 J所表達的值是什麼樣的,它們對應的假設是什麼樣的,以及什麼樣的假設對應的點,更接近於代價函數J的最小值。
固然,咱們真正須要的是一種有效的算法,可以自動地找出這些使代價函數J取最小值的參數θ0θ0和θ1θ1來。
咱們也不但願編個程序把這些點畫出來,而後人工的方法來讀出這些點的數值,這很明顯不是一個好辦法。咱們會遇到更復雜、更高維度、更多參數的狀況,而這些狀況是很難畫出圖的,所以更沒法將其可視化,所以咱們真正須要的是編寫程序來找出這些最小化代價函數的θ0θ0和θ1θ1的值,在下一節視頻中,咱們將介紹一種算法,可以自動地找出能使代價函數J最小化的參數θ0θ0和θ1θ1的值。