機器學習課程 筆記

2021-07-27 10:29:24 字數 3044 閱讀 4806

在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老師回顧了上一節的樸素貝葉斯,然後提了下神經網路,接著就是重頭戲支援向量機了。支援向量機是一種二分類模型,他的基本模型時定義在特徵空間上的間隔最大的線性分類器,間隔最大使他有別於感知機,支援向量機還包括核技巧,這使他成為實質上的非線性分類器。支援向量機的學習策略...