BAT機器學習面試題1000題(316~320題)
《BAT機器學習面試1000題》系列作為國內首個AI題庫,囊括絕大部分機器學習和深度學習的筆試面試題、知識點,可以作為機器學習自測題,也可以當做查漏補缺的資料庫。七月線上AI題庫見“閱讀原文”(點進頁面掃碼下載APP)
316、什麼是偏差與方差?
泛化誤差可以分解成偏差的平方加上方差加上噪聲。偏差度量了學習演算法的期望預測和真實結果的偏離程度,刻畫了學習演算法本身的擬合能力,方差度量了同樣大小的訓練集的變動所導致的學習效能的變化,刻畫了資料擾動所造成的影響,噪聲表達了當前任務上任何學習演算法所能達到的期望泛化誤差下界,刻畫了問題本身的難度。偏差和方差一般稱為bias和variance,一般訓練程度越強,偏差越小,方差越大,泛化誤差一般在中間有一個最小值,如果偏差較大,方差較小,此時一般稱為欠擬合,而偏差較小,方差較大稱為過擬合。
偏差:
方差:
317、解決bias和Variance問題的方法是什麼?
交叉驗證
High bias解決方案:Boosting、複雜模型(非線性模型、增加神經網路中的層)、更多特徵
High Variance解決方案:agging、簡化模型、降維
318.採用 EM 演算法求解的模型有哪些,為什麼不用牛頓法或梯度下降法?
用EM演算法求解的模型一般有GMM或者協同過濾,k-means其實也屬於EM。EM演算法一定會收斂,但是可能收斂到區域性最優。由於求和的項數將隨著隱變數的數目指數上升,會給梯度計算帶來麻煩。
319、xgboost怎麼給特徵評分?
在訓練的過程中,通過Gini指數選擇分離點的特徵,一個特徵被選中的次數越多,那麼該特徵評分越高。[python]
# feature importance
print(model.feature_importances_)
# plot pyplot.bar(range(len(model.feature_importances_)), model.feature_importances_)
pyplot.show() ==========
# plot feature importance
plot_importance(model)
pyplot.show()
Python是最好的語言 ——魯迅
向所有的程式設計師致敬
320、什麼是OOB?隨機森林中OOB是如何計算的,它有什麼優缺點?
bagging方法中Bootstrap每次約有1/3的樣本不會出現在Bootstrap所採集的樣本集合中,當然也就沒有參加決策樹的建立,把這1/3的資料稱為袋外資料oob(out of bag),它可以用於取代測試集誤差估計方法。
袋外資料(oob)誤差的計算方法如下:
對於已經生成的隨機森林,用袋外資料測試其效能,假設袋外資料總數為O,用這O個袋外資料作為輸入,帶進之前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類,因為這O條資料的型別是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設為X,則袋外資料誤差大小=X/O;這已經經過證明是無偏估計的,所以在隨機森林演算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計。
往期題目:
提高學習效率,顛覆傳統刷題!