cs229 Lecture10 特徵選擇

2022-04-01 00:44:54 字數 1309 閱讀 5980

本節課要點:

特徵選擇

vc維:個人還是不太理解。個人的感覺就是為核函式做理論依據,低維線性不可分時,對映到高維就可分,那麼對映到多高呢?我把可分理解為「打散」。

參考的資料:前面的講解很不錯)

模型選擇

選擇過於簡單的模型,可能會導致欠擬合;

選擇過於複雜的模型,可能會導致過擬合。

那麼問題來了?

如何選擇適合的模型呢?

摘自 :機器學習的模型有很多,如何在多個模型中選擇最好的乙個?即便對於同乙個模型來說,又如何選擇最好的引數?這就是本節要解決的問題。具體舉幾個例子,比如多項式模型如何選擇階數?svm 模型如何選擇懲罰引數 c 和正則化項?區域性加權回歸如何選擇頻寬引數?如何從神經網路與 svm 模型中選擇乙個較好的模型?等等。

我們希望能夠找到乙個自動選擇模型的方法。

兩種方法:保留交叉驗證和特徵選擇。

保留交叉驗證:

對於乙個給定的訓練集合,將其隨機地劃分成兩個子集:訓練集和保留交叉驗證集。

之後用訓練集訓練模型,用保留交叉驗證集進行測試。最後選擇具有最小測試誤差的模型作為最後的結果。

變種1:k重交叉驗證:把資料集合分成k份。從第乙份資料開始,保留第乙份資料的(k-1)/k進行訓練,用剩下的1/k進行測試。這樣會得到k個誤差,然後再取平均。

k取10比較常見。這樣做的優點:只需要留出更少的資料用於測試;缺點:需要大量的計算。

變種2:留1交叉驗證:劃分的數目和樣本的數目一樣多。留出第乙個樣本進行測試,用剩下的進行訓練;留出第二個樣本進行測試,用剩下的進行訓練;留出第三個樣本進行測試,用剩下的進行訓練……

資料少的時候可以採用。

特徵選擇:

假設有n個特徵,則有2^n個子集。我們要在這2^n個子集中選用乙個集合,需要採用不同的啟發式搜尋演算法。

1、前向搜尋演算法(前向選擇演算法):從1~n,嘗試將特徵i加入到集合,並進行交叉驗證。篩選出最好的特徵f。計算量大。

2、封裝特徵選擇,後向選擇演算法:f初始為全部特徵,然後從1~n,嘗試逐個刪除特徵i,然後再進行交叉驗證。

3、過濾特徵選擇演算法:對於每個特徵i,衡量其對y的影響。計算與y的相關度。比如在文字分類問題中,我們常用的停用詞,就是和y不相關,所以可以直接刪掉。取相關度最大的前k個的特徵,k多大,可以用交叉驗證來計算。

cs229 Lecture16 馬爾可夫決策過程

之前講了監督學習和無監督學習,今天主要講 強化學習 什麼是強化學習?強化學習 reinforcement learning,又稱再勵學習,評價學習 是一種重要的機器學習方法,在智慧型控制機械人及分析 等領域有許多應用。但在傳統的機器學習分類中沒有提到過強化學習,而在連線主義學習中,把學習演算法分為三...

cs229 Lecture17 離散與維數災難

主要內容 離散化 模型mdp的同化型 model similator 擬合值迭代演算法 q函式 近似政策迭代 筆記 之前我們的狀態都是離散的,如果狀態是連續的,下面將用乙個例子來予以說明,這個例子就是inverted pendulum問題 也就是乙個鐵軌小車上有乙個長桿,要用計算機來讓它保持平衡 其...

cs229 Lecture9 經驗風險最小化

寫在前面 機器學習的目標是從訓練集中得到乙個模型,使之能對測試集進行分類,這裡,訓練集和測試集都是分布d的樣本。而我們會設定乙個訓練誤差來表示測試集的擬合程度 訓練誤差 雖然訓練誤差具有一定的參考價值。但實際上,我們並不關心對訓練集合的 有多麼準確。我們更關心的是對於我們之前沒有見過的乙個全新的測試...