11.1 子集搜尋與評價
11.2 過濾式選擇
11.3 包裹式選擇
11.4 嵌入式選擇與l1正則化
11.5 稀疏表示與字典學習
11.6 壓縮感知
特徵選擇(feature selection):從給定的特徵集合中選擇出相關特徵子集的過程。是乙個重要的資料預處理(data preprocessing)的過程。
相關特徵(relevant feature)
無關特徵(irrelevant feature)
冗餘特徵(redundant feature):可從其他特徵推演出來,在大多時候不起作用,但有的場景可以降低學習難度。
為什麼要進行特徵選擇?
兩個原因:
1.維數過多造成維數災難,選出重要特徵,可以減輕維數災難問題。(這一點和降維的動機是一樣的)
2.只保留相關特徵,去除不相關特徵,可以降低學習任務的難度,減少噪音的干擾。
注意:特徵選擇必須確保不丟失重要特徵,否則後序學習過程會因為資料缺失無法獲得好的效能。
如何搜尋?如何評價子集?
子集搜尋:
基於貪心的策略,有前向搜尋(forward search)、後向搜尋(backward search)、雙向搜尋(bidirectional search).
子集評價:
子集評價這塊需要好好琢磨一下
過濾式選擇:先直接對資料進行特徵選擇,再訓練分類器。
優良中差,明碼標價,設定閾值,擇優錄取!
常見的過濾式演算法有以下幾個:
relief演算法:見我寫的部落格 特徵選擇之relief演算法
方差選擇法
相關係數法
卡方檢驗
互資訊法
包裹式特徵選擇直接把最終將要使用的學習器的效能作為特徵子集的評價標準。計算開銷通常比過濾式大,但由於是直接給最終的學習器做優化,一般最終的效能優於過濾式。
拉斯維加斯方法和蒙特卡羅方法是兩種隨機化方法。主要區別在於如果有時間限制,拉斯維加斯方法或者給出滿足條件的解,或者不給出解。而蒙特卡羅方法一定會給出解,但未必滿足要求。如果沒有時間限制,均能給出滿足條件的解。
嵌入式選擇指的是將特徵選擇過程和學習器訓練過程融為一體,二者在同乙個優化過程中完成,即在學習器自動訓練的過程中自動完成了特徵選擇。
l0範數用來度量向量中非0元素的個數。
這張圖可以幫助我們很好的理解為什麼l1正則化比l2正則化更容易得到稀疏解?
此圖以簡單的線性回歸為例,假設只有兩個特徵。
ridge regression :嶺回歸
lasso(least absolute shrinkage and selection operator):最小絕對收縮選擇因子
平方誤差項等值線和範數等值線相交的地方就是最優解。顯然l1正則化的相交點有更大概率落在座標軸上,也就是稀疏解。
l1正則化的問題可以使用近端梯度下降(proximal gradient descent, pgd)求解。
第十一章 讀書筆記
第十一章 linux驅動程式中的 併發控制 併發 concurrency 指的是多個執行單元同時 並行被執行。而併發的執行單元對共享資 源 如硬體資摞 程式中的全域性變數 靜態變數等 的訪問很容易導致競態條件 race conditions 自旋鎖並不關心鎖定的 臨界區究竟是怎樣的操作,不管是讀還是...
第十一章讀書筆記
併發 concurrency 指的是多個執行單元同時 並行被執行。而併發的執行單元對共享資 源 如硬體資摞 程式中的全域性變數 靜態變數等 的訪問很容易導致競態條件 race conditions 例如,有乙個裝置檔案。程序 a 向該個裝置檔案寫入 1000 個 a飛而程序 b 向 裝置檔案寫入了 ...
讀書筆記 第十一章 C in depth
思考 11 2 from user in sampledata.allusers select user 轉譯 sampledata.allusers.select user user 範圍變數都可以是隱式型別。cast,oftype將飛型別化序列轉化為強型別。遇到不匹配型別,cast報錯,ofty...