《百面機器學習》筆記-特征工程相關面試題2

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 其實是對“上下文-單詞”矩陣進行學習,得到的詞向量提現了上下文的特征

主題模型和詞嵌入兩類方法的差異

  • 主題模型,基于“上下文-單詞”矩陣進行主題推理

    一種基于概率圖模型的生成式模型,似然函數可以寫成幾個條件概率連乘的形式

  • 詞嵌入方法,根據“文檔-單詞”矩陣學習出詞的隱含向量表示

    模型一般表達為神經網絡的形式,似然函數定義在網絡的輸出之上

    通過學習網絡的權重,進而得到單詞的向量表示

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容