子集選擇與評價
緩解維度災難的另一種重要方法是進行特徵篩選,同時它也能降低學習任務的難度,只留下關鍵特徵。
對當前學習任務有用的屬性稱為“相關特徵”,而對當前學習任務沒有用的屬性稱為“無關特徵”,包含資訊能被其他特徵表示的屬性稱為“冗餘特徵”。
如果想要從原始特徵集中選擇出一個子集,那麼就是一個特徵選擇問題。特徵選擇通常包含以下兩個環節
-
子集搜尋:搜尋最優特徵子集
暴力搜尋會遇見組合爆炸問題,所以需要一些啟發式方法,如貪心法(前向、後向、雙向) -
子集評價:評價特徵子集的好壞
評價指標有很多,如資訊增益、資訊增益比、基尼指數、方差、相關係數等
常見的特徵選擇方法有:過濾法、包裹法、嵌入法
過濾法
先對資料集進行特徵選擇,再用特徵子集訓練模型,特徵選擇過程與學習過程無關
著名的演算法有:Relief、Relief-F
Relief 設計了一個相關統計量用於度量特徵的重要性
相關統計量:對於每一個樣本點\(x_i\),尋找與其最近鄰的樣本點\(x_{i,nh}\)(同類)和\(x_{i,nm}\)(異類),於是我們可以定義如下的相關統計量
那麼最終得到的一個統計量向量越大,說明子集選擇的越好,分類效能越強
包裹法
直接利用學習器的效能來評價特徵子集的好壞,通常效果更好,但計算開銷也更大
著名的演算法有:LVW 框架,在特徵選擇的過程中使用了隨機演算法
嵌入法
將特徵選擇過程與學習過程融為一體,直接在學習器上進行特徵選擇
著名的演算法有: L1 正則化、L2 正則化
對於線性迴歸演算法,我們通常認為有這樣一條直線可以擬合資料
當\(X\)不可逆時,我們使用最小二乘法,即
當\(X\)列不滿秩時,即\(X^T X\)不可逆,即樣本特徵多於樣本數,此時我們可以使用正則化
保證了\(X^T X + \lambda I\)可逆,從而解決了多重共線性問題
這是一種罰函式法,即在目標函式中加入了一個罰函式,使得最佳化問題變得更加複雜
最直觀的罰函式是 L0 範數,即非零元素的個數,但是 L0 範數是一個非凸函式,所以我們通常使用 L1 範數,L1 通常能獲得稀疏解,即有些特徵的權重為 0
因此可以說,L1 正則化是一種特徵選擇方法
L1 正則化的求解方法
可以使用近端梯度下降法(Proximal Gradient Descent),對於最佳化目標
如果滿足 Lipschitz 連續梯度條件,即
那麼在\(x_k\)處對目標函式進行二階泰勒展開,有
? 那麼我們可以得到
最小值可以透過如上的迭代方式求解,即梯度下降法是對 二次擬合函式的近似
那麼應用到 L1 正則化的問題上,我們可以得到
這個問題不存在交叉項,因此可以使用座標軸下降法(Coordinate Descent)求解,即
求導數,令導數為 0,即可得到
L1 正則化的求解方法