連續特徵離散化的一些理解

上學的時候,手寫 Naive Bayes,當時處理特徵非常 Naive 。就是直接去統計每一個出現的數值,計算一個這個值和標籤的相關出現概率。
結果總是下溢,效果就別想了。。。

連續特徵離散化,爲構造特徵和簡化模型帶來了一些好處。
通過前期的經驗和一些方法,可以將連續特徵分成一些桶。這樣對於同一個數據輸入,可以劃分成不同的段,然後再進行權重的學習,或者進行更高級的特徵組合。

好處

  1. 數據分段之後,就可以在學習權重的時候非常容易剔除某個數值段。僅僅需要一個權重就可以辦到,而不需要複雜的模型來處理。優勢顯而易見。
  2. 和上面一條一樣,數據分段,相當於引入先天經驗,對不同的數值段進行不同的加權處理。就相當於引入了一個人工構造的非線性的處理函數。而且這個處理函數,可解釋性非常強。有了這個模型之後,再配合一些簡單的線性模型,就能非常容易的學習出對應的權重。大大簡化了後面學習、訓練、優化、調參、解釋等等工作。
  3. 分段之後,每個桶的數值都變成了 0、1 ,計算起來的速度就非常快了。參考裏面說容易儲存,大概是可以引入稀疏矩陣的相關優化吧,這裏並不是很明白。
  4. 離散化之後,對開區間的異常數值兼容性好。可以用一個邊界桶,來表示任意極端的值。比如超過 300 歲的人放到最後一個桶裏面(例子來自參考)。
  5. 離散化之後,可以通過經驗把一個階段的數據放到一起表達。比如年齡段的問題(參考裏講的不錯)。這樣可以提高模型的學習效果。當然如果桶分的過細,就又變成了連續特徵。這個度是我們這些程序員的價值所在。
  6. 離散後,可以通過特徵組合進一步提高非線性表達能力。
  7. 通過離散化,引入非線性的同時可以使用更簡單的模型。降低過擬合的風險。其實這個不太懂。

一些注意的點

  1. 通過經驗離散化,有可能會忽略掉一些信息。畢竟先天經驗和真實數據分佈之間還是存在差異的。

參考

https://zhuanlan.zhihu.com/p/91180828

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章