在最近一段時間,對機器學習進行了學習,但感覺效果不是很好。一日與朋友聊起此事,他建議建個博客,一來梳理一下所學內容,二來和大家一起學習交流。因此,建立了此博客,如果您發現博文中有不當之處,歡迎您來郵指明,我的郵箱爲[email protected]
在機器學習中,基本分爲兩大問題——監督學習(supervised learning)和非監督學習(unsupervised learning),監督學習又分爲分類(classification)問題和迴歸(regression)問題。在監督學習中,雖然每一類問題中都有很多方法,但是基本的思路都是沿着建模——確立cost function——參數最優化——新數據的預測
接下來梳理一下線性迴歸算法。在建立模型之前,我們先來定義幾個參量。
Xi——第i個樣本特徵向量,i=1,2....,m
yi——第i個輸出結果向量,i=1,2....,m
θ——參數向量,維數與X一致,j=1,2....,n
m——樣本總數
n——特徵個數
那麼假設函數應該可以表示爲
在該問題中,我們使用最小二乘法來構造cost function,我們定義J(θ)爲hθ(X)的cost function,則其公式如下:
在更新的過程中,我們使用梯度下降法,梯度下降法能夠很容易地得到局部最優解。梯度下降法分爲批量梯度下降法和隨機梯度下降法。參數θ的更新公式如下: