《百面機器學習》筆記-特徵工程相關面試題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 其實是對“上下文-單詞”矩陣進行學習,得到的詞向量提現了上下文的特徵

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

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

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

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

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

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

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