在alphago血虐人類 和 最強大腦小度精彩表現的刺激下, 後知後覺的對人工智慧產生了濃厚的興趣。
看了一些相關的介紹和**, 感覺還是要從基礎學起。
出於對大名鼎鼎的andrew老師的膜拜,開始學習他講的機器學習課程。
根據自己的理解和老師的講義整理一些筆記,方便自己鞏固和學習。
文中會有很多不準確或不通順的理解, 後期會慢慢整理通順,也希望大神來拍磚指點。
機器學習包括很多內容,如監督學習,非監督學習,強化學習等等。
關於這些名詞的概念 可以網路搜尋一下,看看知乎,很容易理解。
本文主要集中對課程內容進行總結,從監督學習開始。
監督學習(supervised learning)
首先,丟擲乙個簡單的問題。
我們手上有一些資料, 是房屋的面積和**, 下圖左側是資料表,右側是散點圖(橫軸是面積,縱軸是**)。
根據上面的資料, 我們如何**該地區其他房屋的**呢?
我們希望通過房屋面積 推算出 房屋**, 這裡明確一些概念:
房屋的面積即為輸入特徵(input)
想要估算的房屋** 即為 輸出的目標(target)
現有的每一組(面積,**)資料,是訓練樣本(training example)
我們現有的所有面積,**資料,是訓練集(training set)
這樣,可以將前面的由房屋面積推算**的問題,「公升級」為:
通過學習訓練集, 找到乙個函式h,能夠很好的根據特徵x 估計出目標y。如下圖:
下面再給出兩個定義:
如果目標變數y是連續變化的,如上文中提到的房價,這類問題稱為回歸問題(regression problem);
如果目標變數y僅有幾個可選的值(如:根據房屋資訊判斷房屋是別墅還是公寓,則y只有兩個值,別墅或公寓),則稱之為分類問題(classification problem)。
線性回歸(linear regression)
為了讓問題更有趣,將上文丟擲的房價問題搞的複雜一點, 加入臥室數量,如下圖:
這時輸入變數有兩個,面積x1 和 臥室數量x2。
我們先選擇乙個關於x的線性方程來描述這個問題,如下:
再引入乙個 x0=1, 這樣h就可以表示成:
這裡引數
n是特徵數量(沒算x0),剛剛提到的面積和臥室數量共兩個特徵,所以n=2。
此時,根據樣本集找到合適的引數
這裡還要引入乙個代價函式(cost function) 的概念。
引入代價函式是為了找到合適的引數
這個函式的值越小,說明h(x)與真實結果y約接近。對房價問題定義如下的代價函式:
我們的目標就是找到
下面會介紹一些尋找這樣的
梯度下降(
gradient descent)
梯度下降簡單來說就是逐步尋找代價函式的最小值。
具體方法是:
首先對各個緯度的引數設定初始值, 然後
逐步調整該值最終找到代價函式的區域性最小值。調整公式如下:
對j求導如下:
因此調整公式可以寫成:
這是對於單個樣本的公式,而一般來說實際情況一定是有多個樣本。
對於多個樣本我們有兩種處理方式:批梯度下降和隨機梯度下降。
批梯度下降(batch gradient descent)
批梯度下降是每次調整引數都結合所有樣本進行運算, 公式如下:
其中學習率(learning rate),即每次調整的幅度,這個引數的選取對梯度下降也有很大影響,後續會講到。
批梯度下降的好處是一定能找到區域性最小值, 缺點是當樣本數量巨大的時候,運算量大,導致收斂速度慢。
隨機梯度下降(stochastic gradient descent)
隨機梯度下降演算法是每次使用乙個樣本進行運算,公式如下:
隨機梯度下降好處是收斂迅速,但有可能會在區域性最小值附近徘徊,無法找到最小值(但一般來說結果已經很接近最小值,是可以接受的)。
除了梯度下降, 還有一種無需迴圈遍歷的尋找最小值的方法,叫正規方程(normal equations)。
正規方程(normal equations)
定義另外把所有樣本均看成向量,可得:
這樣,為了讓j取得最小值,
下面手寫了點便於理解的思路,字醜請忽略。
Stanford機器學習課程筆記 SVM
stanford機器學習課程筆記 svm 前面已經學習過svm,寫了幾片博文,如下 入門svm svm中的線性不可分情況 svm中的多類分類問題 如何使用sklearn中的svm 這一篇就來把上面學習的過程融合成乙個整體。svm分類器不是憑空而出的,它是和我們前面講到的lr回歸模型有關係的。或者說就...
Andrew NG 機器學習課程筆記(一)
機器學習的動機與應用 題記 之前看過andrew ng 的機器學習課程,但沒有系統的整理與歸納,現在感覺有些東西遺忘了,於是準備每天花一些時間重溫一下同時爭取每天整理一節課的筆記,由於很多內容是自己理解或者在網上尋找各種資料得出的結論,難免有不足之處,還望讀者指正。今天是母親節,祝天下的媽媽們節日快...
Andrew NG機器學習課程筆記(六)
支援向量機 1 1.這一節andrew老師回顧了上一節的樸素貝葉斯,然後提了下神經網路,接著就是重頭戲支援向量機了。支援向量機是一種二分類模型,他的基本模型時定義在特徵空間上的間隔最大的線性分類器,間隔最大使他有別於感知機,支援向量機還包括核技巧,這使他成為實質上的非線性分類器。支援向量機的學習策略...