1、你是怎樣理解“特徵”?
特徵就是,於己而言,特徵是某些突出性質的表現,於他而言,特徵是區分事物的關鍵
2、給定場景和問題,你如何設計特徵?(特徵工程方法論)
基於人工經驗的特徵工程依然是目前的主流。
3、開發特徵時候做如何做數據探索,怎樣選擇有用的特徵?
數據描述方法:集中趨勢分析、離中趨勢分析、數據分佈分析、圖分析、
數理統計方法:假設檢驗、方差分析、相關分析、迴歸分析、因子分析
詳細:https://blog.csdn.net/Orange_Spotty_Cat/article/details/80606980
過濾式:方差選擇、卡方檢驗、互信息
優點是計算時間上較高效,對於過擬合問題也具有較高的魯棒性。缺點就是傾向於選擇冗餘的特徵,因爲他們不考慮特徵之間的相關性,有可能某一個特徵的分類能力很差,但是它和某些其它特徵組合起來會得到不錯的效果。
包裹式:Las Vagas 算法
消耗資源
嵌入式:基於懲罰項的選擇、基於樹的選擇GBDT
4、你是如何做數據清洗的?舉例說明
過濾,填補缺失值,處理異常值
5、如何發現數據中的異常值,你是如何處理?
看分佈
6、缺失值如何處理?
刪除:
填補:離散的用衆數、連續的取平均數
7、對於數值類型數據,你會怎樣處理?爲什麼要做歸一化?歸一化有哪些方法?離散化有哪些方法,離散化和歸一化有哪些優缺點?
歸一化可以提高收斂速度,提高收斂的精度
歸一化:最大值、均值
標準化:Z-score
離散化:分段,等頻等距
https://blog.csdn.net/zenghaitao0128/article/details/78361038
8、標準化和歸一化異同?
這倆都是線性變換,將原有數據進行了放縮,歸一化一般放縮到[0,1],標準化則轉爲服從標準正態分佈,數據的大小順序沒有發生改變
影響歸一化的主要是兩個極值,而標準化裏每個數據都會影響,因爲計算均值和標準差。
9、你是如何處理CTR類特徵?
放縮然後離散化
10、講解貝葉斯平滑原理?以及如何訓練得到平滑參數
防止出現估計概率值爲0,影響後續計算。
11、類別型數據你是如何處理的?比如遊戲品類,地域,設備
序號編碼、one-hot編碼、二進制編碼
12、序號編碼、one-hot編碼、二進制編碼都是什麼?適合怎樣的類別型數據?
- 序號編碼通常用於處理類別建具有大小關係的數據
- one-hot編碼用於處理類別建不具有大小關係的特徵。但是當類別取值較多的時候需要注意 (1) 用稀疏向量來節省空間 (2) 配合特徵選擇來降低維度。
- 二進制編碼,先用序號編碼給每個類別賦予一個類別id,然後將類別id轉爲二進制編碼,本質上是利用二進制對id進行了hash映射,得到0-1特徵向量,且維度少於one-hot編碼。
13、時間類型數據你的處理方法是什麼?原因?
一般取到小時或者天,太細維度一來可解釋性不強,而來造成特徵維度增加,數據過於稀疏,也增加訓練資源。
14、你怎樣理解組合特徵?舉個例子,並說明它和單特徵有啥區別
組合特徵其實就是特徵的交叉。舉個例子,比方說瀏覽新聞,給用戶推薦新聞的時候如果按性別或者興趣這個特徵來推,可能效果不是特別好,但是經過觀察發現,性別和興趣有比較強的關係,例如女性可能更喜歡看娛樂類,男性更喜歡體育財經類,把這倆特徵做組合加入到模型,效果比單特徵要強很多。
15、如何處理高維組合特徵?比如用戶ID和內容ID?
使用矩陣分解,常用的矩陣分解有
QR分解:Q是正交矩陣,R是上三角矩陣
LU分解:下三角和上三角
SVD:,其中是酉矩陣(矩陣A乘以其共軛轉置是單位陣)
Jordan分解:分成多個Jordan塊,每個Jordan塊都是對角線是相同的特徵值,次對角線是1。
16、如何理解笛卡爾積、外積、內積?
笛卡爾積是兩兩相乘,m條記錄和n條記錄的結果爲mn條記錄,內積是兩個向量點乘,結果是一個數值,外積是列向量乘以行向量,結果是一個矩陣。
17、文本數據你會如何處理?
利用各種文本模型
18、文本特徵表示有哪些模型?他們的優缺點都是什麼?
- 詞袋模型:詞彙需要仔細的設計,特別是爲了管理文檔的大小,這會影響文檔表示的稀疏性;簡單但是失去了詞的上下文結構;由於計算的原因(空間和時間複雜性)以及信息的原因,稀疏表示更難模擬,因爲模型在如此龐大的代表空間中利用這麼少的信息面臨着巨大挑戰
- N-gram:將連續出現的n個詞組成詞組作爲一個單獨的特徵放到向量表示中
參數空間過大;數據稀疏 - 主題模型:能夠計算出每篇文章的主題分佈
- 詞嵌入模型:將詞映射成維的向量。
19、講解TF-IDF原理,它有什麼優點和缺點?針對它的缺點,你有什麼優化思路?
TF-IDF是瓷瓶逆文檔頻率,TF(t,d) 爲單詞 在文檔 中出現的頻率,IDF(t)爲該詞對錶達語義所起的作用,IDF(t)=log(文章總數/(包含改詞的文章數+1))
優點是簡單快速,結果比較符合實際情況。缺點是,單純以"詞頻"衡量一個詞的重要性,不夠全面,有時重要的詞可能出現次數並不多。而且,這種算法無法體現詞的位置信息,出現位置靠前的詞與出現位置靠後的詞,都被視爲重要性相同,這是不正確的。
全文的第一段和每一段的第一句話,給予較大的權重
20、N-gram算法是什麼?有什麼優缺點?
優點在於它包含了前N-1個詞所能提供的全部信息,這些詞對於當前詞的出現具有很強的約束力,然而它的缺點是需要相當規模的訓練文本來確定模型的參數。當N很大時,模型的參數空間過大。
21、講解一下word2vec工作原理?損失函數是什麼?
有兩種網絡結構,分別是CBOW(上下文預測一個詞)和Skip-gram(一個詞預測上下文)
損失函數一般用交叉熵
詳細:https://www.cnblogs.com/pinard/p/7243513.html
22、講解一下LDA模型原理和訓練過程?
- 從參數爲 的狄利克雷分佈裏抽樣出第 個文檔的主題分佈
- 從主題多項式分佈 裏抽樣出文檔 的第 個詞的主題
- 從參數爲 的狄利克雷分佈裏抽樣出主題 的詞分佈
- 從詞多項式分佈 中抽樣出對應的詞 。
23、Word2vec和LDA兩個模型有什麼區別和聯繫?
LDA利用文檔中單詞的共現關係來對單詞按主題聚類,也可以理解爲對“文檔-單詞”矩陣進行分解,得到“文檔-主題”和“主題-單詞”兩個概率分佈,而 Word2Vec其實是對“上下文-單詞”矩陣進行學習,其中上下文由周圍的幾個單詞組成,由此得到的刺向了表示更多地融入了上下文共現的特徵,也就是說,如果兩個單詞所對應的Word2Vec向量相似度高,那麼他們很可能經常在相同的上下文中出現。
主題模型和詞嵌入兩類方法最大的不同其實在於模型本身,主題模型是一種基於概率圖模型的生成式模型,其似然函數可以寫成若干條件概率連乘的形式,其中包括需要推測的隱含變量(即主題),而詞嵌入模型一般表達爲神經網絡的形式,似然函數定義在網絡的輸出之上,需要通過學習網絡的權重得到單詞的稠密向量表示。
24、Skip-gram和cbow有何異同?
skip-gram是根據一個詞預測其上下文,cbow是根據上下文預測改詞。
25、圖像數據如何處理?有哪些常用的圖像特徵提取方法
處理像素矩陣
HOG特徵
LBP(局部二值模式)特徵
Haar-like特徵
詳細:https://blog.csdn.net/arag2009/article/details/64439221
26、你是怎樣做特徵選擇的?卡方檢驗、信息值(IV)、WOE都是如何計算?
-
卡方檢驗 其中 代表觀測頻數, 代表期望頻數。
https://www.cnblogs.com/dacc123/p/8746247.html -
WOE: 表示對一個變量進行分組後,第 組的WOE值
其中表示這個組正樣本佔所有正樣本的比例,表示這個組負樣本佔所有負樣本的比例 -
信息值(IV):第 組的IV值爲
27、計算特徵之間的相關性方法有哪些?有什麼優缺點
-
pearson係數,對定距連續變量的數據進行計算。是介於-1和1之間的值
適用範圍:
(1)、兩個變量之間是線性關係,都是連續數據。
(2)、兩個變量的總體是正態分佈,或接近正態的單峯分佈。
(3)、兩個變量的觀測值是成對的,每對觀測值之間相互獨立。 -
Spearman秩相關係數:是度量兩個變量之間的統計相關性的指標,用來評估當前單調函數來描述倆個變量之間的關係有多好。
-
Kendall(肯德爾等級)相關係數:肯德爾相關係數是一個用來測量兩個隨機變量相關性的統計值。