一線大廠在機器學習方向的面試題(二)

千鋒武漢發表於2021-04-13

機器學習方向的企業面試題昨天我們分享了第一期,今天小千繼續分享第二期,還是老規矩喜歡記得收藏分享給小夥伴~~

1

      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指數選擇分離點的特徵,一個特徵被選中的次數越多,那麼該特徵評分越高。

1

      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.機器學習有哪些不同的演算法技術?

      在機器學習不同型別的演算法技術是:

2

      15.在機器學習中,建立假設或者模型的三個階段指的是什麼?

      1.建模 2.模型測試 3.模型應用。

      16.什麼是訓練資料集和測試資料集?

      在類似於機器學習的各個資訊科學相關領域中,一組資料被用來發現潛在的預測關係,稱為“訓練資料集”。訓練資料集是提供給學習者的案例,而試驗資料集是用於測試由學習者提出的假設關係的準確度。

      17.請列出機器學習的各種方法?

      機器學習的各種方法如下:

      概念與分類學習(Concept Vs Classification Learning)。

      符號與統計學習(Symbolic Vs Statistical Learning)。

      歸納與分析學習(Inductive Vs Analytical Learning)。

      18.什麼是非監督學習的功能?

      求資料的叢集

      求出資料的低維表達

      查詢資料有趣的方向

      有趣的座標和相關性

      發現顯著的觀測值和資料集清理

      19.什麼是監督學習的功能?

      分類

      語音識別

      迴歸

      時間序列預測

      註釋字串

      20.什麼是演算法獨立的機器學習?

      機器學習在基礎數學領域獨立於任何特定分類器或者學習演算法,被稱為演算法獨立的機器學習。

      以上就是這一期的Python機器學習面試題介紹了,同學們在面試之前多看看一定會有幫助的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2767726/,如需轉載,請註明出處,否則將追究法律責任。

相關文章