一線大廠在機器學習方向的面試題(三)
到這我們已經分享第三期Python機器學習方向的面試題了,是不是感覺前兩期的面試題非常有用呢?最後一期20道題送給大家。
1.人工智慧與機器學習的區別?
基於經驗資料的特性而設計和開發的演算法被稱為機器學習。而人工智慧不但包括機器學習,還包括諸如知識表示,自然語言處理,規劃,機器人技術等其它方法。
2.在機器學習中分類器指的是什麼?
在機器學習中,分類器是指輸入離散或連續特徵值的向量,並輸出單個離散值或者型別的系統。
3.樸素貝葉斯方法的優勢是什麼?
樸素貝葉斯分類器將會比判別模型,譬如邏輯迴歸收斂得更快,因此你只需要更少的訓練資料。其主要缺點是它學習不了特徵間的互動關係。
4.在哪些領域使用模式識別技術?
模式識別被應用在: 計算機視覺、 語言識別、 統計、 資料探勘、 非正式檢索、 生物資訊學。
5.什麼是遺傳程式設計?
遺傳程式設計的機器學習中兩種常用的方法之一。該模型是基於測試,並在一系列的結果當中,獲取最佳選擇。
6.在機器學習中歸納邏輯程式設計是指什麼?
歸納邏輯程式設計(ILP)是利用邏輯程式設計表達的背景知識和例項,它是機器學習的一個分支。
7.在機器學習中,模型的選擇是指?
在不同的數學模型中,選擇用於描述相同的資料集的模型的過程被稱為模型選擇。模型選擇吧被應用於統計,機器學習和資料探勘的等相關領域。
8.什麼是支援向量機?
支援向量機是一種監督學習演算法,適用於分類和迴歸分析。
9.關係評價技術的組成部分是什麼?
關係評價技術的重要組成部分如下: 資料採集、 地面實況採集、 交叉驗證技術、 查詢型別、 評分標準、 顯著性檢驗。
10.你會在時間序列資料集上使用什麼交叉驗證技術?是用k倍或LOOCV?
都不是。對於時間序列問題,k倍可能會很麻煩,因為第4年或第5年的一些模式有可能跟第3年的不同,而對資料集的重複取樣會將分離這些趨勢,而我們最終可能只是需要對過去幾年的進行驗證,這就不能用這種方法了。相反,我們可以採用如下所示的5倍正向連結策略:
11.給你一個有1000列和1百萬行的訓練資料集,這個資料集是基於分類問題的。經理要求你來降低該資料集的維度以減少模型計算時間,但你的機器記憶體有限。你會怎麼做?(你可以自由做各種實際操作假設。)
你的面試官應該非常瞭解很難在有限的記憶體上處理高維的資料。以下是你可以使用的處理方法:
1.由於我們的RAM很小,首先要關閉機器上正在執行的其他程式,包括網頁瀏覽器等,以確保大部分記憶體可以使用。
2.我們可以隨機取樣資料集。這意味著,我們可以建立一個較小的資料集,比如有1000個變數和30萬行,然後做計算。
3.為了降低維度,我們可以把數值變數和分類變數分開,同時刪掉相關聯的變數。對於數值變數,我們將使用相關性分析;對於分類變數,我們可以用卡方檢驗。
4.另外,我們還可以使用PCA(主成分分析),並挑選可以解釋在資料集中有最大偏差的成分。
5.利用線上學習演算法,如VowpalWabbit(在Python中可用)是一個不錯的選擇。
6.利用Stochastic GradientDescent(隨機梯度下降法)建立線性模型也很有幫助。
7.我們也可以用我們對業務的理解來估計各預測變數對響應變數的影響的大小。但是,這是一個主觀的方法,如果沒有找出有用的預測變數可能會導致資訊的顯著丟失。
12.全球平均溫度的上升導致世界各地的海盜數量減少。這是否意味著海盜的數量減少引起氣候變化?
不能夠這樣說。這是一個“因果關係和相關性”的經典案例。全球平均溫度和海盜數量之間有可能有相關性,但基於這些資訊,我們不能說因為全球平均氣溫的上升而導致了海盜的消失。我們不能斷定海盜的數量減少是引起氣候變化的原因,因為可能有其他因素(潛伏或混雜因素)影響了這一現象。
13.給你一個資料集,這個資料集有缺失值,且這些缺失值分佈在離中值有1個標準偏差的範圍內。百分之多少的資料不會受到影響?為什麼?
約有32%的資料將不受缺失值的影響。因為,由於資料分佈在中位數附近,讓我們先假設這是一個正態分佈。我們知道,在一個正態分佈中,約有68%的資料位於跟平均數(或眾數、中位數)1個標準差範圍內,那麼剩下的約32%的資料是不受影響的。因此,約有32%的資料將不受缺失值的影響。
14.你意識到你的模型受到低偏差和高方差問題的困擾。那麼,應該使用哪種演算法來解決問題呢?為什麼?
可以使用bagging演算法(如隨機森林)。因為,低偏差意味著模型的預測值接近實際值,換句話說,該模型有足夠的靈活性,以模仿訓練資料的分佈。這樣貌似很好,但是別忘了,一個靈活的模型沒有泛化能力,意味著當這個模型用在對一個未曾見過的資料集進行測試的時候,它會令人很失望。在這種情況下,我們可以使用bagging演算法(如隨機森林),以解決高方差問題。bagging演算法把資料集分成重複隨機取樣形成的子集。然後,這些樣本利用單個學習演算法生成一組模型。接著,利用投票(分類)或平均(迴歸)把模型預測結合在一起。另外,為了應對大方差,我們可以:
1.使用正則化技術,懲罰更高的模型係數,從而降低了模型的複雜性。
2.使用可變重要性圖表中的前n個特徵。可以用於當一個演算法在資料集中的所有變數裡很難尋找到有意義訊號的時候。
15.Gradient boosting演算法(GBM)和隨機森林都是基於樹的演算法,它們有什麼區別?
最根本的區別是,隨機森林演算法使用bagging技術做出預測;而GBM是採用boosting技術做預測的。在bagging技術中,資料集用隨機取樣的方法被劃分成n個樣本。然後,使用單一的學習演算法,在所有樣本上建模。接著利用投票或者求平均來組合所得到的預測。bagging是平行進行的,而boosting是在第一輪的預測之後,演算法將分類出錯的預測加高權重,使得它們可以在後續一輪中得到校正。這種給予分類出錯的預測高權重的順序過程持續進行,一直到達到停止標準為止。隨機森林透過減少方差(主要方式)提高模型的精度。生成樹之間是不相關的,以把方差的減少最大化。在另一方面,GBM提高了精度,同時減少了模型的偏差和方差。
16.“買了這個的客戶,也買了......”亞馬遜的建議是哪種演算法的結果?
這種推薦引擎的基本想法來自於協同過濾。協同過濾演算法考慮用於推薦專案的“使用者行為”。它們利用的是其他使用者的購買行為和針對商品的交易歷史記錄、評分、選擇和購買資訊。針對商品的其他使用者的行為和偏好用來推薦專案(商品)給新使用者。在這種情況下,專案(商品)的特徵是未知的。
17.在k-means或kNN,我們是用歐氏距離來計算最近的鄰居之間的距離。為什麼不用曼哈頓距離?
我們不用曼哈頓距離,因為它只計算水平或垂直距離,有維度的限制。另一方面,歐氏距離可用於任何空間的距離計算問題。因為,資料點可以存在於任何空間,歐氏距離是更可行的選擇。例如:想象一下國際象棋棋盤,象或車所做的移動是由曼哈頓距離計算的,因為它們是在各自的水平和垂直方向做的運動。
18.我知道校正R2或者F值是用來評估線性迴歸模型的。那用什麼來評估邏輯迴歸模型?
我們可以使用下面的方法:
1.由於邏輯迴歸是用來預測機率的,我們可以用AUC-ROC曲線以及混淆矩陣來確定其效能。
2.此外,在邏輯迴歸中類似於校正R2的指標是AIC。AIC是對模型係數數量懲罰模型的擬合度量。因此,我們更偏愛有最小AIC的模型。
3.空偏差指的是隻有截距項的模型預測的響應。數值越低,模型越好。殘餘偏差表示由新增自變數的模型預測的響應。數值越低,模型越好。
19.為什麼樸素貝葉斯如此“樸素”?
因為它假定所有的特徵在資料集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。
20.花了幾個小時後,現在你急於建一個高精度的模型。結果,你建了5 個GBM(Gradient Boosted Models),想著boosting演算法會展現“魔力”。不幸的是,沒有一個模型比基準模型表現得更好。最後,你決定將這些模型結合到一起。儘管眾所周知,結合模型通常精度高,但你就很不幸運。你到底錯在哪裡?
據我們所知,組合的學習模型是基於合併弱的學習模型來創造一個強大的學習模型的想法。但是,只有當各模型之間沒有相關性的時候組合起來後才比較強大。由於我們已經試了5個GBM也沒有提高精度,表明這些模型是相關的。具有相關性的模型的問題是,所有的模型提供相同的資訊。例如:如果模型1把User1122歸類為1,模型2和模型3很有可能會做同樣的分類。
以上就是這一期的20道機器學習面試題了,希望能幫到大家。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2767921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一線大廠在機器學習方向的面試題(一)機器學習面試題
- 一線大廠在機器學習方向的面試題(二)機器學習面試題
- 機器學習面試題,更有大廠內推機會機器學習面試題
- 大廠必問的Java虛擬機器面試題Java虛擬機面試題
- AI/機器學習(計算機視覺/NLP)方向面試複習1AI機器學習計算機視覺面試
- [面試專題]一線網際網路大廠面試總結面試
- 機器學習面試問題彙總機器學習面試
- 機器學習筆試題精選(三)機器學習筆試
- 面試Python機器學習時,常見的十個面試題Python機器學習面試題
- 好程式設計師web前端學習路線大廠面試題詳解程式設計師Web前端面試題
- 史上最詳細的一線大廠Mysql面試題詳解MySql面試題
- 9 大主題!機器學習演算法理論面試題大彙總機器學習演算法面試題
- 10道機器學習、深度學習必會面試題機器學習深度學習面試題
- 史上最全的大廠Mysql面試題在這裡!MySql面試題
- 乾貨 | BAT等一線大廠 Elasticsearch面試題解讀BATElasticsearch面試題
- 一線網際網路大廠MySQL索引面試真題MySql索引面試
- 資料科學和機器學習面試問題資料科學機器學習面試
- Java大廠面試題Java面試題
- 【機器學習】機器學習面試乾貨精講機器學習面試
- 機器學習筆試題精選(一)機器學習筆試
- 面試題錦(大廠面試前夕的掙扎)面試題
- 2018金三銀四,Android大廠面試題整理Android面試題
- 分享一下最近的面試題,都是大廠面試題
- 機器學習及深度學習的知識點及面試題總結機器學習深度學習面試題
- TikTok機器學習與資料科學家的面試題 - Reddit機器學習資料科學面試題
- 機器學習面試準備大全 – 技能要求、面試例題詳解機器學習面試
- 機器學習面試準備大全 - 技能要求、面試例題詳解機器學習面試
- 幽默:機器學習面試的笑話機器學習面試
- 機器學習-習題(一)機器學習
- 大廠常考的Spring面試題Spring面試題
- 大廠必問的Redis面試題Redis面試題
- 2019年一線大廠春招:Spring面試題和答案合集(上篇)Spring面試題
- 面試官一道題就把你刷下?21道大廠高階面試題,助力金三銀四!面試題
- 好程式設計師Python培訓分享機器學習面試題一程式設計師Python機器學習面試題
- 機器學習應用面臨的一些問題機器學習
- 【週刊-1】三年大廠面試官-面試題精選及答案面試題
- 2020阿里大佬總結面試題系列!大廠面試之圖片(含答案+學習筆記)阿里面試題筆記
- 【9】進大廠必須掌握的面試題-DevOps面試面試題dev