機器學習問題總結(jié)

算法基礎:

1.有一個具有缺失值的數(shù)據(jù)集摔吏,其沿著中位數(shù)的1個標準偏差擴散鸽嫂。有多少數(shù)據(jù)不受影響?

答: 因為舔腾,數(shù)據(jù)分布在中位數(shù)溪胶,我們假設它是正態(tài)分布。
我們知道稳诚,在正態(tài)分布中,約68%的數(shù)據(jù)位于與平均值(or mode, median)1個標準差瀑踢,這使得大約有32%的數(shù)據(jù)不受影響扳还。因此,約32%的數(shù)據(jù)不會受到缺失值的影響橱夭。

2.為什么Naive Bayes是‘樸素’的氨距?

答: 因為它假設數(shù)據(jù)集中的所有特征是同等重要的,并且相互獨立棘劣。

3.在Naive Bayes算法下俏让,解釋先驗概率、似然性茬暇、邊際似然性首昔?P(Y|X)

答:
先驗概率P(X):是因變量在數(shù)據(jù)集中的比例。沒有進步一信息的情況下糙俗,這是對類別的最接近的猜想勒奇。例如:在數(shù)據(jù)集中,因變量是二進制(1和0)巧骚。1(垃圾郵件)的比例為70%赊颠,0(非垃圾郵件)的比例為30%格二。因此,我們可以估計有70%的可能性將任何新電子郵件歸類為垃圾郵件竣蹦。
似然性P(Y|X):Likelihood是在給定的其他變量存在下將給定觀測值分類為1的概率顶猜。例如:在以前的垃圾短信中使用“免費”一詞的可能性是可能的。
邊際似然性:Marginal likelihood是痘括,“免費”一詞在任何消息中使用的概率长窄,P(Y|X1) + P(Y|X2) + P(Y|X3) + ... + P(Y|XN);

4.k-NN與k-Means聚類有什么不同?

答:kmeans是無監(jiān)督的远寸,而kNN是有監(jiān)督的抄淑。kmeans是聚類算法,而kNN是一種分類(回歸)算法驰后。
kmeans算法:將數(shù)據(jù)集劃分為簇肆资,并且簇中的點是同類的并且彼此接近。該算法試圖在這些簇之間保持足夠的可分離性灶芝。由于無監(jiān)督的性質(zhì)郑原,簇沒有標簽。
kNN算法:試圖基于其k個鄰居對未標記的實例進行分類夜涕。kNN也屬于“懶惰學習”犯犁。因此,它不使用訓練數(shù)據(jù)對未知數(shù)據(jù)集進行分類女器。

5.TPR和Recall有什么關(guān)系酸役?

答:TPR就是Recall。TPR = Recall = TP/(TP + FN), FPR = FP/(FP + TN)驾胆。
TPR:將正樣本劃分為正樣本的概率涣澡;
FPR:將負樣本劃分為正樣本的概率;

6.在處理數(shù)據(jù)集時丧诺,如何選擇重要變量入桂?解釋你的方法。

答:
1). 在選擇重要變量之前刪除相關(guān)變量(PCA之前也要做);
2). L1正則化技術(shù)驳阎;
3). 測量可用特征集的信息增益抗愁,并相應地選擇top-n;
4). 使用隨機森林呵晚,Xgboost蜘腌,繪制變量重要性圖表;
5). 使用線性回歸并根據(jù)p值選擇變量劣纲;

7.協(xié)方差和相關(guān)性有什么區(qū)別逢捺?

答:相關(guān)性是協(xié)方差的標準化形式。
協(xié)方差很難比較癞季。例如:如果我們計算工資($)和年齡(年)的協(xié)方差劫瞳,我們將得到不同的協(xié)方差倘潜,因為它們具有不等的尺度而無法進行比較。為了對抗這種情況志于,我們計算相關(guān)性以獲得介于-1和1之間的值涮因,而不管它們各自的比例。

8.兩者都是基于樹的算法伺绽,隨機森林與GBM有何不同养泡?

答:隨機森林是bagging策略,而GBM是boosting奈应。
Bagging:使用隨機采樣澜掩,將數(shù)據(jù)集分成n個樣本集。然后每個模型使用獨立的學習算法杖挣,在所有樣本上構(gòu)建模型肩榕。之后,使用投票或平均來組合結(jié)果預測惩妇。Bagging是并行的株汉。
Boosting:算法每一輪結(jié)束,給誤分類的樣本賦予更高的權(quán)重歌殃,以便于他們在下一輪能夠被糾正乔妈。算法一直執(zhí)行,直到達到預定步數(shù)或達到預定的準確度為止氓皱。
- a. 隨機森林通過降低方差路召,來提高模型的準確度。樹之間是不相關(guān)的波材,使方差減少程度最大化优训;
- b. GBM通過降低模型中的偏差和方差,來提高模型的精度各聘;

9.運行二分類樹算法很容易。您知道樹分裂是如何發(fā)生的抡医,即樹如何決定在根節(jié)點和后續(xù)節(jié)點分割哪個變量躲因?

答:可以通過“信息增益”,“信息增益率”忌傻,“Gini指數(shù)”來決定根節(jié)點的分割變量大脉。選擇能讓子節(jié)點純度最高的屬性作為切分變量。
ID3: g(D,A) = H(D) - H(D|A)
C4.5: gr(D,A) = g(D,A) / HA(D)
CART: gini(p) = ∑pk(1-pk) = 1 - ∑pk^2

10.考慮到眾多的機器學習算法水孩,給定一個數(shù)據(jù)集镰矿,您如何決定使用哪一個?

答:機器學習算法的選擇完全取決于數(shù)據(jù)類型俘种。
1. 如果給出的數(shù)據(jù)集具有線性秤标,則線性回歸將是最佳算法;
2. 如果您決定使用圖像绝淡,音頻,那么神經(jīng)網(wǎng)絡將幫助您構(gòu)建一個強大的模型;
3. 如果數(shù)據(jù)包含非線性相互作用苍姜,那么應該選擇boosting或bagging算法;
4. 如果業(yè)務需求是構(gòu)建可以部署的模型牢酵,那么我們將使用回歸或決策樹模型(易于解釋和解釋)而不是像SVM,GBM等黑盒算法衙猪。

線性 or 非線性:

1.在處理時間序列數(shù)據(jù)時馍乙,如何構(gòu)建高精度模型?您從決策樹算法開始垫释,因為您知道它在各種數(shù)據(jù)上都能很好地工作丝格。之后,您嘗試了時間序列回歸模型棵譬,并且比決策樹模型具有更高的準確性显蝌。這會發(fā)生嗎?為什么茫船?

答: 因為時間序列數(shù)據(jù)具有線性關(guān)系琅束,而決策樹更適合處理具有非線性關(guān)系的數(shù)據(jù),不能很好地處理線性關(guān)系算谈。
時間序列數(shù)據(jù)已知具有線性涩禀。另一方面,決策樹算法是能夠最好地檢測非線性相互作用的然眼。決策樹之所以不能提供robust的預測艾船,是因為它不能像回歸模型一樣很好的映射出線性關(guān)系。因此高每,我們知道屿岂,在給定數(shù)據(jù)集滿足線性假設的條件下,一個線性的回歸模型可以提供穩(wěn)健的預測結(jié)果鲸匿。

2.在分析模型后爷怀,您的經(jīng)理已經(jīng)告知您的回歸模型正在遭受多重共線性。你該如何檢查這個問題带欢?在不丟失任何信息的情況下运授,可以構(gòu)建更好的模型嗎?

答:為了檢查多重共線性乔煞,可以計算方差膨脹因子來檢查多重共線性的存在吁朦,或者使用相關(guān)矩陣來識別變量之間的相關(guān)性【設閾值】。
我們可以創(chuàng)建一個相關(guān)矩陣來識別和刪除相關(guān)性超過75%的變量(確定閾值是主觀的)渡贾。另外逗宜,我們可以使用計算VIF(方差膨脹因子)來檢查多重共線性的存在。
VIF <= 4,表明沒有多重共線性纺讲;
VIF >= 10擂仍,表示存在嚴重的多重共線性;
此外刻诊,我們可以使用容差作為多重共線性的指標防楷。
但是,刪除相關(guān)變量可能會導致信息丟失则涯。為了保留這些變量复局,我們可以使用帶懲罰項的回歸模型,如Ridge或Lasso回歸粟判。此外亿昏,我們可以在相關(guān)變量中添加一些隨機噪聲,以使變量彼此不同档礁。但是角钩,添加噪聲可能會影響預測精度,因此應謹慎使用此方法呻澜。

3.如果特征維度大于樣本數(shù)递礼,為什么最小二乘不適用?哪種技術(shù)最好用羹幸?為什么脊髓?

答:在高維數(shù)據(jù)中,我們不能使用經(jīng)典回歸技術(shù)栅受,因為它們的假設往往會不成立【存在完全共線性将硝,多重共線性問題】。
我們不能再計算唯一的最小二乘系數(shù)估計屏镊,方差變?yōu)闊o窮大依疼,因此“普通最小二乘法”無法使用。
為了對抗這種情況而芥,我們可以使用像Lasso律罢,LARS,Ridge這樣的懲罰回歸方法棍丐,它可以縮小系數(shù)以減少方差弟翘。準確地說,Ridge Regression在最小二乘估計具有較高方差的情況下效果最佳骄酗。

數(shù)據(jù)降維:

1.您將獲得一個包含1000列和100萬行的訓練數(shù)據(jù)集。數(shù)據(jù)集基于分類問題悦冀。經(jīng)理要求您減少此數(shù)據(jù)的維度趋翻,以便減少模型計算時間。您的機器有內(nèi)存限制盒蟆。你會怎么做踏烙?(你可以自由地做出實際的假設)

答: 在有限的記憶機器上處理高維數(shù)據(jù)是一項艱巨的任務师骗,你的面試官會充分意識到這一點。以下是可用于解決此類情況的方法:
1. 由于我們有較低的RAM讨惩,我們應該關(guān)閉我們機器中的所有其他應用程序辟癌;
2. 對數(shù)據(jù)集進行隨機抽樣,創(chuàng)建一個較小的數(shù)據(jù)集荐捻;
3. 數(shù)據(jù)降維黍少,我們可以分離數(shù)值和分類變量,并刪除具有相關(guān)性的變量处面。
a. 對于數(shù)值變量厂置,我們將使用相關(guān)性;
b. 對于類別變量魂角,我們將使用卡方檢驗昵济;
4. 使用PCA選擇可以解釋數(shù)據(jù)集中最大方差的主成分【方差最大的方向】;
5. 使用在線學習算法進行預測野揪,例如Vowpal Wabbit访忿;
6. 使用隨機梯度下降SGD;
7. 應用我們的業(yè)務理解來估計所有的預測因子都會影響的響應變量斯稳。但是海铆,這是一種直觀的方法,未能識別有用的預測因子可能會導致信息的重大損失平挑;

2.數(shù)據(jù)集包含許多變量游添,其中一些變量高度相關(guān)且您對此有所了解。您的經(jīng)理要求您運行PCA通熄。你會先刪除相關(guān)變量嗎唆涝?為什么?

答: 丟棄相關(guān)變量對PCA有顯著的影響唇辨。因為在相關(guān)變量的存在下廊酣,由特定成分解釋的方差會膨脹。
例如:在數(shù)據(jù)集中有3個變量赏枚,其中2個變量是相關(guān)的亡驰。如果在這個數(shù)據(jù)集上運行PCA,第一主分量將表現(xiàn)兩倍的方差(相比于刪去相關(guān)變量的數(shù)據(jù)集)饿幅。
此外凡辱,增加相關(guān)變量,使PCA將更加關(guān)注這些變量栗恩,這是誤導性的透乾。

過擬合處理:

1.你的模型正遭受低偏差和高方差。您應該使用哪種算法來解決它?為什么乳乌?

答: 低偏差捧韵、高方差說明模型在訓練數(shù)據(jù)上產(chǎn)生了過擬合的現(xiàn)象,模型泛化能力很差汉操。
在這種情況下再来,我們可以使用bagging算法(如隨機森林)來解決高方差的問題。Bagging方法通過重復隨機采樣磷瘤,將一個數(shù)據(jù)集分割成多個子集芒篷,然后,單個學習算法使用這些子集生成一組模型膀斋。之后梭伐,使用投票(分類)或平均(回歸)方法來組合模型預測。
此外仰担,為了處理高方差糊识,可以通過以下幾種方式:
1. 使用regularization正則化技術(shù),使較高的模型參數(shù)受到懲罰摔蓝,降低模型復雜性【避免過擬合】赂苗;
2. 對數(shù)據(jù)降維,可能是數(shù)據(jù)維度太高贮尉,模型無法找到有用的特征拌滋;

*基于偏差的誤差*:所謂基于偏差的誤差是,我們模型預期的預測與我們將要預測的真實值之間的差值猜谚。偏差是用來衡量我們的模型的預測同真實值的差異败砂。
*基于方差的誤差*:基于方差的誤差描述了一個模型對給定的數(shù)據(jù)進行預測的可變性。比如魏铅,當你多次重復構(gòu)建完整模型的進程時昌犹,方差是,在預測模型的不同關(guān)系間變化的多少览芳。
- 方差:是形容數(shù)據(jù)分散程度的斜姥,算是“無監(jiān)督的”,客觀的指標沧竟;
- 偏差:形容數(shù)據(jù)跟我們期望的中心差得有多遠铸敏,算是“有監(jiān)督的”,有人的知識參與的指標悟泵。
- 越復雜的模型偏差越小杈笔,而方差越大。

2.你現(xiàn)在急于建立一個高精度的模型糕非。因此桩撮,您構(gòu)建了5個GBM模型敦第,認為增強算法可以達到預期目標。不幸的是店量,這些模型的表現(xiàn)都不如基線分數(shù)。最后鞠呈,您決定將這些模型組合在一起融师。雖然,已知整體模型會恢復高精度蚁吝,但您很遺憾旱爆。你在哪里錯過的?

答: 模型之間可能存在相關(guān)性窘茁,所有模型對分類提供了相同的信息怀伦,導致準確率沒有提升。
正如我們所知山林,集成學習是將弱學習器組合成強分類器房待。但是,只有當分類器間不相關(guān)時才會顯示出良好的性能驼抹。因為我們使用了5個GBM模型桑孩,但準確度并沒有改進,說明這些模型是具有相關(guān)性的框冀。如果模型間存在相關(guān)性流椒,則這些模型提供了相同的信息,所以對分類貢獻相同明也。
因此宣虾,集成學習是建立在弱分類器之間是不相關(guān)的前提下。

3.什么情況下Ridge Regression要比Lasso Regression更適合温数?

答:在存在少量具有中/大影響的變量的情況下绣硝,使用Lasso Regression。在存在許多具有中/小效應的變量的情況下帆吻,使用Ridge Regression唇兑。
從概念上講,Lasso同時進行特征選擇和參數(shù)收縮剪决,而Ridge回歸只進行參數(shù)收縮歧匈。此外,Ridge回歸在最小二乘估計具有較高方差的情況下效果最佳王带。

數(shù)據(jù)處理問題:

1.在有關(guān)癌癥檢測的數(shù)據(jù)集淑蔚,已經(jīng)構(gòu)建了一個分類模型,準確率達到了96%愕撰。為什么你不應該對你的模特感到滿意刹衫?你還能做什么醋寝?

答: 因為癌癥檢測是類別不均衡問題,類別不均衡問題不能用“準確率”評價模型性能带迟。
因為96%可能只能正確地預測沒得病的人音羞,但是我們實際關(guān)注的是少數(shù)的4%(真正被診斷患有癌癥的人)。

因此仓犬,為了評估模型性能嗅绰,我們應該使用Sensitivity(真正例率),Specificity(真假例率)搀继,F(xiàn)度量來確定分類器的類別性能窘面。如果發(fā)現(xiàn)少數(shù)類別表現(xiàn)不佳,我們可以采取以下步驟:
1. 使用欠采樣叽躯,過采樣财边,或者SMOTE來使得數(shù)據(jù)平衡;
2. 利用AUC-ROC曲線進行概率校準点骑,尋找最優(yōu)閾值來改變預測閾值酣难;
3. 為類別分配權(quán)值,使得少數(shù)類得到權(quán)值更大畔况;
4. 使用數(shù)據(jù)異常檢測鲸鹦,剔除異常值;

2.在時間序列【數(shù)據(jù)集】上跷跪,應該使用怎樣的交叉驗證馋嗜?k-fold還是LOOCV?

答:這兩個都不行吵瞻。
在時序數(shù)據(jù)集中葛菇,k-fold很麻煩,因為有些模式可能存在于第4年橡羞、第5年眯停,但是不存在于第3年,重新采樣數(shù)據(jù)集會分離這些趨勢卿泽,然而我們可能是用后續(xù)的數(shù)據(jù)作為驗證莺债,這是不正確的。
但是签夭,我們可以采用前向鏈策略的5-fold:
- fold 1: training [1], test[2]
- fold 2: training [1, 2], test[3]
- fold 3: training [1, 2, 3], test[4]
- fold 4: training [1, 2, 3, 4], test[5]
- fold 5: training [1, 2, 3, 4, 5], test[6]

3.您獲得的數(shù)據(jù)集包含超過30%缺失值的變量齐邦?比方說,在50個變量中第租,8個變量的缺失值高于30%措拇。你將如何處理它們?

答:可以通過如下手段處理缺失值:
1. 為缺失值指定一個唯一類別慎宾,誰知道缺失值可能會破譯某些趨勢;
2. 直接移除有缺失值的變量丐吓;
3. 基于距離的替換浅悉,kNN;
4. 基于密度的積累券犁,密度聚類术健、變色龍等;
5. 基于重數(shù)的替換粘衬;
6. 對缺失值進行回歸預測苛坚;

4.您正在處理分類問題。出于驗證目的色难,您已將訓練數(shù)據(jù)集隨機抽樣到訓練和驗證中。由于您的驗證準確性很高等缀,因此您確信您的模型能夠在看不見的數(shù)據(jù)上工作得非常好枷莉。但是,在測試精度不佳后會感到震驚尺迂。什么地方出了錯笤妙?

答:在分類問題中,應該使用分層抽樣噪裕,而不是隨機抽樣蹲盘。隨機抽樣無法保證類別均衡。

5.在k-means或kNN中膳音,我們使用歐氏距離來計算最近鄰居之間的距離召衔。為什么不用曼哈頓距離?

答:我們不使用曼哈頓距離祭陷,因為它只計算水平或垂直距離苍凛,它有尺寸限制。
另一方面兵志,歐幾里德度量可用于任何空間來計算距離醇蝴。由于數(shù)據(jù)點可以存在于任何維度,因此歐幾里德距離是更可行的選擇想罕。

6.什么時候在機器學習中需要regularization悠栓?

答:當模型開始過擬合/欠擬合時,正規(guī)化變得必要按价。
該技術(shù)引入了用于引入具有目標函數(shù)的更多特征的成本項惭适。因此,它試圖將許多變量的系數(shù)推到零俘枫,從而減少成本項腥沽。這有助于降低模型復雜性,以便模型可以更好地預測(泛化)

7.您對Bias Variance的trade off有何看法鸠蚪?

答:任何模型出現(xiàn)的錯誤都可以用數(shù)學方法分解為三個部分今阳。
以下是這些組件:
error = bias2 + variance + irreducible_error
偏差誤差:量化預測值與實際值的不同师溅。高偏差誤差意味著我們有一個表現(xiàn)欠佳的模型;
方差誤差:量化了對同一觀察的預測如何彼此不同盾舌。高方差=過擬合墓臭,并且在訓練之外的任何觀察中都表現(xiàn)不佳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妖谴,一起剝皮案震驚了整個濱河市窿锉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膝舅,老刑警劉巖嗡载,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異仍稀,居然都是意外死亡洼滚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門技潘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遥巴,“玉大人,你說我怎么就攤上這事享幽〔” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵值桩,是天一觀的道長摆霉。 經(jīng)常有香客問我,道長颠毙,這世上最難降的妖魔是什么斯入? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮蛀蜜,結(jié)果婚禮上刻两,老公的妹妹穿的比我還像新娘。我一直安慰自己滴某,他們只是感情好磅摹,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著霎奢,像睡著了一般户誓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上幕侠,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天帝美,我揣著相機與錄音,去河邊找鬼晤硕。 笑死悼潭,一個胖子當著我的面吹牛庇忌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舰褪,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼皆疹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了占拍?” 一聲冷哼從身側(cè)響起略就,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晃酒,沒想到半個月后表牢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡贝次,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年初茶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浊闪。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖螺戳,靈堂內(nèi)的尸體忽然破棺而出搁宾,到底是詐尸還是另有隱情,我是刑警寧澤倔幼,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布盖腿,位于F島的核電站,受9級特大地震影響损同,放射性物質(zhì)發(fā)生泄漏翩腐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一膏燃、第九天 我趴在偏房一處隱蔽的房頂上張望茂卦。 院中可真熱鬧,春花似錦组哩、人聲如沸等龙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛛砰。三九已至,卻和暖如春黍衙,著一層夾襖步出監(jiān)牢的瞬間泥畅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工琅翻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留位仁,地道東北人柑贞。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像障癌,于是被迫代替她去往敵國和親凌外。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容