BAT機器學習面試1000題(411~415題)
點擊上方
?
藍字關注七月在線實驗室誠邀愛刷題的你,加入【
機器學習·30天刷題團
】,利用碎片化時間,每天15分鐘,掃描文末海報二維碼,了解刷題團詳情。BAT機器學習面試1000題(411~415題)
411題
什麼是OOB?隨機森林中OOB是如何計算的,它有什麼優缺點?
點擊下方空白區域查看答案▼
解析:
bagging方法中Bootstrap每次約有1/3的樣本不會出現在Bootstrap所採集的樣本集合中,當然也就沒有參加決策樹的建立,把這1/3的數據稱為袋外數據oob(out of bag),它可以用於取代測試集誤差估計方法。
袋外數據(oob)誤差的計算方法如下:對於已經生成的隨機森林,用袋外數據測試其性能,假設袋外數據總數為O,用這O個袋外數據作為輸入,帶進之前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類,因為這O條數據的類型是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設為X,則袋外數據誤差大小=X/O;這已經經過證明是無偏估計的,所以在隨機森林演算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計。
412題
推導樸素貝葉斯分類 P(c|d),文檔 d(由若干 word 組成),求該文檔屬於類別 c 的概率, 並說明公式中哪些概率可以利用訓練集計算得到
點擊下方空白區域查看答案 ▼
解析:
根據貝葉斯公式P(c|d)=(P(c)P(d|c)/P(d))
這裡,分母P(d)不必計算,因為對於每個類都是相等的。 分子中,P(c)是每個類別的先驗概率,可以從訓練集直接統計,P(d|c)根據獨立性假設,可以寫成如下 P(d|c)=¥P(wi|c)(¥符號表示對d中每個詞i在c類下概率的連乘),P(wi|c)也可以從訓練集直接統計得到。 至此,對未知類別的d進行分類時,類別為c=argmaxP(c)¥P(wi|c)。
413題
請寫出你了解的機器學習特徵工程操作,以及它的意義
點擊下方空白區域查看答案▼
解析:
特徵工程包括數據與特徵處理、特徵選擇和降緯三部分。
數據與特徵處理包括:
數據選擇、清洗、採樣- 數據格式化;- 數據清洗,填充缺失值、去掉臟數據,將不可信的樣本丟掉,預設值極多的欄位考慮不用;- 採樣:針對正負樣本不平衡的情況,當正樣本遠大於負樣本時,且量都很大時,使用下採樣,量不大時,可採集更多的數據或oversampling或修改損失函數;採樣過程中可利用分層抽樣保持不同類別數據的比例。
不同類型數據的特徵處理- 數值型:幅度調整/歸一化、log等變化、統計值(例如max、min、mean、std)、離散化、分桶等- 類別型:one-hot編碼等- 時間型: 提取出連續值的持續時間和間隔時間;提取出離散值的「年」、「月」、「日」、「一年中哪個星期/季度」、「一周中的星期幾」、「工作日/周末」等信息- 文本型:使用If-idf特徵- 統計型:加減平均、分位線、次序、比例
意義:
- 對數據進行預處理,可提高數據質量,提高挖掘質量。對數據進行清洗可填充缺失值、光滑雜訊數據,識別和刪除離群點數據,保證數據的一致性;
- 使用正確的採樣方法可解決因數據不平衡帶來的預測偏差;
- 對不同的數據類型進行不同的特徵處理有助於提高特徵的可用性,例如對數值型數據進行歸一化可將數據轉化到統一量綱下;對類別型數據,可用one-hot編碼方法將類別數據數字化,數字化特徵之後可更用來計算距離、相似性等;可從時間型數據當中提取中更多的時間特徵,例如年、月和日等,這些特徵對於業務場景以及模型的預測往往有很大的幫助。統計型特徵處理有助於從業務場景中挖掘更豐富的信息。
特徵選擇包括:
1.Filter使用方差、Pearson相關係數、互信息等方法過濾特徵,評估單個特徵和結果值之間的相關程度,留下Top相關的特徵部分。
2.Wrapper可利用「遞歸特徵刪除演算法」,把特徵選擇看做一個特徵子集搜索問題,篩選各種特徵子集,用模型評估效果。
3.Embedded可利用正則化方式選擇特徵,使用帶懲罰項的基模型,除了選擇出特徵外,同時也進行了降緯。
意義:-剔除對結果預測不大的特徵,減小冗餘,選擇有意義的特徵輸入模型,提高計算性能。
降緯:方法:主成分分析法(PCA)和線性判別分析(LDA)
意義:通過PCA或LDA方法,將較高緯度樣本空間映射到較低維度的樣本空間,從而達到降緯的目的,減少模型的訓練時間,提高模型的計算性能。
414題
請寫出你對VC維的理解和認識
點擊下方空白區域查看答案▼
解析:
VC維是模型的複雜程度,模型假設空間越大,VC維越高。某種程度上說,VC維給機器學習可學性提供了理論支撐。
1.測試集合的loss是否和訓練集合的loss接近?VC維越小,理論越接近,越不容易overfitting。
2. 訓練集合的loss是否足夠小?VC維越大,loss理論越小,越不容易underfitting。
我們對模型添加的正則項可以對模型複雜度(VC維)進行控制,平衡這兩個部分。
415題
怎麼理解「機器學習的各種模型與他們各自的損失函數一一對應?」
點擊下方空白區域查看答案 ▼
解析:
寒:首先你要明確 超參數 和 參數 的差別,超參數通常是你為了定義模型,需要提前敲定的東西(比如多項式擬合的最高次數,svm選擇的核函數),參數是你確定了超參數(比如用最高3次的多項式回歸),學習到的參數(比如多項式回歸的係數)
另外可以把機器學習視作 表達 + 優化,其中表達的部分,各種模型會有各種不同的形態(線性回歸 邏輯回歸 SVM 樹模型),但是確定了用某個模型(比如邏輯回歸)去解決問題,你需要知道當前模型要達到更好的效果,優化方向在哪,這個時候就要藉助損失函數了。
下面就是一個小例子,一樣的打分函數,選用不同的loss function會變成不同的模型
圖取自 http://cs231n.github.io/linear-classify/有一個我漢化的版本 https://blog.csdn.net/han_xiao ... 99583更深入的內容歡迎查閱更多機器學習的資料,或者參與機器學習相關的課程,來討論
題目來源
:七月在線官網(https://www.julyedu.com/)——面試題庫——面試大題——機器學習今日推薦
我們的
【
計算機視覺第二期
】正在火熱報名中喔
還沒報名的小夥伴們
抓緊時間嘍
2人及2人以上組團
立減100元
想組團者可以添加客服:
julyedukefu_02
讓客服幫忙組團享受優惠喔
點擊下方「
閱讀原文
」可在線報名
分享一哈:
喜歡刷題的你,
一定不要錯過啦
【機器學習·30天刷題團】
超300道ML優質題目,
每天限刷10道
班主任督學,專業講師答疑
一起營造最好的刷題體驗
掃碼立即參加
往期推薦
面試常考:Python中的os模塊和sys模塊「文末送Python暢銷書」
一圖了解整個機器學習的核心知識體系(建議收藏)
kaggle大殺器之十大深度學習技巧,你了解多少?
深度學習難嗎?如果你連這25個概念都不知道,當然難!
45萬AI面經 | 面試offer拿不停,人稱「offer收割機」
【乾貨合集】關於支持向量機(SVM)的原理,你了解多少?(萬字長文 速收)
點擊「閱讀原文」,可在線報名
推薦閱讀:
※你也也可以搭建自己的深度學習框架
※如何零基礎入門增強學習?看這篇就對了
※計算機視覺領域的一些牛人博客,超有實力的研究機構等的網站鏈接
※大話AdaBoost演算法
※ICLR 2018最佳論文出爐:Adam收斂、球形CNN、元學習備受矚目