機器學習面試200題!(61-80)

數據分析那些事
11 min readJan 29, 2021

来源:CSDN

本篇是機器學習面試200題第四篇,由於篇幅太長,本篇介紹61–80題~

感興趣的話請持續關注唷XD

系列篇1指路

系列篇2指路

系列篇3指路

61.Python是如何進行記憶體管理的?

2017 Python最新面試題及答案16道題
http://www.cnblogs.com/tom-gao/p/6645859.html

62.請寫出一段Python程式碼實現刪除一個list裡面的重複元素。

1、使用set函式,set(list);
2、使用字典函式:

1 a=[1,2,4,2,4,5,6,5,7,8,9,0]
2 b={}
3 b=b.fromkeys(a)
4 c=list(b.keys())
5 c

63.程式設計用sort進行排序,然後從最後一個元素開始判斷。

1 a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
2
3 a.sort()
4 last=a[-1]
5 for i inrange(len(a)-2,-1,-1):
6 if last==a[i]:
7 del a[i]
8 else:last=a[i]
9 print(a)

64.Python裡面如何生成隨機數?

@Tom_junsong

random模組

隨機整數:random.randint(a,b):返回隨機整數x,a<=x<=b random.randrange(start,stop,[,step]):返回一個範圍在(start,stop,step)之間的隨機整數,不包括結束值。

隨機實數:random.random( ):返回0到1之間的浮點數random.uniform(a,b):返回指定範圍內的浮點數。

65.說說常見的損失函式。

對於給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致(要知道,有時損失或誤差是不可避免的),用一個損失函式來度量預測錯誤的程度。損失函式記為L(Y, f(X))。
常用的損失函式有以下幾種(基本引用自《統計學習方法》):

66.簡單介紹下Logistics迴歸。

Logistic迴歸目的是從特徵學習出一個0/1分類模型,而這個模型是將特性的線性組合作為自變數,由於自變數的取值範圍是負無窮到正無窮。因此,使用logistic函式(或稱作sigmoid函式)將自變數對映到(0,1)上,對映後的值被認為是屬於y=1的概率。

假設函式:

其中x是n維特徵向量,函式g就是Logistic函式。而:g(z)=11+e−zg(z)=11+e−z的影象是:

可以看到,將無窮對映到了(0,1)。而假設函式就是特徵屬於y=1的概率。

67.看你是搞視覺的,熟悉哪些CV框架,順帶聊聊CV最近五年的發展史如何?

答案解析
https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2651986617&idx=1&sn=fddebd0f2968d66b7f424d6a435c84af&scene=0#wechat_redirect

68.深度學習在視覺領域有何前沿進展?

@元峰

本題解析來源:深度學習在計算機視覺領域的前沿進展
https://zhuanlan.zhihu.com/p/24699780

69.HashMap與HashTable區別?

HashMap與Hashtable的區別
http://oznyang.iteye.com/blog/30690

70.在分類問題中,我們經常會遇到正負樣本資料量不等的情況,比如正樣本為10w條資料,負樣本只有1w條資料,以下最合適的處理方法是( )

A、將負樣本重複10次,生成10w樣本量,打亂順序參與分類

B、直接進行分類,可以最大限度利用資料

C、從10w正樣本中隨機抽取1w參與分類

D、將負樣本每個權重設定為10,正樣本權重為1,參與訓練過程

@管博士:準確的說,其實選項中的這些方法各有優缺點,需要具體問題具體分析,有篇文章對各種方法的優缺點進行了分析,講的不錯 感興趣的同學可以參考一下:

How to handle Imbalanced Classification Problems in machine learning?
https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/

71.深度學習是當前很熱門的機器學習演算法,在深度學習中,涉及到大量的矩陣相乘,現在需要計算三個稠密矩陣A,B,C的乘積ABC,假90設三個矩陣的尺寸分別為m∗n,n∗p,p∗q,且m <n <p <q,以下計算順序效率最高的是(A)

A.(AB)C

B.AC(B)

C.A(BC)

D.所有效率都相同

正確答案:A

@BlackEyes_SGC:m*n*p <m*n*q,m*p*q < n*p*q, 所以 (AB)C 最小

72.Nave Bayes是一種特殊的Bayes分類器,特徵變數是X,類別標籤是C,它的一個假定是:( C )

A.各類別的先驗概率P(C)是相等的

B.以0為均值,sqr(2)/2為標準差的正態分佈

C.特徵變數X的各個維度是類別條件獨立隨機變數

D.P(X|C)是高斯分佈

正確答案:C

@BlackEyes_SGC:樸素貝葉斯的條件就是每個變數相互獨立。

73.關於支援向量機SVM,下列說法錯誤的是(C)

A.L2正則項,作用是最大化分類間隔,使得分類器擁有更強的泛化能

B.Hinge 損失函式,作用是最小化經驗分類錯誤

C.分類間隔為1||w||1||w||,||w||代表向量的模

D.當引數C越小時,分類間隔越大,分類錯誤越多,趨於欠學習

正確答案:C

@BlackEyes_SGC

A正確。考慮加入正則化項的原因:想象一個完美的資料集,y>1是正類,y<-1是負類,決策面y=0,加入一個y=-30的正類噪聲樣本,那麼決策面將會變“歪”很多,分類間隔變小,泛化能力減小。加入正則項之後,對噪聲樣本的容錯能力增強,前面提到的例子裡面,決策面就會沒那麼“歪”了,使得分類間隔變大,提高了泛化能力。

B正確。

C錯誤。間隔應該是2||w||2||w||才對,後半句應該沒錯,向量的模通常指的就是其二範數。

D正確。考慮軟間隔的時候,C對優化問題的影響就在於把a的範圍從[0,+inf]限制到了[0,C]。C越小,那麼a就會越小,目標函式拉格朗日函式導數為0可以求出w=∑iai∗yi∗xiw=∑iai∗yi∗xi,a變小使得w變小,因此間隔2||w||2||w||變大

74.在HMM中,如果已知觀察序列和產生觀察序列的狀態序列,那麼可用以下哪種方法直接進行引數估計( D )

A.EM演算法

B.維特比演算法

C.前向後向演算法

D.極大似然估計

正確答案:D

@BlackEyes_SGC

EM演算法:只有觀測序列,無狀態序列時來學習模型引數,即Baum-Welch演算法

維特比演算法:用動態規劃解決HMM的預測問題,不是引數估計

前向後向演算法:用來算概率

極大似然估計:即觀測序列和相應的狀態序列都存在時的監督學習演算法,用來估計引數

注意的是在給定觀測序列和對應的狀態序列估計模型引數,可以利用極大似然發估計。如果給定觀測序列,沒有對應的狀態序列,才用EM,將狀態序列看不不可測的隱資料。

75.假定某同學使用Naive Bayesian(NB)分類模型時,不小心將訓練資料的兩個維度搞重複了,那麼關於NB的說法中正確的是:(BD)

A.這個被重複的特徵在模型中的決定作用會被加強

B.模型效果相比無重複特徵的情況下精確度會降低

C.如果所有特徵都被重複一遍,得到的模型預測結果相對於不重複的情況下的模型預測結果一樣。

D.當兩列特徵高度相關時,無法用兩列特徵相同時所得到的結論來分析問題

E.NB可以用來做最小二乘迴歸

F.以上說法都不正確

@BlackEyes_SGC:NB的核心在於它假設向量的所有分量之間是獨立的。在貝葉斯理論系統中,都有一個重要的條件獨立性假設:假設所有特徵之間相互獨立,這樣才能將聯合概率拆分。

76.以下哪些方法不可以直接來對文字分類?(A)

A、Kmeans

B、決策樹

C、支援向量機

D、KNN

正確答案: A分類不同於聚類。

@BlackEyes_SGC:A:Kmeans是聚類方法,典型的無監督學習方法。分類是監督學習方法,BCD都是常見的分類方法。

77.已知一組資料的協方差矩陣P,下面關於主分量說法錯誤的是( C )

A、主分量分析的最佳準則是對一組資料進行按一組正交基分解, 在只取相同數量分量的條件下,以均方誤差計算截尾誤差最小

B、在經主分量分解後,協方差矩陣成為對角矩陣

C、主分量分析就是K-L變換

D、主分量是通過求協方差矩陣的特徵值得到

正確答案: C

@BlackEyes_SGC:K-L變換與PCA變換是不同的概念,PCA的變換矩陣是協方差矩陣,K-L變換的變換矩陣可以有很多種(二階矩陣、協方差矩陣、總類內離散度矩陣等等)。當K-L變換矩陣為協方差矩陣時,等同於PCA。

78.Kmeans的複雜度?

時間複雜度:O(tKmn),其中,t為迭代次數,K為簇的數目,m為記錄數,n為維數空間複雜度:O((m+K)n),其中,K為簇的數目,m為記錄數,n為維數。

具體參考:機器學習之深入理解K-means、與KNN演算法區別及其程式碼實現
http://blog.csdn.net/sinat_35512245/article/details/55051306

79.關於Logit 迴歸和SVM 不正確的是(A)

A. Logit迴歸本質上是一種根據樣本對權值進行極大似然估計的方法,而後驗概率正比於先驗概率和似然函式的乘積。logit僅僅是最大化似然函式,並沒有最大化後驗概率,更談不上最小化後驗概率。A錯誤

B. Logit迴歸的輸出就是樣本屬於正類別的機率,可以計算出概率,正確

C. SVM的目標是找到使得訓練資料儘可能分開且分類間隔最大的超平面,應該屬於結構風險最小化。

D. SVM可以通過正則化係數控制模型的複雜度,避免過擬合。

@BlackEyes_SGC:Logit迴歸目標函式是最小化後驗概率,Logit迴歸可以用於預測事件發生概率的大小,SVM目標是結構風險最小化,SVM可以有效避免模型過擬合。

80.輸入圖片大小為200×200,依次經過一層卷積(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一層卷積(kernel size 3×3,padding 1,stride 1)之後,輸出特徵圖大小為:()

正確答案:97

@BlackEyes_SGC:計算尺寸不被整除只在GoogLeNet中遇到過。卷積向下取整,池化向上取整。

本題 (200–5+2*1)/2+1 為99.5,取99
(99–3)/1+1 為97
(97–3+2*1)/1+1 為97

研究過網路的話看到stride為1的時候,當kernel為 3 padding為1或者kernel為5 padding為2 一看就是卷積前後尺寸不變。計算GoogLeNet全過程的尺寸也一樣。

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!

--

--

數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/