筆記 機器學習入門(二)

2021-08-11 18:39:39 字數 2461 閱讀 8079

第一周有三大節,第一節是introduction,簡單介紹了機器學習的分類,監督學習和非監督學習各自的特點和區別,殘念的是做了三次課後作業,都沒能全部做對,多選題對於英語差的我來說真的是太不友好了。第二節主要講述了單變數的線性回歸問題。

【模型表述】

依舊是通過預估房價的例子來構建了模型,對於資料集的描述,使用了m來表示資料集中訓練的資料樣本數量,使用x表示輸入變數(特徵),使用y表示輸出變數(目標變數)。

那麼資料是如何進行訓練的呢?

資料集通過學習演算法得到假設函式,因此得到輸入變數與輸出變數的關係。

那麼如何判斷這個假設函式的好與壞呢?因此引入成本函式(cost function)

【成本函式】

還是那個房價例子。。

首先給出了資料集

size in feet²(x)

price($) in 1000』s(y)

2104

4601416

2321534

315852

178……

然後預估了假設函式(線性的回歸問題)

對於θ0和θ1這兩個引數取不同值,會有不同的模型

將特徵曲線與資料集在同乙個座標系下進行比較

如上圖分別用黃線、綠線、藍線來表示θ0=0,θ1=1、θ0=0,θ1=0、θ0=220,θ1=0.4情況下的模型

可以發現資料集的點不完全與這些模型重合,也就是說有誤差存在。由於是線性回歸問題,我們通過計算所有預估點與實際點的均方誤差,來評估這些模型,即成本函式。對於模型而言,成本函式的值越小,該模型就越接近真實,越準確。

這裡前面的1/2m中「1/2」是為了後面函式在求導時消除2。

那麼如何找到最小的成本函式呢?課程中給出了一般常用的方法,梯度下降法(gradient descent)。

【梯度下降演算法】

梯度下降法大概思路

·從任意一組θ0和θ1開始(從任意引數開始)

·通過更新θ0和θ1的值來減小j(θ0,θ1),直到達到我們希望的最小

但是,有些時候,選擇了不同的引數作為開始,會有不同的結果出現(即並不能找到全域性最優解,而只是找到了區域性最優解)

用下圖公式來表示更新θ引數的值,重複直到收斂(迭代過程)

·梯度

圖中梯度(gradient)即對多元函式的引數求∂偏導數,再把求得的各個引數的偏導數以向量的形式寫出來。由於梯度在幾何意義上表示了函式變化增加最快的地方,沿著梯度方向更容易找到函式的最大值,而沿著梯度相反方向更容易找到函式的最小值。

·步長

圖中步長(learning rate)決定了在梯度下降迭代的過程中,每一步沿梯度負方向前進的長度。    

步長過小,會導致迭代速度慢;而步長過大,會導致迭代速度過快,從而錯過最優解致使收斂失敗,甚至發散。

下面第一幅圖由於步長太小,導致迭代次數增多,迭代速度變慢;第二幅圖由於步長太大,導致錯過最優解,且發散。

就算步長是個固定值不變,梯度下降依舊可以收斂至區域性最小,因為當我們接近區域性最小時,梯度下降會自動將步子調小,因此我們不需要額外的減少步長。

對梯度下降演算法最主要的調優在於引數初值的選擇,步長的選擇,還有一點是對樣本特徵取值的歸一化(由於這次課講的是單一特徵值,因此暫未涉及歸一化問題)

【梯度下降演算法分類】

梯度下降演算法又分為多種:

批量梯度下降法(bgd,batch gradient descent)是梯度下降法最常用的形式,具體做法也就是在更新引數時使用所有的樣本來進行更新。缺點:計算量大

隨機梯度下降法(rgd,radom gradient descent)與批量不同的是在更新引數時,沒有使用所有的m個樣本資料,而是僅僅選取了乙個樣本j。缺點:遇到雜訊容易陷入區域性最優

小批量梯度下降法(mini-batch gradient descent)這是介於bgd和rgd之間的一種演算法,它在更新資料時,選擇一定量樣本進行更新。

機器學習入門筆記

最近在學習機器學習。本文大概是我的筆記 總結 機器學習本質上是對已經了解一些內在規律的資料進行分析,得到一些資訊,從而在面對新資料的時候,可以進行 收集資料 分析資料 是否合法 是否能得到正確的演算法 訓練演算法 測試演算法 是否能以較大概率得到正確的結果 使用演算法 在已知資料集 每個資料可以看做...

機器學習入門筆記02

接著上一次的筆記,今天將 零起點學習python機器學習快速入門 的剩下的內容全部做乙個記錄。前天將書中的幾個機器學習的模型全部啃了一遍 1 邏輯回歸 2 貝葉斯網路 3 knn臨近 4 隨機森林 5 決策樹 6 gdbt迭代決策樹 7 svm支援向量機 8 交叉向量機 9 神經網路 10 神經網路...

機器學習筆記(二)

總結自 機器學習 周志華 模型評估與選擇 錯誤率 樣本總數 分類錯誤的樣本數 精度 1 錯誤率 誤差 實際 輸出與樣本真實輸出之間的差異 訓練誤差 學習器在訓練集上的誤差 泛化誤差 學習器在新樣本上的誤差 過擬合 學習能力過於強大,將訓練樣本本身的一些不太一般的特點當作所有潛在樣本的特點導致演算法泛...