機器學習第三週

2022-09-09 22:03:29 字數 1680 閱讀 8313

應用機器學習的時候,會遇到很多問題。比如模型的選擇,資料的擬合程度,新樣本的泛化程度。這裡記錄 一些相關概念和應對方法。

1.  將 資料集分成 訓練集,驗證集,測試集。最好是採用隨機方法來取,一般是 60% ,20%,20%。

要考慮假設函式的擬合程度(也就是模型選擇)以及 新情況的泛化程度,驗證集作用是挑出擬合合適的假設函式,測試集的作用是看新樣本的泛化程度

這裡以單變數線性回歸為例子來看以下具體處理

使用訓練集訓練出10個模型

用10個模型分別對交叉驗證集計算得出交叉驗證誤差(代價函式的值)

選取代價函式值最小的模型

用步驟3中選出的模型對測試集計算得出推廣誤差(代價函式的值)

用訓練集得到的模型引數,也就是thera向量組,帶入到預先設定的多個假設函式中,得到初步模型。

然後將這幾個假設函式對應的代價函式計算對比,得到最小的代價,也就是選定了模型。(這是驗證集的作用)

然後對這個選出來的假設函式應用測試集來檢視一下擬合程度,考察擬合程度主要就是看欠擬合還是過擬合,運用的指標有方差和偏差。

下圖是假設函式組合。

高偏差和高方差的問題基本上來說是欠擬合和過擬合的問題

下圖就是典型的 欠擬合   擬合的不錯  過擬合

將驗證集和訓練集的代價函式放到一張圖上,對於訓練集,當  較小時,模型擬合程度更低,誤差較大;隨著  的增長,擬合程度提高,誤差減小。 對於交叉驗證集,當  較小時,模型擬合程度低,誤差較大;但是隨著  的增長,誤差呈現先減小後增大的趨勢,轉折點是我們的模型開始過擬合訓練資料集的時候。

所以有結論

訓練集誤差和交叉驗證集誤差近似時:偏差/欠擬合 交叉驗證集誤差遠大於訓練集誤差時:方差/過擬合。

上面的都是沒有加入正則項的,一般模型都會匹配上正則項,正則項的選擇和上面的方程次數的選擇其實是乙個意思, 選擇恰當的正則項就是選擇恰當的次數來比較好的擬合資料。

依然是模型的多個引數選擇,選擇較小代價的那乙個,在加入測試集看泛化

選擇的方法為:

使用訓練集訓練出12個不同程度正則化的模型

用12個模型分別對交叉驗證集計算的出交叉驗證誤差

選擇得出交叉驗證誤差最小的模型

運用步驟3中選出模型對測試集計算得出推廣誤差,我們也可以同時將訓練集和交叉驗證集模型的代價函式誤差與λ的值繪製在一張圖表上:

當 theta 較小時,訓練集誤差較小(過擬合)而交叉驗證集誤差較大 • 隨著 theta 的增加,訓練集誤差不斷增加(欠擬合),而交叉驗證集誤差則是先減小後增加.

這裡的影象和上述的次數的圖形從形狀來看 正好反過來,其實是乙個意思,畢竟次數越大越擬合(過擬合)。正則越小,等同於失去懲罰能力,越擬合(過擬合)

機器學習第三週

在進行特徵選擇之前,一般會先進行資料無量綱化處理,這樣,表徵不同屬性 單位不同 的各特徵之間才有可比性,如1cm 與 0.1kg 你怎麼比?無量綱處理方法很多,使用不同的方法,對最終的機器學習模型會產生不同的影響。本文將對常用的無量綱化技術進行總結,試圖指出他們的適用場景,並給出在python中的相...

第三週學習總結

這周關於深度學習的內容比較簡單,是對線性代數的簡單回顧,所以我在這裡做乙個簡單的總結。向量與矩陣 矩陣是由m n個數組成的乙個m行n列的矩形 特別地,乙個m 1矩陣也稱為乙個m維列向量 而乙個1 n矩陣 也稱為乙個n維行向量.向量可以用矩陣表示,且有時特殊矩陣就是向量.簡言之就是矩陣包含向量.矩陣加...

第三週學習總結

複習了一周唄 就感覺鞏固了一下,學習方法還是理解著背,死記硬背是不可能的,除了英語和文科這輩子都不可能死記硬背的。今天還複習了剩下的搜尋。比如拓撲排序,根據深度進行的排序?雖然又看了一遍但是還是不知道這個到底與按深度排序有什麼區別的說,總之就是先算出深度,然後從入度為0的乙個個廣搜,放進陣列就好。剩...