Python的機(jī)器學(xué)習(xí)方向是近年來(lái)不少大廠非常注重的方向之一,這也讓不少同學(xué)都開(kāi)始轉(zhuǎn)行學(xué)習(xí)機(jī)器學(xué)習(xí)領(lǐng)域,這里小千為大家整理了一下大廠在機(jī)器學(xué)習(xí)方向的面試題,大家在面試前看一下說(shuō)不準(zhǔn)就能壓到寶~~
1.有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)有什么區(qū)別?
有監(jiān)督學(xué)習(xí):對(duì)具有標(biāo)記的訓(xùn)練樣本進(jìn)行學(xué)習(xí),以盡可能對(duì)訓(xùn)練樣本集外的數(shù)據(jù)進(jìn)行分類(lèi)預(yù)測(cè)。(LR,SVM,BP,RF,GBDT)
無(wú)監(jiān)督學(xué)習(xí):對(duì)未標(biāo)記的樣本進(jìn)行訓(xùn)練學(xué)習(xí),比發(fā)現(xiàn)這些樣本中的結(jié)構(gòu)知識(shí)。(KMeans,DL)
2.什么是正則化?
正則化是針對(duì)過(guò)擬合而提出的,以為在求解模型最優(yōu)的是一般優(yōu)化最小的經(jīng)驗(yàn)風(fēng)險(xiǎn),現(xiàn)在在該經(jīng)驗(yàn)風(fēng)險(xiǎn)上加入模型復(fù)雜度這一項(xiàng)(正則化項(xiàng)是模型參數(shù)向量的范數(shù)),并使用一個(gè)rate比率來(lái)權(quán)衡模型復(fù)雜度與以往經(jīng)驗(yàn)風(fēng)險(xiǎn)的權(quán)重,如果模型復(fù)雜度越高,結(jié)構(gòu)化的經(jīng)驗(yàn)風(fēng)險(xiǎn)會(huì)越大,現(xiàn)在的目標(biāo)就變?yōu)榱私Y(jié)構(gòu)經(jīng)驗(yàn)風(fēng)險(xiǎn)的最優(yōu)化,可以防止模型訓(xùn)練過(guò)度復(fù)雜,有效的降低過(guò)擬合的風(fēng)險(xiǎn)。奧卡姆剃刀原理,能夠很好的解釋已知數(shù)據(jù)并且十分簡(jiǎn)單才是好的模型。
3.什么是生成模型和判別模型?
生成模型:由數(shù)據(jù)學(xué)習(xí)聯(lián)合概率分布P(X,Y),然后求出條件概率分布P(Y|X)作為預(yù)測(cè)的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。(樸素貝葉斯、Kmeans)
生成模型可以還原聯(lián)合概率分布p(X,Y),并且有較快的學(xué)習(xí)收斂速度,還可以用于隱變量的學(xué)習(xí)
判別模型:由數(shù)據(jù)直接學(xué)習(xí)決策函數(shù)Y=f(X)或者條件概率分布P(Y|X)作為預(yù)測(cè)的模型,即判別模型。(k近鄰、決策樹(shù)、SVM)
直接面對(duì)預(yù)測(cè),往往準(zhǔn)確率較高,直接對(duì)數(shù)據(jù)在各種程度上的抽象,所以可以簡(jiǎn)化模型
4.線(xiàn)性分類(lèi)器與非線(xiàn)性分類(lèi)器的區(qū)別以及優(yōu)劣
如果模型是參數(shù)的線(xiàn)性函數(shù),并且存在線(xiàn)性分類(lèi)面,那么就是線(xiàn)性分類(lèi)器,否則不是。
常見(jiàn)的線(xiàn)性分類(lèi)器有:LR,貝葉斯分類(lèi),單層感知機(jī)、線(xiàn)性回歸;常見(jiàn)的非線(xiàn)性分類(lèi)器:決策樹(shù)、RF、GBDT、多層感知機(jī);SVM兩種都有(看線(xiàn)性核還是高斯核)
線(xiàn)性分類(lèi)器速度快、編程方便,但是可能擬合效果不會(huì)很好;非線(xiàn)性分類(lèi)器編程復(fù)雜,但是效果擬合能力強(qiáng);
5.特征比數(shù)據(jù)量還大時(shí),選擇什么樣的分類(lèi)器?
線(xiàn)性分類(lèi)器,因?yàn)榫S度高的時(shí)候,數(shù)據(jù)一般在維度空間里面會(huì)比較稀疏,很有可能線(xiàn)性可分
對(duì)于維度極低的特征,你是選擇線(xiàn)性還是非線(xiàn)性分類(lèi)器?非線(xiàn)性分類(lèi)器,因?yàn)榈途S空間可能很多特征都跑到一起了,導(dǎo)致線(xiàn)性不可分
下面是吳恩達(dá)的見(jiàn)解:
1) 如果Feature的數(shù)量很大,跟樣本數(shù)量差不多,這時(shí)候選用LR或者是Linear Kernel的SVM
2.)如果Feature的數(shù)量比較小,樣本數(shù)量一般,不算大也不算小,選用SVM+Gaussian Kernel
3.)如果Feature的數(shù)量比較小,而樣本數(shù)量很多,需要手工添加一些feature變成第一種情況
6. 為什么一些機(jī)器學(xué)習(xí)模型需要對(duì)數(shù)據(jù)進(jìn)行歸一化?
歸一化化就是要把你需要處理的數(shù)據(jù)經(jīng)過(guò)處理后(通過(guò)某種算法)限制在你需要的一定范圍內(nèi)。
1)歸一化后加快了梯度下降求最優(yōu)解的速度。等高線(xiàn)變得顯得圓滑,在梯度下降進(jìn)行求解時(shí)能較快的收斂。如果不做歸一化,梯度下降過(guò)程容易走之字,很難收斂甚至不能收斂
2)把有量綱表達(dá)式變?yōu)闊o(wú)量綱表達(dá)式, 有可能提高精度。一些分類(lèi)器需要計(jì)算樣本之間的距離(如歐氏距離),例如KNN。如果一個(gè)特征值域范圍非常大,那么距離計(jì)算就主要取決于這個(gè)特征,從而與實(shí)際情況相悖(比如這時(shí)實(shí)際情況是值域范圍小的特征更重要)
3) 邏輯回歸等模型先驗(yàn)假設(shè)數(shù)據(jù)服從正態(tài)分布。
7.哪些機(jī)器學(xué)習(xí)算法不需要做歸一化處理?
概率模型不需要?dú)w一化,因?yàn)樗鼈儾魂P(guān)心變量的值,而是關(guān)心變量的分布和變量之間的條件概率,如決策樹(shù)、rf。而像adaboost、gbdt、xgboost、svm、lr、KNN、KMeans之類(lèi)的最優(yōu)化問(wèn)題就需要?dú)w一化。
8.標(biāo)準(zhǔn)化與歸一化的區(qū)別
簡(jiǎn)單來(lái)說(shuō),標(biāo)準(zhǔn)化是依照特征矩陣的列處理數(shù)據(jù),其通過(guò)求z-score的方法,將樣本的特征值轉(zhuǎn)換到同一量綱下。歸一化是依照特征矩陣的行處理數(shù)據(jù),其目的在于樣本向量在點(diǎn)乘運(yùn)算或其他核函數(shù)計(jì)算相似性時(shí),擁有統(tǒng)一的標(biāo)準(zhǔn),也就是說(shuō)都轉(zhuǎn)化為“單位向量”。
9.隨機(jī)森林如何處理缺失值
方法一(na.roughfix)簡(jiǎn)單粗暴,對(duì)于訓(xùn)練集,同一個(gè)class下的數(shù)據(jù),如果是分類(lèi)變量缺失,用眾數(shù)補(bǔ)上,如果是連續(xù)型變量缺失,用中位數(shù)補(bǔ)。
方法二(rfImpute)這個(gè)方法計(jì)算量大,至于比方法一好壞?不好判斷。先用na.roughfix補(bǔ)上缺失值,然后構(gòu)建森林并計(jì)算proximity matrix,再回頭看缺失值,如果是分類(lèi)變量,則用沒(méi)有缺失的觀測(cè)實(shí)例的proximity中的權(quán)重進(jìn)行投票。如果是連續(xù)型變量,則用proximity矩陣進(jìn)行加權(quán)平均的方法補(bǔ)缺失值。然后迭代4-6次。
10. 如何進(jìn)行特征選擇?
特征選擇是一個(gè)重要的數(shù)據(jù)預(yù)處理過(guò)程,主要有兩個(gè)原因:一是減少特征數(shù)量、降維,使模型泛化能力更強(qiáng),減少過(guò)擬合;二是增強(qiáng)對(duì)特征和特征值之間的理解
常見(jiàn)的特征選擇方式:
1) 去除方差較小的特征
2.)正則化。1正則化能夠生成稀疏的模型。L2正則化的表現(xiàn)更加穩(wěn)定,由于有用的特征往往對(duì)應(yīng)系數(shù)非零。
3)隨機(jī)森林,對(duì)于分類(lèi)問(wèn)題,通常采用基尼不純度或者信息增益,對(duì)于回歸問(wèn)題,通常采用的是方差或者最小二乘擬合。一般不需要feature engineering、調(diào)參等繁瑣的步驟。它的兩個(gè)主要問(wèn)題,1是重要的特征有可能得分很低(關(guān)聯(lián)特征問(wèn)題),2是這種方法對(duì)特征變量類(lèi)別多的特征越有利(偏向問(wèn)題)。
4)穩(wěn)定性選擇。是一種基于二次抽樣和選擇算法相結(jié)合較新的方法,選擇算法可以是回歸、SVM或其他類(lèi)似的方法。它的主要思想是在不同的數(shù)據(jù)子集和特征子集上運(yùn)行特征選擇算法,不斷的重復(fù),最終匯總特征選擇結(jié)果,比如可以統(tǒng)計(jì)某個(gè)特征被認(rèn)為是重要特征的頻率(被選為重要特征的次數(shù)除以它所在的子集被測(cè)試的次數(shù))。理想情況下,重要特征的得分會(huì)接近100%。稍微弱一點(diǎn)的特征得分會(huì)是非0的數(shù),而最無(wú)用的特征得分將會(huì)接近于0。
以上就是第一期Python機(jī)器學(xué)習(xí)方向的企業(yè)面試題及其答案了,最后對(duì)Python開(kāi)發(fā)感興趣的同學(xué),不妨來(lái)千鋒教育Python培訓(xùn)班了解一下Python培訓(xùn)課程,針對(duì)不同階段的同學(xué)準(zhǔn)備了初級(jí)入門(mén)、高手進(jìn)階、實(shí)戰(zhàn)項(xiàng)目等多種Python視頻教程,絕對(duì)能夠幫助你更好的學(xué)習(xí)Python開(kāi)發(fā)。想要獲取免費(fèi)Python學(xué)習(xí)路線(xiàn)和學(xué)習(xí)資料可以添加我們的Python技術(shù)交流qq群:790693323 加群找群管理領(lǐng)取即可,Python相關(guān)技術(shù)問(wèn)題也可以加群解決,等你來(lái)哦~~~~