由於時間原因,今天主要復習下machine learning課程的前三節,簡單記錄自己的理解。
1.模式表達(Model representation)
其實就是指通過一定的范例數據學習追蹤生成一個函數的表達形式。然后通過矩陣得到整個運算過程。
模型表達就是給出輸入和輸出之間的函數關系式,當然這個函數是有前提假設的,里面可以含有參數。
比如下圖,我們有一個房子的大小size,卧室數目(bedrooms)然后得到房屋價格(price),通過這三個常數就可計算一個輸入和輸出的函數關系。
hprice=Q0+Q1*size+Q2*bedrooms;
在求解過程中透露出了兩個信息:
1.房價模型是根據擬合的函數類型決定的。如果是直線,那么擬合出的就是直線方程。如果是其他類型的線,例如拋物線,那么擬合出的就是拋物線方程。
機器學習有眾多算法,一些強力算法可以擬合出復雜的非線性模型,用來反映一些不是直線所能表達的情況。
2.如果我的數據越多,我的模型就越能夠考慮到越多的情況,能夠由損失函數越小,由此對於新情況的預測效果可能就越好。
一般來說(不是絕對),數據越多,最后機器學習生成的模型預測的效果越好。
2.成本函數(cost funtion)
此時如果有許多訓練樣本的話,同樣可以給出訓練樣本的平均相關的誤差函數,
一般該函數也稱作是成本函數(cost function)。我們的目標是求出模型表達中的參數,這是通過最小化成本函數來求得的。
通常來說,模型越准確,越接近真實,其cost function的值就越小
在線性回歸問題中,通常使用square loss的形式。線性回歸常用的square loss形式是均方誤差MSE:
Jθ=1m(hθ(x(i))−y(i))2
一般最小化成本函數是通過梯度下降法(即先隨機給出參數的一組值,然后更新參數,使每次更新后的結構都能夠讓損失函數變小,最終達到最小即可)
通常上面的方差運算也有以下表達方式:
Jθ=12m(hθ(x(i))−y(i))2
對於上圖當我們畫圖表示的時候我突然聯想到了入門時的那張圖
其全局極值點的坐標,就是我們要求的權重向量θ。
階段總結:到目前為止,以我的理解,一個問題抽象成機器學習常用的過程就如下:
確定hypothesis,cost function和goal,通常對cost function 求解權重向量的過程,是一個最優化問題。