機器學習方向的企業面試題昨天我們分享了第一期,今天我們繼續分享第二期,還是老規矩喜歡記得收藏分享給小伙伴~~
1.什么是偏差與方差?
泛化誤差可以分解成偏差的平方加上方差加上噪聲。偏差度量了學習算法的期望預測和真實結果的偏離程度,刻畫了學習算法本身的擬合能力,方差度量了同樣大小的訓練集的變動所導致的學習性能的變化,刻畫了數據擾動所造成的影響,噪聲表達了當前任務上任何學習算法所能達到的期望泛化誤差下界,刻畫了問題本身的難度。偏差和方差一般稱為bias和variance,一般訓練程度越強,偏差越小,方差越大,泛化誤差一般在中間有一個最小值,如果偏差較大,方差較小,此時一般稱為欠擬合,而偏差較小,方差較大稱為過擬合。
2.采用 EM 算法求解的模型有哪些,為什么不用牛頓法或梯度下降法?
用EM算法求解的模型一般有GMM或者協同過濾,k-means其實也屬于EM。EM算法一定會收斂,但是可能收斂到局部最優。由于求和的項數將隨著隱變量的數目指數上升,會給梯度計算帶來麻煩。
3.SVM、LR、決策樹的對比?
模型復雜度:SVM支持核函數,可處理線性非線性問題;LR模型簡單,訓練速度快,適合處理線性問題;決策樹容易過擬合,需要進行剪枝
損失函數:SVM hinge loss; LR L2正則化; adaboost 指數損失
數據敏感度:SVM添加容忍度對outlier不敏感,只關心支持向量,且需要先做歸一化; LR對遠點敏感
數據量:數據量大就用LR,數據量小且特征少就用SVM非線性核
4.GBDT 和隨機森林的區別
隨機森林采用的是bagging的思想,bagging又稱為bootstrap aggreagation,通過在訓練樣本集中進行有放回的采樣得到多個采樣集,基于每個采樣集訓練出一個基學習器,再將基學習器結合。
隨機森林在對決策樹進行bagging的基礎上,在決策樹的訓練過程中引入了隨機屬性選擇。傳統決策樹在選擇劃分屬性的時候是在當前節點屬性集合中選擇最優屬性,而隨機森林則是對結點先隨機選擇包含k個屬性的子集,再選擇最有屬性,k作為一個參數控制了隨機性的引入程度。
另外,GBDT訓練是基于Boosting思想,每一迭代中根據錯誤更新樣本權重,因此是串行生成的序列化方法,而隨機森林是bagging的思想,因此是并行化方法。
5.xgboost怎么給特征評分?
在訓練的過程中,通過Gini指數選擇分離點的特征,一個特征被選中的次數越多,那么該特征評分越高。
6.什么是OOB?隨機森林中OOB是如何計算的,它有什么優缺點?
bagging方法中Bootstrap每次約有1/3的樣本不會出現在Bootstrap所采集的樣本集合中,當然也就沒有參加決策樹的建立,把這1/3的數據稱為袋外數據oob(out of bag),它可以用于取代測試集誤差估計方法。
袋外數據(oob)誤差的計算方法如下:
對于已經生成的隨機森林,用袋外數據測試其性能,假設袋外數據總數為O,用這O個袋外數據作為輸入,帶進之前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類,因為這O條數據的類型是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設為X,則袋外數據誤差大小=X/O;這已經經過證明是無偏估計的,所以在隨機森林算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計。
7.什么是機器學習?
機器學習是為了應對系統程序設計,屬于計算機科學類的學科,它能根據經驗進行自動學習和提高。例如:一個由程序操縱的機器人,它能根據從傳感器搜集到的數據,完成一系列的任務和工作。它能根據數據自動地學習應用程序。
8.機器學習與數據挖掘的區別
機器語言是指在沒有明確的程序指令的情況下,給予計算機學習能力,使它能自主的學習、設計和擴展相關算法。數據挖掘則是一種從非結構化數據里面提取知識或者未知的、人們感興趣的圖片。在這個過程中應用了機器學習算法。
9.什么是機器學習的過度擬合現象
在機器學習中,當一個統計模型首先描述隨機誤差或噪聲,而不是自身的基本關系時,過度擬合就會出現。當一個模型是過于復雜,過擬合通常容易被發現,因為相對于訓練數據類型的數量,參數的數量過于五花八門。那么這個模型由于過度擬合而效果不佳。
10.過度擬合產生的原因
由于用于訓練模型的標準并不等同于判斷模型效率的標準,這導致了產生過度擬合的可能性。
11.如何避免過度擬合
當你使用較小的數據集進行機器學習時,容易產生過度擬合,因此使用較大的數據量能避免過度擬合現象。但是,當你不得不使用小型數據集進行建模時,可以使用被稱為交叉驗證的技術。在這種方法中數據集被分成兩節,測試和訓練數據集,測試數據集只測試模型,而在訓練數據集中,數據點被用來建模。
在該技術中,一個模型通常是被給定有先驗知識的數據集(訓練數據集)進行訓練,沒有先驗知識的數據集進行測試。交叉驗證的思想是:在訓練階段,定義一個數據集用來測試模型。
12.什么是感應式的機器學習?
感應機器學習涉及由實踐進行學習的過程,能從一組可觀測到的例子的嘗試推導出普遍性規則。
13.什么是機器學習的五個流行的算法?
1. 決策樹2. 神經網絡(反向傳播)3. 概率網絡4.最鄰近法5. 支持向量機
14.機器學習有哪些不同的算法技術?
在機器學習不同類型的算法技術是:
15.在機器學習中,建立假設或者模型的三個階段指的是什么?
1.建模 2.模型測試 3.模型應用。
16.什么是訓練數據集和測試數據集?
在類似于機器學習的各個信息科學相關領域中,一組數據被用來發現潛在的預測關系,稱為“訓練數據集”。訓練數據集是提供給學習者的案例,而試驗數據集是用于測試由學習者提出的假設關系的準確度。
17.請列出機器學習的各種方法?
機器學習的各種方法如下:
概念與分類學習(Concept Vs Classification Learning)。
符號與統計學習(Symbolic Vs Statistical Learning)。
歸納與分析學習(Inductive Vs Analytical Learning)。
18.什么是非監督學習的功能?
求數據的集群
求出數據的低維表達
查找數據有趣的方向
有趣的坐標和相關性
發現顯著的觀測值和數據集清理
19.什么是監督學習的功能?
分類
語音識別
回歸
時間序列預測
注釋字符串
20.什么是算法獨立的機器學習?
機器學習在基礎數學領域獨立于任何特定分類器或者學習算法,被稱為算法獨立的機器學習。
以上就是這一期的Python機器學習面試題介紹了,同學們在面試之前多看看一定會有幫助的,最后如果你對Python開發感興趣的話不妨來跟在線老師了解一下我們的Python培訓課程。