BAT機器學習面試1000題(446~450題)
點擊上方
?
藍字關注七月在線實驗室BAT機器學習面試1000題(446~450題)
446題
在應用機器學習演算法之前糾正和清理數據的步驟是什麼?
點擊下方空白區域查看答案▼
解析:
1.將數據導入
2.看數據:重點看元數據,即對欄位解釋、數據來源等信息;導入數據後,提取部分數據進行查看
3.缺失值清洗- 根據需要對缺失值進行處理,可以刪除數據或填充數據- 重新取數:如果某些非常重要的欄位缺失,需要和負責採集數據的人溝通,是否可以再獲得
4.數據格式清洗:統一數據的時間、日期、全半形等顯示格式
5.邏輯錯誤的數據- 重複的數據- 不合理的值
6.不一致錯誤的處理:指對矛盾內容的修正,最常見的如身份證號和出生年月日不對應不同業務中數據清洗的任務略有不同,比如數據有不同來源的話,數據格式清洗和不一致錯誤的處理就尤為突出。數據預處理是數據類崗位工作內容中重要的部分。
447題
在 K-Means 中如何拾取 k?
點擊下方空白區域查看答案 ▼
解析:
K-Means 演算法的最大缺點是不能自動選擇分類數 k,常見的確定 k 的方法有:
- 根據先驗知識來確定
- k=2N ,N 為樣本數
- 拐點法:把聚類結果的 F-test 值對聚類個數的曲線畫出來,選擇圖中的拐點
- 基於信息準則判斷,如果模型有似然函數,則可以用 BIC、DIC 來進行決策具體的 k 的選擇往往和業務聯繫緊密,如希望能將用戶進行分類,就有先驗的分類要求
448題
如何理解模型的過擬合與欠擬合,以及如何解決?
點擊下方空白區域查看答案▼
解析:
欠擬合(underfiting / high bias)訓練誤差和驗證誤差都很大,這種情況稱為欠擬合。出現欠擬合的原因是模型尚未學習到數據的真實結構。因此,模擬在訓練集和驗證集上的性能都很差。
解決辦法
1 做特徵工程,添加跟多的特徵項。如果欠擬合是由於特徵項不夠,沒有足夠的信息支持模型做判斷。
2 增加模型複雜度。如果模型太簡單,不能夠應對複雜的任務。可以使用更複雜的模型,減小正則化係數。具體來說可以使用核函數,集成學習方法。
3 集成學習方法boosting(如GBDT)能有效解決high bias過擬合(overfiting / high variance)模型在訓練集上表現很好,但是在驗證集上卻不能保持準確,也就是模型泛化能力很差。這種情況很可能是模型過擬合。
造成原因主要有以下幾種:
1 訓練數據集樣本單一,樣本不足。如果訓練樣本只有負樣本,然後那生成的模型去預測正樣本,這肯定預測不準。所以訓練樣本要儘可能的全面,覆蓋所有的數據類型。
2 訓練數據中雜訊干擾過大。雜訊指訓練數據中的干擾數據。過多的干擾會導致記錄了很多雜訊特徵,忽略了真實輸入和輸出之間的關係。
3 模型過於複雜。模型太複雜,已經能夠死記硬背記錄下了訓練數據的信息,但是遇到沒有見過的數據的時候不能夠變通,泛化能力太差。我們希望模型對不同的模型都有穩定的輸出。模型太複雜是過擬合的重要因素。
針對過擬合的上述原因,對應的預防和解決辦法如下:
1 在訓練和建立模型的時候,從相對簡單的模型開始,不要一開始就把特徵做的非常多,模型參數跳的非常複雜。
2 增加樣本,要覆蓋全部的數據類型。數據經過清洗之後再進行模型訓練,防止雜訊數據干擾模型。
3 正則化。在模型演算法中添加懲罰函數來防止過擬合。常見的有L1,L2正則化。
4 集成學習方法bagging(如隨機森林)能有效防止過擬合
5 減少特徵個數(不是太推薦)注意:降維不能解決過擬合。降維只是減小了特徵的維度,並沒有減小特徵所有的信息。
449題
以下哪種方法屬於判別式模型(discriminative model)( )
A、隱馬模型(HMM)
B、樸素貝葉斯
C、LDA
D、支持向量機
點擊下方空白區域查看答案▼
正確答案是:D
解析:
已知輸入變數x,判別模型(discriminative model)通過求解條件概率分布P(y|x)或者直接計算y的值來預測y。生成模型(generative model)通過對觀測值和標註數據計算聯合概率分布P(x,y)來達到判定估算y的目的。
常見的判別模型有線性回歸(Linear Regression),邏輯回歸(Logistic Regression),支持向量機(SVM), 傳統神經網路(Traditional Neural Networks),線性判別分析(Linear Discriminative Analysis),條件隨機場(Conditional Random Field);常見的生成模型有樸素貝葉斯(Naive Bayes), 隱馬爾科夫模型(HMM),貝葉斯網路(Bayesian Networks)和隱含狄利克雷分布(Latent Dirichlet Allocation)。
A選項的隱馬爾科夫模型和 B選項的樸素貝葉斯屬於生成模型。C選項的LDA,如果是指Linear Discriminative Analysis,那麼屬於判別模型,如果是指 Latent Dirichlet Allocation,那麼屬於生成模型。D選項的支持向量機屬於判別模型。
450題
以P(w)表示詞條w的概率,假設已知P(南京)=0.8,P(市長)=0.6,P(江大橋)=0.4:P(南京市)=0.3,P(長江大橋)=0.5:如果假設前後兩個詞的出現是獨立的,那麼分詞結果就是( )
A、南京市*長江*大橋
B、南京*市長*江大橋
C、南京市長*江大橋
D、南京市*長江大橋
點擊下方空白區域查看答案 ▼
正確答案是: B
解析:
該題考察的是最大概率分詞,其基本思想是:一個待切分的漢字串可能包含多種分詞結果,將其中概率最大的作為該字串的分詞結果。若某候選詞在訓練語料中未出現,其概率為0。
A分詞結果的概率為P(A)=P(南京市)*P(長江)*P(大橋),由於「長江」未在語料中出現,所以P(長江)=0,從而P(A)=0;
同理可以算出B, C, D分詞結果的概率分別是: P(B)=P(南京)*P(市長)*P(江大橋)=0.8*0.6*0.4=0.192;
P(C)=P(南京市長)*P(江大橋)=0*0.4=0; P(D)=P(南京市)*P(長江大橋)=0.3*0.5=0.15。
因為P(B)最大,所以為正確的分詞結果。
題目來源
:七月在線官網(https://www.julyedu.com/)——面試題庫——面試大題——機器學習今日推薦
我們的
【
計算機視覺第二期
】正在火熱報名中
9月22日開課嘍
還沒報名的小夥伴們
抓緊時間嘍
2人及2人以上組團
立減100元
想組團者可以添加客服:
julyedukefu_02
讓客服幫忙組團享受優惠喔
點擊下方「
閱讀原文
」可在線報名
更多資訊
請戳一戳
往期推薦
機器學習難嗎?這12大經驗總結,讓你瞬間理解機器學習(文末送西瓜書)
乾貨 | 一圖掌握整個深度學習核心知識體系【高清下載】
為什麼程序員總喜歡在半夜寫代碼?
2019校招面試必備,15個CNN關鍵回答集錦【建議收藏】
年薪25萬的程序員都選擇轉行了,究竟是什麼行業這麼熱門?
點擊「閱讀原文」,立即報名
推薦閱讀:
※最全面的外企面試實用貼
※平時這樣準備面試的HR,年底年終獎都拿到手軟
※【試試你的思維】北大、清華等11所名校30道自主招生面試題
※Curtis Bonk教授發文賀中文版面試