1. 為什麼要進行歸一化

歸一化後會使每一維度數據的更新速度變得更為一致,可更快通過梯度下降法找到最優解。梯度下降法求解的模型有線性回歸、邏輯回歸、支持向量機、神經網路模型等,但歸一化對決策樹模型並不適用,以C4.5為例,模型節點分裂時主要依據數據集關於特徵的信息增益比,而信息增益比與是否歸一化是無關的。

什麼情況下(不)需要歸一化?

需要: 基於參數的模型或基於距離的模型,都是要進行特徵的歸一化。

不需要:基於樹的方法是不需要進行特徵的歸一化,例如隨機森林,bagging 和 boosting等。

2. 類別特徵如何處理

  • 序號編碼
  • 獨熱編碼

from sklearn import preprocessing
enc = preprocessing.OneHotEncoder()
enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]]) # fit來學習編碼
enc.transform([[0, 1, 3]]).toarray() # 進行編碼

什麼情況下(不)用獨熱編碼?

用:獨熱編碼用來解決類別型數據的離散值問題,

不用:將離散型特徵進行one-hot編碼的作用,是為了讓距離計算更合理,但如果特徵是離散的,並且不用one-hot編碼就可以很合理的計算出距離,那麼就沒必要進行one-hot編碼。 有些基於樹的演算法在處理變數時,並不是基於向量空間度量,數值只是個類別符號,即沒有偏序關係,所以不用進行獨熱編碼。 Tree Model不太需要one-hot編碼: 對於決策樹來說,one-hot的本質是增加樹的深度。

  • 二進位編碼
  • 標籤編碼LabelEncoder

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
le.fit([1,5,67,100])
le.transform([1,1,100,67,5])

小結:

  • 連續型特徵:線性函數歸一化(Min-Max Scaling)、零均值歸一化(Z-Score Normalization)
  • 離散型特徵(Categorical Feature):序號編碼(Ordinal Encoding)、獨熱編碼(One-hot Encoding)、 二進位編碼(Binary Encoding)

3. 高維組合特徵

一階離散特徵兩兩組合形成高維組合。

4. 如何有效找到組合特徵

通過決策樹尋找特徵組合

5. 文本表示模型

  • Bag of Words
  • TF-IDF(Term Frequency-Inverse Document Frequency)
  • Topic Model
  • Word Embedding

6. Word2Vec

一種淺層神經網路模型,它有兩種網路結構,分別是:CBOW根據上下文預測當前詞的概率、Skip-gram根據當前詞預測上下文的概率。

  • Word2vec和LDA的區別和聯繫

LDA:利用文檔中的單詞共現關係來進行主題聚類。也可理解為對「文檔-單詞」矩陣進行分解,得到「文檔-主題」和「主題-單詞」兩個概率分布。

Word2Vec:對「上下文-單詞」矩陣進行學習,其中上下文由周圍的幾個單片語成, 由此得到的詞向量表示更多地融入了上下文共現的特徵。也就是說,如 果兩個單詞所對應的Word2Vec向量相似度較高,那麼它們很可能經常在同樣的上下文中出現。

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

主題模型基於「上下文-單詞」矩陣進行主題推理。主題模型是一種基於概率圖模型的生成式模型,其似然函數可以寫成若干條件概率連乘的形式,其中包括需要推測的隱含變數(即主題);

詞嵌入方法根據「文檔-單詞」矩陣學習出詞的隱含向量表示。詞嵌入模型一般表達為神經網路的形式,似然函數定義在網路的輸出之上,需要通過學習網路的權重以得到單詞的稠密向量表示。

7. 圖像數據不足時的處理方法

  • 遷徙學習
  • 生成對抗網路
  • 圖像處理
  • 上採樣
  • 數據擴充

推薦閱讀:

相关文章