您好,登錄后才能下訂單哦!
這篇文章主要講解了“有哪些Python機器學習面試題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“有哪些Python機器學習面試題”吧!
1.有監督學習和無監督學習有什么區別?
有監督學習:對具有標記的訓練樣本進行學習,以盡可能對訓練樣本集外的數據進行分類預測。(LR,SVM,BP,RF,GBDT)
無監督學習:對未標記的樣本進行訓練學習,比發現這些樣本中的結構知識。(KMeans,DL)
2.什么是正則化?
正則化是針對過擬合而提出的,以為在求解模型最優的是一般優化最小的經驗風險,現在在該經驗風險上加入模型復雜度這一項(正則化項是模型參數向量的范數),并使用一個rate比率來權衡模型復雜度與以往經驗風險的權重,如果模型復雜度越高,結構化的經驗風險會越大,現在的目標就變為了結構經驗風險的最優化,可以防止模型訓練過度復雜,有效的降低過擬合的風險。
奧卡姆剃刀原理,能夠很好的解釋已知數據并且十分簡單才是最好的模型。
3.什么是生成模型和判別模型?
生成模型:由數據學習聯合概率分布P(X,Y),然后求出條件概率分布P(Y|X)作為預測的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。(樸素貝葉斯、Kmeans)
生成模型可以還原聯合概率分布p(X,Y),并且有較快的學習收斂速度,還可以用于隱變量的學習
判別模型:由數據直接學習決策函數Y=f(X)或者條件概率分布P(Y|X)作為預測的模型,即判別模型。(k近鄰、決策樹、SVM)
直接面對預測,往往準確率較高,直接對數據在各種程度上的抽象,所以可以簡化模型
4.線性分類器與非線性分類器的區別以及優劣
如果模型是參數的線性函數,并且存在線性分類面,那么就是線性分類器,否則不是。
常見的線性分類器有:LR,貝葉斯分類,單層感知機、線性回歸
常見的非線性分類器:決策樹、RF、GBDT、多層感知機
SVM兩種都有(看線性核還是高斯核)
線性分類器速度快、編程方便,但是可能擬合效果不會很好
非線性分類器編程復雜,但是效果擬合能力強
5.特征比數據量還大時,選擇什么樣的分類器?
線性分類器,因為維度高的時候,數據一般在維度空間里面會比較稀疏,很有可能線性可分
對于維度很高的特征,你是選擇線性還是非線性分類器?
理由同上
對于維度極低的特征,你是選擇線性還是非線性分類器?
非線性分類器,因為低維空間可能很多特征都跑到一起了,導致線性不可分
下面是吳恩達的見解:
1. 如果Feature的數量很大,跟樣本數量差不多,這時候選用LR或者是Linear Kernel的SVM
2. 如果Feature的數量比較小,樣本數量一般,不算大也不算小,選用SVM+Gaussian Kernel
3. 如果Feature的數量比較小,而樣本數量很多,需要手工添加一些feature變成第一種情況
6. 為什么一些機器學習模型需要對數據進行歸一化?
歸一化化就是要把你需要處理的數據經過處理后(通過某種算法)限制在你需要的一定范圍內。
1)歸一化后加快了梯度下降求最優解的速度。等高線變得顯得圓滑,在梯度下降進行求解時能較快的收斂。如果不做歸一化,梯度下降過程容易走之字,很難收斂甚至不能收斂
2)把有量綱表達式變為無量綱表達式, 有可能提高精度。一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一個特征值域范圍非常大,那么距離計算就主要取決于這個特征,從而與實際情況相悖(比如這時實際情況是值域范圍小的特征更重要)
3) 邏輯回歸等模型先驗假設數據服從正態分布。
7.哪些機器學習算法不需要做歸一化處理?
概率模型不需要歸一化,因為它們不關心變量的值,而是關心變量的分布和變量之間的條件概率,如決策樹、rf。而像adaboost、gbdt、xgboost、svm、lr、KNN、KMeans之類的最優化問題就需要歸一化。
8.標準化與歸一化的區別
簡單來說,標準化是依照特征矩陣的列處理數據,其通過求z-score的方法,將樣本的特征值轉換到同一量綱下。歸一化是依照特征矩陣的行處理數據,其目的在于樣本向量在點乘運算或其他核函數計算相似性時,擁有統一的標準,也就是說都轉化為“單位向量”。規則為l2的歸一化公式如下:
9.隨機森林如何處理缺失值
方法一(na.roughfix)簡單粗暴,對于訓練集,同一個class下的數據,如果是分類變量缺失,用眾數補上,如果是連續型變量缺失,用中位數補。
方法二(rfImpute)這個方法計算量大,至于比方法一好壞?不好判斷。先用na.roughfix補上缺失值,然后構建森林并計算proximity matrix,再回頭看缺失值,如果是分類變量,則用沒有缺失的觀測實例的proximity中的權重進行投票。如果是連續型變量,則用proximity矩陣進行加權平均的方法補缺失值。然后迭代4-6次,這個補缺失值的思想和KNN有些類似12。
10. 如何進行特征選擇?
特征選擇是一個重要的數據預處理過程,主要有兩個原因:一是減少特征數量、降維,使模型泛化能力更強,減少過擬合;二是增強對特征和特征值之間的理解
常見的特征選擇方式:
1. 去除方差較小的特征
2. 正則化。1正則化能夠生成稀疏的模型。L2正則化的表現更加穩定,由于有用的特征往往對應系數非零。
3. 隨機森林,對于分類問題,通常采用基尼不純度或者信息增益,對于回歸問題,通常采用的是方差或者最小二乘擬合。一般不需要feature engineering、調參等繁瑣的步驟。它的兩個主要問題,1是重要的特征有可能得分很低(關聯特征問題),2是這種方法對特征變量類別多的特征越有利(偏向問題)。
4. 穩定性選擇。是一種基于二次抽樣和選擇算法相結合較新的方法,選擇算法可以是回歸、SVM或其他類似的方法。它的主要思想是在不同的數據子集和特征子集上運行特征選擇算法,不斷的重復,最終匯總特征選擇結果,比如可以統計某個特征被認為是重要特征的頻率(被選為重要特征的次數除以它所在的子集被測試的次數)。理想情況下,重要特征的得分會接近100%。稍微弱一點的特征得分會是非0的數,而最無用的特征得分將會接近于0。
感謝各位的閱讀,以上就是“有哪些Python機器學習面試題”的內容了,經過本文的學習后,相信大家對有哪些Python機器學習面試題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。