Coursera 機器學習筆記(一)

2022-08-17 19:51:14 字數 2003 閱讀 6800

主要是第一二周內容

生活在資訊時代的我們,其實時時刻刻都離不開機器學習演算法。比如日常使用的搜尋引擎就涉及到很多學習演算法。

arthur samuel 給出第乙個定義。他定義機器學習為:在進行特定程式設計的情況下,給予計算機學習能力的領域。維基百科給出的定義為:

機器學習演算法是一類從資料中自動分析獲得規律,並利用規律對未知資料進行**的演算法。因為學習演算法中涉及了大量的統計學理論,機器學習與推斷統計學聯絡尤為密切,也被稱為統計學習理論。

可見這是一門交叉學科,涉及很多統計方面的知識。

機器學習可以分成下面幾種類別:

主要介紹下前兩個類別。監督學習是指從給定「正確答案」的資料集學習乙個演算法,用來算出新資料的「正確答案」。監督學習主要分為回歸問題和分類問題。比如:通過房屋面積來**房價問題,而房價可以看成是連續值,這就是乙個回歸問題。回歸主要的種類有:線性回歸,曲線回歸,二元logistic回歸,多元logistic回歸。而分類問題指的是**值是離散的,「正確答案」是離散的。比如根據魚的某些特徵判斷是哪種魚,a魚還是b魚。

而無監督學習即沒有所謂的「正確答案」。常用的無監督學習有聚類(clustering)。

模型引數表示:

模型表示為:

機器學習(指監督學習)即利用學習演算法通過訓練集來學習到乙個假設h,對新的輸入x,做出相應的輸出**y。要怎麼表示\( h \)呢?當h與輸入變數是線性關係時,如:[ = + x ,或者 = + + +......],統一表示為\((x) = x\) 。需要這樣表示\( h \)的問題即為線性回歸問題。

接下來需要為模型選定合適的引數 \(\theta\)。我們要選定合適的引數使得我們的模型所**的結果與訓練集實際值的差距最小,即準確程度最高。其中**值與實際值之間的差距就是建模誤差。

定義成本函式(代價函式,cost function)為:

\[j(\theta ) = \frac}\sum\limits_^m (}) - })}^2}}

\]當只有\(\theta \)為二維向量時,我們可以繪製相應的等高線圖:

我們的目標就是找出成本函式中的最低點。

梯度下降是求成本函式最小值的一種演算法。梯度下降背後的思想是:開始時我們隨機選擇乙個引數的組合( θ0,θ1,...,θn),計算代價函式,然後我們尋找下乙個能讓代價函式值下降最多的引數組合。

批量梯度下降( batch gradient descent)演算法的公式為:

[\theta _j := \theta _j - \alpha \fracj(\theta ) \space \space \space \space \space \space \space \space (for \space \space j=0 \space \space to \space \space j =n) ]

期中\(\alpha \) 是學習率,決定我們在下降方向上邁出的步伐的大小。不斷重複批量梯度下降直至收斂。

我們持續這麼做直到到到乙個區域性最小值(local minimum),因為我們並沒有嘗試完所有的引數組合,所以不能確定我們得到的區域性最小值是否便是全域性最小值(global minimum),選擇不同的初始引數組合,可能會找到不同的區域性最小值。

特徵縮放

在我們面對多維特徵問題的時候,我們要保證這些特徵都具有相近的尺度,這將幫助梯度下降演算法更快地收斂。

如二維特徵問題,進行特徵縮放有利於梯度下降。如圖:

特徵縮放公式為:

[ = \frac - }}}} ]

學習率梯度下降演算法的每次迭代受到學習率的影響,如果學習率 α 過小,則達到收斂所需的迭代次數會非常高;如果學習率 α 過大,每次迭代可能不會減小代價函式,可能會越過區域性最小值導致無法收斂。

通常選擇 α=0.01, 0.03, 0.1, 0.3, 1, 3, 10 中的值。

正則方程也是計算成本函式最小值的一種方法。正如高數中所學的,函式的極值點在函式導數為0的位置。即我們可以通過求解[ \frac}}j() = 0 ] 來計算出使得成本函式最小的引數。

最後得出\(\theta = x)}y\).

兩種方法的對比

Coursera 機器學習筆記(六)

主要為第八周內容 聚類 clustering 降維 聚類是非監督學習中的重要的一類演算法。相比之前監督學習中的有標籤資料,非監督學習中的是無標籤資料。非監督學習的任務是對這些無標籤資料根據特徵找到內在結構。聚類就是通過演算法把資料分成不同的簇 點集 k均值演算法是其中一種重要的聚類演算法。k均值演算...

Coursera機器學習課程筆記(十)

課程中介紹了三種不同的梯度下降演算法,分別是批量 batch 梯度下降演算法,小批量 mini batch 梯度下降演算法,隨機 stochastic 梯度下降演算法 對於小批量梯度下降,必須要將運算向量化實現才是比隨機梯度下降更好的演算法。隨機梯度下降的前提條件是必須將樣本隨機排列,然後在依次遍歷...

機器學習入門 Coursera

1.解決方法 無論你是mac還是windows還是linux系統,系統中都會有乙個hosts檔案。這個檔案在各系統中的位址如下。1.mac系統 private etc hosts 2.linux系統 etc hosts 3.windows系統 c windows system32 drivers e...