機器學習(二)——線性迴歸(Linear Regression)

原文:http://cs229.stanford.edu/notes/cs229-notes1.pdf

爲了使我們的住宅更有趣,我們可以考慮一個稍微更豐富的數據集,我們也知道每個房間的臥室數量:

Living\, area(feet^{2}) #bedrooms Price(1000$s)
2104 3 400
1600 3 330
2400 3 369
1416 2 232
3000 4 540
\vdots \vdots \vdots

此處的輸入特徵x是一個在R^{2}空間的二維向量,例如x_{1}^{i}就是訓練集中第i個房屋的面積,而x_{2}^{i}就是訓練集中第i個房屋的臥室數目。(通常來說,設計一個學習算法的時候,選擇哪些輸入特徵都取決於你,所以當你在波特蘭收集房屋的信息數據時,也完全可以選擇包含其他的特徵,例如房屋是否有壁爐,衛生間的數量等等。關於特徵篩選的內容會在後面的章節進行更詳細的介紹,不過目前來說就暫時先用給定的這兩個特徵了。)

要進行這個監督學習任務,我們必須得決定如何在計算機裏面對這個函數/假設h進行表示。作爲起始的選擇,我們把y近似爲一個以x爲變量的線性函數(linear function):

這裏的\theta ^{i}參數(parameters),也被叫作權重(weights),用來參數化從XY的線性函數映射空間。爲了避免混淆,我們可以把h_{\theta }(x)裏面的\theta省略掉,簡寫成h(x)。爲了簡化符號,我們還引入了約定使x_{0}=1

(即截距項 intercept term),因此

等式右邊的\thetax都是向量,等式中的 n是輸入的特徵變量的個數(不包括x_{0})。

現在,給定了一個訓練集了,咱們怎麼來挑選/學習參數\theta呢?一個看上去比較合理的方法就是讓h(x)儘量逼近y,至少對已有的訓練樣本能適用。用公式的方式來表示的話,就要定義一個函數,來衡量對於每個不同的\theta值,預測值h(x^{(i)})與實際對應的y^{i}有多接近。我們據此定義了一個 成本函數 (cost function),有的中文文獻亦稱之爲代價函數:

如果之前你接觸過線性迴歸,你會發現這個函數和 普通最小二乘法(ordinary least squares) 擬合模型中的最小二乘法成本函數非常相似。不管你之前是否接觸過它,我們先繼續往下看,以後就會發現這是一個更廣泛的算法家族中的一個特例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章