機器學習面試真題1000題詳細講解第八集
231 SVM模型中, 真正影響決策邊界的是支援向量以下哪些演算法, 可以用神經網路去構造:
1. KNN
2. 線性迴歸
3. 對數機率迴歸
A. 1和 2
B. 2 和 3
C. 1, 2 和 3
D. 以上都不是
答案: B
在這裡給大家推薦一個python系統學習q群:250933691有免費開發工具以及初學資料,(資料分析,爬蟲,AI, 機器學習,神經網路)每天有老師給大家免費授課,歡迎一起交流學習
1. KNN演算法不需要訓練引數, 而所有神經網路都需要訓練引數, 因此神經網路幫不上忙
2. 最簡單的神經網路, 感知器, 其實就是線性迴歸的訓練
3. 我們可以用一層的神經網路構造對數機率迴歸
232 請選擇下面可以應用隱馬爾科夫(HMM)模型的選項:
A. 基因序列資料集
B. 電影瀏覽資料集
C. 股票市場資料集
D. 所有以上
答案: D
只要是和時間序列問題有關的 , 都可以試試HMM
233 我們建立一個5000個特徵, 100萬資料的機器學習模型. 我們怎麼有效地應對這樣的大資料訓練 :
A. 我們隨機抽取一些樣本, 在這些少量樣本之上訓練
B. 我們可以試用線上機器學習演算法
C. 我們應用PCA演算法降維, 減少特徵數
D. B 和 C
E. A 和 B
F. 以上所有
答案: F
234 我們想要減少資料集中的特徵數, 即降維. 選擇以下適合的方案 :
1. 使用前向特徵選擇方法
2. 使用後向特徵排除方法
3. 我們先把所有特徵都使用, 去訓練一個模型, 得到測試集上的表現. 然後我們去掉一個特徵, 再去訓練, 用交叉驗證看看測試集上的表現. 如果表現比原來還要好, 我們可以去除這個特徵.
4. 檢視相關性表, 去除相關性最高的一些特徵
A. 1 和 2
B. 2, 3和4
C. 1, 2和4
D. All
答案: D
1.前向特徵選擇方法和後向特徵排除方法是我們特徵選擇的常用方法
2.如果前向特徵選擇方法和後向特徵排除方法在大資料上不適用, 可以用這裡第三種方法.
3.用相關性的度量去刪除多餘特徵, 也是一個好方法
所有D是正確的
235 對於隨機森林和GradientBoosting Trees, 下面說法正確的是:
1.在隨機森林的單個樹中, 樹和樹之間是有依賴的, 而GradientBoosting Trees中的單個樹之間是沒有依賴的.
2.這兩個模型都使用隨機特徵子集, 來生成許多單個的樹.
3.我們可以並行地生成GradientBoosting Trees單個樹, 因為它們之間是沒有依賴的, GradientBoosting Trees訓練模型的表現總是比隨機森林好
A. 2
B. 1 and 2
C. 1, 3 and 4
D. 2 and 4
答案: A
1.隨機森林是基於bagging的, 而Gradient Boosting trees是基於boosting的, 所有說反了,在隨機森林的單個樹中, 樹和樹之間是沒有依賴的, 而GradientBoosting Trees中的單個樹之間是有依賴關係.
2.這兩個模型都使用隨機特徵子集, 來生成許多單個的樹.
所有A是正確的
236 對於PCA(主成分分析)轉化過的特徵 , 樸素貝葉斯的”不依賴假設”總是成立, 因為所有主要成分是正交的, 這個說法是 :
A. 正確的
B. 錯誤的
答案: B.
這個說法是錯誤的, 首先, “不依賴”和”不相關”是兩回事, 其次, 轉化過的特徵, 也可能是相關的
237 對於PCA說法正確的是 :
1. 我們必須在使用PCA前規範化資料
2. 我們應該選擇使得模型有最大variance的主成分
3. 我們應該選擇使得模型有最小variance的主成分
4. 我們可以使用PCA在低維度上做資料視覺化
A. 1, 2 and 4
B. 2 and 4
C. 3 and 4
D. 1 and 3
E. 1, 3 and 4
答案: A
1)PCA對資料尺度很敏感, 打個比方, 如果單位是從km變為cm, 這樣的資料尺度對PCA最後的結果可能很有影響(從不怎麼重要的成分變為很重要的成分).
2)我們總是應該選擇使得模型有最大variance的主成分
3)有時在低維度上左圖是需要PCA的降維幫助的
238 對於下圖, 最好的主成分選擇是多少 ? :

A. 7
B. 30
C. 35
D. Can’t Say
答案: B
主成分選擇使variance越大越好, 在這個前提下, 主成分越少越好。
239 資料科學家可能會同時使用多個演算法(模型)進行預測, 並且最後把這些演算法的結果整合起來進行最後的預測(整合學習),以下對整合學習說法正確的是 :
A. 單個模型之間有高相關性
B. 單個模型之間有低相關性
C. 在整合學習中使用“平均權重”而不是“投票”會比較好
D. 單個模型都是用的一個演算法
答案: B
詳細請參考下面文章:
●Basics of Ensemble Learning Explained in Simple English
●Kaggle Ensemble Guide
●5 Easy questions on Ensemble Modeling everyone should know
Basics of Ensemble Learning Explained in Simple English
Kaggle Ensemble Guide
5 Easy questions on Ensemble Modeling everyone should know
240 在有監督學習中, 我們如何使用聚類方法? :
A. 我們可以先建立聚類類別, 然後在每個類別上用監督學習分別進行學習
B. 我們可以使用聚類“類別id”作為一個新的特徵項, 然後再用監督學習分別進行學習
C. 在進行監督學習之前, 我們不能新建聚類類別
D. 我們不可以使用聚類“類別id”作為一個新的特徵項, 然後再用監督學習分別進行學習
A. 2 和
B. 1 和 2
C. 3 和 4
D. 1 和 3
答案: B
我們可以為每個聚類構建不同的模型, 提高預測準確率。
“類別id”作為一個特徵項去訓練, 可以有效地總結了資料特徵。
所以B是正確的
241 以下說法正確的是 :
A. 一個機器學習模型,如果有較高準確率,總是說明這個分類器是好的
B. 如果增加模型複雜度, 那麼模型的測試錯誤率總是會降低
C. 如果增加模型複雜度, 那麼模型的訓練錯誤率總是會降低
D. 我們不可以使用聚類“類別id”作為一個新的特徵項, 然後再用監督學習分別進行學習
A. 1
B. 2
C. 3
D. 1 and 3
答案: C
考的是過擬合和欠擬合的問題。
242 對應GradientBoosting tree演算法, 以下說法正確的是 :
A. 當增加最小樣本分裂個數,我們可以抵制過擬合
B. 當增加最小樣本分裂個數,會導致過擬合
C. 當我們減少訓練單個學習器的樣本個數,我們可以降低variance
D. 當我們減少訓練單個學習器的樣本個數,我們可以降低bias
A. 2 和 4
B. 2 和 3
C. 1 和 3
D. 1 和 4
答案: C
最小樣本分裂個數是用來控制“過擬合”引數。太高的值會導致“欠擬合”,這個引數應該用交叉驗證來調節。
第二點是靠bias和variance概念的。
243 以下哪個圖是KNN演算法的訓練邊界 :

A) B
B) A
C) D
D) C
E) 都不是
答案: B
KNN演算法肯定不是線性的邊界, 所以直的邊界就不用考慮了。另外這個演算法是看周圍最近的k個樣本的分類用以確定分類,所以邊界一定是坑坑窪窪的。
244 如果一個訓練好的模型在測試集上有100%的準確率, 這是不是意味著在一個新的資料集上,也會有同樣好的表現? :
A. 是的,這說明這個模型的範化能力已經足以支援新的資料集合了
B. 不對,依然後其他因素模型沒有考慮到,比如噪音資料
答案: B
沒有一個模型是可以總是適應新資料的。我們不可能可到100%準確率。
245 下面的交叉驗證方法 :
i. 有放回的Bootstrap方法
ii. 留一個測試樣本的交叉驗證
iii. 5折交叉驗證
iv. 重複兩次的5折教程驗證
當樣本是1000時,下面執行時間的順序,正確的是:
A. i > ii > iii > iv
B. ii > iv > iii > i
C. iv > i > ii > iii
D. ii > iii > iv > i
答案: B
Boostrap方法是傳統地隨機抽樣,驗證一次的驗證方法,只需要訓練1次模型,所以時間最少。
留一個測試樣本的交叉驗證,需要n次訓練過程(n是樣本個數),這裡,要訓練1000個模型。
5折交叉驗證需要訓練5個模型。
重複2次的5折交叉驗證,需要訓練10個模型。
所有B是正確的
246 變數選擇是用來選擇最好的判別器子集, 如果要考慮模型效率,我們應該做哪些變數選擇的考慮? :
1. 多個變數其實有相同的用處
2. 變數對於模型的解釋有多大作用
3. 特徵攜帶的資訊
4. 交叉驗證
A. 1 和 4
B. 1, 2 和 3
C. 1,3 和 4
D. 以上所有
答案: C
注意, 這題的題眼是考慮模型效率,所以不要考慮選項2.
247 對於線性迴歸模型,包括附加變數在內,以下的可能正確的是 :
1. R-Squared 和 Adjusted R-squared都是遞增的
2. R-Squared 是常量的,Adjusted R-squared是遞增的
3. R-Squared 是遞減的, Adjusted R-squared 也是遞減的
4. R-Squared 是遞減的, Adjusted R-squared是遞增的
A. 1 和 2
B. 1 和 3
C. 2 和 4
D. 以上都不是
答案: D
R-squared不能決定係數估計和預測偏差,這就是為什麼我們要估計殘差圖。但是,R-squared有R-squared 和 predicted R-squared 所沒有的問題。
每次你為模型加入預測器,R-squared遞增或不變.
詳細請看這個連結:discussion.
248 對於下面三個模型的訓練情況, 下面說法正確的是 :

1. 第一張圖的訓練錯誤與其餘兩張圖相比,是最大的
2. 最後一張圖的訓練效果最好,因為訓練錯誤最小
3. 第二張圖比第一和第三張圖魯棒性更強,是三個裡面表現最好的模型
4. 第三張圖相對前兩張圖過擬合了
5. 三個圖表現一樣,因為我們還沒有測試資料集
A. 1 和 3
B. 1 和 3
C. 1, 3 和 4
D. 5
答案: C
249 對於線性迴歸,我們應該有以下哪些假設? :
1. 找到利群點很重要, 因為線性迴歸對利群點很敏感
2. 線性迴歸要求所有變數必須符合正態分佈
3. 線性迴歸假設資料沒有多重線性相關性
A. 1 和 2
B. 2 和 3
C. 1,2 和 3
D. 以上都不是
答案: D
利群點要著重考慮, 第一點是對的
不是必須的, 當然, 如果是正態分佈, 訓練效果會更好
有少量的多重線性相關性是可以的, 但是我們要儘量避免
250 當我們構造線性模型時, 我們注意變數間的相關性. 在相關矩陣中搜索相關係數時, 如果我們發現3對變數的相關係數是(Var1 和Var2, Var2和Var3, Var3和Var1)是-0.98, 0.45, 1.23 . 我們可以得出什麼結論:
1. Var1和Var2是非常相關的
2. 因為Var和Var2是非常相關的, 我們可以去除其中一個
3. Var3和Var1的1.23相關係數是不可能的
A. 1 and 3
B. 1 and 2
C. 1,2 and 3
D. 1
答案: C
Var1和Var2相關係數是負的, 所以這是多重線性相關, 我們可以考慮去除其中一個.
一般地, 如果相關係數大於0.7或者小於-0.7, 是高相關的
相關性係數範圍應該是 [-1,1]
251 如果在一個高度非線性並且複雜的一些變數中, 一個樹模型可能比一般的迴歸模型效果更好. 只是:
A. 對的
B. 錯的
答案: A
252 對於維度極低的特徵,選擇線性還是非線性分類器?
非線性分類器,低維空間可能很多特徵都跑到一起了,導致線性不可分。
1. 如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM
2. 如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel
3. 如果Feature的數量比較小,而樣本數量很多,需要手工新增一些feature變成第一種情況。
253 特徵向量的缺失值處理
1. 缺失值較多.直接將該特徵捨棄掉,否則可能反倒會帶入較大的noise,對結果造成不良影響。
2. 缺失值較少,其餘的特徵缺失值都在10%以內,我們可以採取很多的方式來處理:
1) 把NaN直接作為一個特徵,假設用0表示;
2) 用均值填充;
3) 用隨機森林等演算法預測填充
254 SVM、LR、決策樹的對比。
模型複雜度:SVM支援核函式,可處理線性非線性問題;LR模型簡單,訓練速度快,適合處理線性問題;決策樹容易過擬合,需要進行剪枝
損失函式:SVM hinge loss; LR L2正則化; adaboost 指數損失
資料敏感度:SVM新增容忍度對outlier不敏感,只關心支援向量,且需要先做歸一化; LR對遠點敏感
資料量:資料量大就用LR,資料量小且特徵少就用SVM非線性核
255 什麼是ill-condition病態問題?
訓練完的模型,測試樣本稍作修改就會得到差別很大的結果,就是病態問題,模型對未知資料的預測能力很差,即泛化誤差大。
256 簡述KNN最近鄰分類演算法的過程?
1. 計算訓練樣本和測試樣本中每個樣本點的距離(常見的距離度量有歐式距離,馬氏距離等);
2. 對上面所有的距離值進行排序;
3. 選前k個最小距離的樣本;
4. 根據這k個樣本的標籤進行投票,得到最後的分類類別;
257 常用的聚類劃分方式有哪些?列舉代表演算法。
1. 基於劃分的聚類:K-means,k-medoids,CLARANS。
2. 基於層次的聚類:AGNES(自底向上),DIANA(自上向下)。
3. 基於密度的聚類:DBSACN,OPTICS,BIRCH(CF-Tree),CURE。
4. 基於網格的方法:STING,WaveCluster。
5. 基於模型的聚類:EM,SOM,COBWEB。
258 下面對整合學習模型中的弱學習者描述錯誤的是?
A.他們經常不會過擬合
B.他們通常帶有高偏差,所以其並不能解決複雜學習問題
C.他們通常會過擬合
答案:C,弱學習者是問題的特定部分。所以他們通常不會過擬合,這也就意味著弱學習者通常擁有低方差和高偏差。
259 下面哪個/些選項對 K 折交叉驗證的描述是正確的?
1.增大 K 將導致交叉驗證結果時需要更多的時間
2.更大的 K 值相比於小 K 值將對交叉驗證結構有更高的信心
3.如果 K=N,那麼其稱為留一交叉驗證,其中 N 為驗證集中的樣本數量
A. 1 和 2
B. 2 和 3
C. 1 和 3
D. 1、2 和 3
答案(D):大 K 值意味著對過高估計真實預期誤差(訓練的折數將更接近於整個驗證集樣本數)擁有更小的偏差和更多的執行時間(並隨著越來越接近極限情況:留一交叉驗證)。我們同樣在選擇 K 值時需要考慮 K 折準確度和方差間的均衡。
260 最出名的降維演算法是 PAC 和 t-SNE。將這兩個演算法分別應用到資料「X」上,並得到資料集「X_projected_PCA」,「X_projected_tSNE」。下面哪一項對「X_projected_PCA」和「X_projected_tSNE」的描述是正確的?
A. X_projected_PCA 在最近鄰空間能得到解釋
B. X_projected_tSNE 在最近鄰空間能得到解釋
C. 兩個都在最近鄰空間能得到解釋
D. 兩個都不能在最近鄰空間得到解釋
答案(B):t-SNE 演算法考慮最近鄰點而減少資料維度。所以在使用 t-SNE 之後,所降的維可以在最近鄰空間得到解釋。但 PCA 不能。
在這裡給大家推薦一個python系統學習q群:250933691有免費開發工具以及初學資料,(資料分析,爬蟲,AI, 機器學習,神經網路)每天有老師給大家免費授課,歡迎一起交流學習