1. 高維組合特徵的處理
什麼是組合特徵?
將一階離散特徵兩兩組合,就可以構成二階組合特徵
例如,特徵a有m個取值,特別b 有n個取值,將二者組合就有m*n個組成情況。這時需要學習的參數個數就是 m×n 個
如何處理高維組合特徵?
問題:當每個特徵都有千萬級別,就無法學習 m×n 規模的參數了
解決方案:可以將每個特徵分別用 k 維的低維向量表示,需要學習的參數變爲 m×k+n×k 個,等價於矩陣分解
應該對哪些特徵進行組合?
可以用基於決策樹的方法
首先根據樣本的數據和特徵構造出一顆決策樹。
然後從根節點都葉節點的每一條路徑,都可以當作一種組合方式。
例如,得到的一棵樹有這樣四條路徑:
(1)“年齡<=30”且“性別=女”。
(2)“年齡<=30”且“物品類別=護膚品”。
(3)“用戶類型=付費”且“物品類型=服飾”。
(4)“用戶類型=付費”且“年齡<=50”。
那麼新的一條樣本數據,如果同時滿足前兩個路徑,它的向量表示就是 (1,1,0,0)
2. 文本表示模型
詞袋模型
即每篇文章用一個向量表示,向量的每個位置代表一個單詞,每個位置的數值代表這個單詞在文章中的權重,經常用 TF-IDF 。
這個向量就像是一個裝滿單詞的袋子,因爲它沒有考慮單詞的順序。
詞嵌入
將每個詞都映射成低維空間(通常 K=50~300 維)上的稠密向量
Word2Vec
有兩種網絡結構,CBOW 和 Skip-gram
CBOW :根據上下文詞語來預測當前詞的生成概率
Skip-gram :根據當前詞來預測上下文中各詞的生成概率
兩種改進方法:Hierarchical Softmax 和 Negative Sampling
Word2Vec 與 LDA 的區別和聯繫
-
LDA
對“文檔-單詞”矩陣進行分解,得到“文檔-主題”和“主題-單詞”兩個概率分佈。
-
Word2Vec
Word2Vec 其實是對“上下文-單詞”矩陣進行學習,得到的詞向量提現了上下文的特徵
主題模型和詞嵌入兩類方法的差異
-
主題模型,基於“上下文-單詞”矩陣進行主題推理
一種基於概率圖模型的生成式模型,似然函數可以寫成幾個條件概率連乘的形式
-
詞嵌入方法,根據“文檔-單詞”矩陣學習出詞的隱含向量表示
模型一般表達爲神經網絡的形式,似然函數定義在網絡的輸出之上
通過學習網絡的權重,進而得到單詞的向量表示