作为面试官准备提问的问题及其答案
目錄
- 一、模型的問題
- 1.1 SVM
- 1.1.1 原理 ?
- 1.1.2 損失函數 ?
- 1.2 LSTM
- 1.2.1 損失函數
- 1.2.2 門限及公式 ?
- 1.2.3 具體模型案例 ?
- 1.2.4 實際問題解決 ?
- 1.3 神經網絡
- 1.3.1 BatchNormalization的原理與意義
- 1.3.2 Attention原理
- 1.3.3 Transformer原理
- 1.3.4 Bert原理
- 1.4 W2V
- 1.3.1 大致原理 ?
- 1.3.2 實現細節
- 1.5 XGBoost
- 1.4.1 大致原理 ?
- 1.4.2 和GBDT的關系 ?
- 1.4.3 Xgboost如何并行
- 二、優化的問題
- 2.1 softmax ?
- 2.1.1 softmax和logistic區別
- 2.1.2 Softmax和sigmoid的損失函數
- 2.2 過擬合 ?
- 2.3 正則化項 ?
- 2.3.1 L1范數和L2范數的特點
- 2.3.2 如何改變正則化項的權重
- 2.4 機器學習項目/比賽的步驟
- 2.4.1 預處理
- 2.4.2 特征工程
- 2.4.3 模型搭建、調參
- 2.4.4 模型融合
- 2.5 調參過程 ?
- 2.6 模型融合 ?
- 三、評價方式
- 3.1 Pre&Recall ?
- 3.2 ROC&AUC ?
- 3.3 假陰性和假陽性權重不同 ?
- 四、開發優化問題
- 4.1 Mapreduce
- 4.2 Mysql
- 4.2.1 具體問題
- 4.3 Python機制
- 4.3.1 循環
- 4.3.2 try
- 4.4 數據結構算法
- 4.4.1 前k個高頻元素
- 4.4.2 最大回文數
- 五、引用
一、模型的問題
1.1 SVM
1.1.1 原理 ?
用最優分類面分割正負樣本。
多分類時:1)一對多,取k個分類結果得分最高; 2)一對一,取k(k-1)/2;
1.1.2 損失函數 ?
損失函數的特點,詳情見 我的blog文章。
1.2 LSTM
1.2.1 損失函數
1.2.2 門限及公式 ?
LSTM 的關鍵就是細胞狀態,水平線在圖上方貫穿運行。
典型的LSTM包含:遺忘門、輸入門、輸出門。
- 遺忘門
遺忘門負責輸出一個介于0到1之間的 ftf_tft? ,相當于一個系數,乘以 Ct?1C_{t-1}Ct?1? 代表遺忘細胞中一定程度的信息。
- 輸入門
輸入門負責向細胞內輸入信息,輸入的信息為 itC~ti_t \tilde{C}_tit?C~t? 。
遺忘門和輸入門一同完成了細胞信息的更新工作:Ct=ftCt?1+itC~tC_t=f_t C_{t-1} + i_t \tilde{C}_tCt?=ft?Ct?1?+it?C~t? 。
- 輸出門
1.2.3 具體模型案例 ?
- 深度文本匹配模型
描述結構(包括維度)。詳情見 我的blog文章。
- 文本分類模型、關系抽取模型
講清楚背景、方法流程、最后的模型結構(包括維度)。
1.2.4 實際問題解決 ?
問:在沒有其他大量語料的情況下,如何在一堆問題里面找出100個常用問題?
答:
1、sentense embedding(多關注語義層面,這樣不僅關注字符串層面)
2、遷移學習(但本質也是一種embedding)
最后再聚類。
1.3 神經網絡
1.3.1 BatchNormalization的原理與意義
意義:為什么要使用BatchNorm,因為效果好。經過這么簡單的變換,不僅僅極大提升了訓練速度,收斂過程大大加快,還提升效果。
詳情見 我的blog文章。
1.3.2 Attention原理
Attention原理
Attention代碼實現運算(需要用numpy能手撕一個attention出來)
Self-Attention本身就可以保留句子中單詞的位置信息?
1.3.3 Transformer原理
1.3.4 Bert原理
1.4 W2V
1.3.1 大致原理 ?
描述清楚
1.3.2 實現細節
1.5 XGBoost
1.4.1 大致原理 ?
xgboost入門與實戰(原理篇)
xgboost的原理沒你想像的那么難
1.4.2 和GBDT的關系 ?
XGboost是一個工具,里面有多種模型,GBDT只是其中一個。
1.4.3 Xgboost如何并行
xgboost工具支持并行。boosting不是一種串行的結構嗎?怎么并行的?注意xgboost的并行不是tree粒度的并行,xgboost也是一次迭代完才能進行下一次迭代的(第t次迭代的代價函數里包含了前面t-1次迭代的預測值)。xgboost的并行是在特征粒度上的。我們知道,決策樹的學習最耗時的一個步驟就是對特征的值進行排序(因為要確定最佳分割點),xgboost在訓練之前,預先對數據進行了排序,然后保存為block結構,后面的迭代中重復地使用這個結構,大大減小計算量。這個block結構也使得并行成為了可能,在進行節點的分裂時,需要計算每個特征的增益,最終選增益最大的那個特征去做分裂,那么各個特征的增益計算就可以開多線程進行。
詳情見參考blog。
二、優化的問題
2.1 softmax ?
2.1.1 softmax和logistic區別
softmax和logistic區別,如何互相推導。
softmax的代價函數是
其中,
logistic的代價函數是
因此,softmax是logistic的推廣。
Softmax回歸與Logistic 回歸的關系
當類別數 K=2K=2K=2 時,softmax 回歸退化為 logistic 回歸。這表明 softmax 回歸是 logistic 回歸的一般形式。具體地說,當 K=2K=2K=2 時,softmax 回歸的假設函數為:
利用softmax回歸參數冗余的特點,我們令 ψ=θ1\psi=\theta_1ψ=θ1? ,并且從兩個參數向量中都減去向量 θ1\theta_1θ1? ,得到:
因此,用 θ′\theta'θ′ 來表示 θ2?θ1\theta_2-\theta_1θ2??θ1? ,我們就會發現 softmax 回歸器預測其中一個類別的概率為 11+exp(θ′Tx(i))\frac{1}{1+exp(\theta'^T x(i))}1+exp(θ′Tx(i))1?,這與 logistic回歸是一致的。
**[注]**那當我們遇到Softmax 回歸 vs. k 個二元分類器時該如何做選擇呢?
一般來講,當幾個類別是互斥的時候我們選擇前者比較合適,當幾個類別可以多選共存時應該選擇后者。
2.1.2 Softmax和sigmoid的損失函數
softmax配合category crossentropy loss 使用,sigmoid配合binary cross entropy loss使用。
熵=y∑p熵=y \sum p熵=y∑p
category crossentropy loss是只有y=1 的那一項熵;
binary cross entropy loss是每一項熵都有,如果y=0就會把p就變成1-p;
詳細展開參考【4】【5】。
2.2 過擬合 ?
常用應對過擬合的方法有:
- Early stopping
- 調節步長
- 正則化(參數太多、模型復雜度高)
- 數據集擴張,欠采樣和多數據源采樣
- DropOut
- 10輪CV
- 多模型融合
- 權值衰減
2.3 正則化項 ?
2.3.1 L1范數和L2范數的特點
L1正則更加容易產生稀疏解、L2正則傾向于讓參數w趨向于0。(都是讓模型更加簡單)
2.3.2 如何改變正則化項的權重
利用懲罰系數加入loss function中。
2.4 機器學習項目/比賽的步驟
2.4.1 預處理
2.4.2 特征工程
突出亮點特征
2.4.3 模型搭建、調參
2.4.4 模型融合
2.5 調參過程 ?
2.6 模型融合 ?
三、評價方式
3.1 Pre&Recall ?
以及F值
3.2 ROC&AUC ?
ROC的意義:
橫坐標是“假陽性比例”,縱坐標是“真陽性比例”(也可以是“假陰性”),描述了對正樣本正確分類和錯誤分類的關系。(雷達兵的誤報和漏報關系)
ROC曲線越靠近左上角,試驗的準確性就越高。最靠近左上角的ROC曲線的點是錯誤最少的最好閾值,其假陽性和假陰性的總數最少。
AUC指的就是ROC曲線下的面積大小占總面積的比例。
3.3 假陰性和假陽性權重不同 ?
當真陽性和假陽性權重相同時,ROC曲線上最好的點就是45°切線,即 y=x+by=x+by=x+b。
當真陽性和假陽性權重不同時,則需要根據不同的權重設計一個 y=kx+by=kx+by=kx+b 的斜線,改變 bbb 的過程中和ROC曲線相切的點所對應的閾值就是最佳閾值。
四、開發優化問題
4.1 Mapreduce
- combiner
combiner作為mapper和reducer之間的銜接,適用于具有結合律性質的情況。大大降低reducer的壓力。
- 二次排序
4.2 Mysql
4.2.1 具體問題
統計下表中各商品的數量:
| 1001 | 電腦,手機,手表 |
| 1002 | 手機,手表 |
| 1003 | 手表,馬桶 |
詳情見blog。
4.3 Python機制
4.3.1 循環
循環是強制賦值的
for i in range(5):print(i)i=104.3.2 try
try和finally的用法
def fun()try:return 1finally:return 04.4 數據結構算法
4.4.1 前k個高頻元素
1、hashmap
2、堆
4.4.2 最大回文數
1、遍歷(輕微優化)
2、動態規劃
五、引用
[1] softmax與logistic關系
[2] python中try和finally的應用
[3] RNN梯度消失和爆炸的原因
[4]解析損失函數之categorical_crossentropy loss與 Hinge loss
[5]深度學習-Loss函數
總結
以上是生活随笔為你收集整理的作为面试官准备提问的问题及其答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: landsat8不同波段合成图
- 下一篇: 使用MQTTlens和Mosquitto