學(xué)習(xí)筆記58 數(shù)據(jù)分析常見面試題 4-18

21.EM算法知道嗎(廣聯(lián)達(dá)

參考答案

EM算法解決問題的思路是使用啟發(fā)式的迭代方法,既然我們無法直接求出模型分布參數(shù),那么我們可以先猜想隱含參數(shù)(EM?算法的E步),接著基于觀察數(shù)據(jù)和猜測的隱含參數(shù)一起來極大化對數(shù)似然,求解我們的模型參數(shù)(EM算法的M步)。由于我們之前的隱含參數(shù)是猜測的,所以此時得到的模型參數(shù)一般還不是我們想要的結(jié)果。我們基于當(dāng)前得到的模型參數(shù),繼續(xù)猜測隱含參數(shù)(EM算法的E步),然后繼續(xù)極大化對數(shù)似然,求解我們的模型參數(shù)(EM算法的M步)。以此類推,不斷的迭代下去,直到模型分布參數(shù)基本無變化,算法收斂,找到合適的模型參數(shù)。

==EM算法說到底就是啟發(fā)式的迭代算法,既然無法直接求到模型的參數(shù),那就先猜測隱含的參數(shù),根據(jù)這個猜測的參數(shù)來得出結(jié)果,然后用最大化對數(shù)似然來求目標(biāo)參數(shù)。(4.21

例如:

先設(shè)定男生和女生的身高分布參數(shù)(初始值),例如男生的身高分布為N(p=172=52),女生的身高分布為N(2=162,吃=52),當(dāng)然了,剛開始肯定沒那么準(zhǔn);然后計算出每個人更可能屬于第一個還是第二個正態(tài)分布中的(例如,這個人的身高是180那很明顯,他極大可能屬于男生),這個是屬于Expectation 一步。

我們已經(jīng)大概地按上面的方法將這200個人分為男生和女生兩部分,我們就可以根據(jù)之前說的極大似然估計分別對男生和女生的身高分布參數(shù)進(jìn)行估計,這步稱為 Maximization。

然后,當(dāng)我們更新這兩個分布的時候,每一個學(xué)生屬于女生還是男生的概率又變了,那么我們就再需要調(diào)整E步。

如此往復(fù),直到參數(shù)基本不再發(fā)生變化或滿足結(jié)束條件為止。

答案解析

這道題考驗EM算法,EM的意思是“Expectation

Maximization"。只要將EM算法的大致流程描述清楚即可

22.評價指標(biāo)(廣聯(lián)達(dá)

參考答案

1、混淆矩陣

混淆矩陣是監(jiān)督學(xué)習(xí)中的一種可視化工具,主要用于比較分類結(jié)果和實例的真實信息。矩陣中的每一行代表實例的預(yù)測類別,每一列代表實例的真實類別。

真正(True Positive , TP):被模型預(yù)測為正的正樣本。

假正(False Positive , FP):被模型預(yù)測為正的負(fù)樣本。

假負(fù)(False Negative , FN):被模型預(yù)測為負(fù)的正樣本。

真負(fù)(True Negative , TN):被模型預(yù)測為負(fù)的負(fù)樣本。

真正率(True Positive Rate,TPR):TPR=TP/(TP+FN),即被預(yù)測為正的正樣本數(shù) /正樣本實際數(shù)。

假正率(False Positive Rate,FPR) :FPR=FP/(FP+TN),即被預(yù)測為正的負(fù)樣本數(shù) /負(fù)樣本實際數(shù)。

假負(fù)率(False Negative Rate,FNR) :FNR=FN/(TP+FN),即被預(yù)測為負(fù)的正樣本數(shù) /正樣本實際數(shù)。

真負(fù)率(True Negative Rate,TNR):TNR=TN/(TN+FP),即被預(yù)測為負(fù)的負(fù)樣本數(shù) /負(fù)樣本實際數(shù)/2

2、準(zhǔn)確率(Accuracy)

準(zhǔn)確率是最常用的分類性能指標(biāo)。

Accuracy = (TP+TN)/(TP+FN+FP+TN)

即正確預(yù)測的正反例數(shù)/總數(shù)

3、精確率(Precision)

精確率容易和準(zhǔn)確率被混為一談。其實,精確率只是針對預(yù)測正確的正樣本而不是所有預(yù)測正確的樣本。表現(xiàn)為預(yù)測出是正的里面有多少真正是正的。可理解為查準(zhǔn)率。

Precision = TP/(TP+FP)

即正確預(yù)測的正例數(shù)/預(yù)測正例總數(shù)

4、召回率(Recall)

召回率表現(xiàn)出在實際正樣本中,分類器能預(yù)測出多少。與真正率相等,可理解為查全率。

Recall = TP/(TP+FN),即正確預(yù)測的正例數(shù) /實際正例總數(shù)

5、F1 score

F值是精確率和召回率的調(diào)和值,更接近于兩個數(shù)較小的那個,所以精確率和召回率接近時,F(xiàn)值最大。很多推薦系統(tǒng)的評測指標(biāo)就是用F值的。

2/F1 = 1/Precision + 1/Recall

6、AUC

AUC(Area Under Curve)被定義為ROC曲線下的面積(ROC的積分),通常大于0.5小于1。隨機挑選一個正樣本以及一個負(fù)樣本,分類器判定正樣本的值高于負(fù)樣本的概率就是 AUC 值。AUC值(面積)越大的分類器,性能越好

答案解析

這道題主要考察機器學(xué)習(xí)的評價指標(biāo),需要將機器學(xué)習(xí)的常見指標(biāo)描述出來。

23.表示距離的指標(biāo)有哪些?(廣聯(lián)達(dá)

參考答案

1.歐氏距離,最常見的兩點之間或多點之間的距離表示法,又稱之為歐幾里得度量,它定義于歐幾里得空間中,如點 x = (x1,...,xn) 和 y = (y1,...,yn) 之間的距離為:

2. 曼哈頓距離,我們可以定義曼哈頓距離的正式意義為L1-距離或城市區(qū)塊距離,也就是在歐幾里得空間的固定直角坐標(biāo)系上兩點所形成的線段對軸產(chǎn)生的投影的距離總和。例如在平面上,坐標(biāo)(x1,y1)的點P1與坐標(biāo)(x2, y2)的點P2的曼哈頓距離為

要注意的是,曼哈頓距離依賴座標(biāo)系統(tǒng)的轉(zhuǎn)度,而非系統(tǒng)在座標(biāo)軸上的平移或映射。

3. 切比雪夫距離,若二個向量或二個點p 、and q,其座標(biāo)分別為及,則兩者之間的切比雪夫距離定義如下:

4. 標(biāo)準(zhǔn)化歐氏距離 (Standardized Euclidean distance

),標(biāo)準(zhǔn)化歐氏距離是針對簡單歐氏距離的缺點而作的一種改進(jìn)方案。標(biāo)準(zhǔn)歐氏距離的思路:既然數(shù)據(jù)各維分量的分布不一樣,那先將各個分量都“標(biāo)準(zhǔn)化”到均值、方差相等。

5. 漢明距離(Hamming distance),兩個等長字符串s1與s2之間的漢明距離定義為將其中一個變?yōu)榱硗庖粋€所需要作的最小替換次數(shù)。例如字符串“1111”與“1001”之間的漢明距離為2。應(yīng)用:信息編碼(為了增強容錯性,應(yīng)使得編碼間的最小漢明距離盡可能大)。

6. 夾角余弦(Cosine) ,幾何中夾角余弦可用來衡量兩個向量方向的差異,機器學(xué)習(xí)中借用這一概念來衡量樣本向量之間的差異。

24. ROC的了解情況,怎么畫ROC(猿輔導(dǎo)

參考答案

邏輯回歸里面,對于正負(fù)例的界定,通常會設(shè)一個閾值,大于閾值的為正類,小于閾值為負(fù)類。如果我們減小這個閥值,更多的樣本會被識別為正類,提高正類的識別率,但同時也會使得更多的負(fù)類被錯誤識別為正類。為了直觀表示這一現(xiàn)象,引入ROC。根據(jù)分類結(jié)果計算得到ROC空間中相應(yīng)的點,連接這些點就形成ROC curve,橫坐標(biāo)為False Positive Rate(FPR假正率),縱坐標(biāo)為True Positive Rate(TPR真正率)。一般情況下,這個曲線都應(yīng)該處于(0,0)和(1,1)連線的上方。

ROC曲線中的四個點和一條線: 點(0,1):即FPR=0, TPR=1,意味著FN=0且FP=0,將所有的樣本都正確分類。 點(1,0):即FPR=1,TPR=0,最差分類器,避開了所有正確答案。 點(0,0):即FPR=TPR=0,F(xiàn)P=TP=0,分類器把每個實例都預(yù)測為負(fù)類。 點(1,1):分類器把每個實例都預(yù)測為正類。 總之:ROC曲線越接近左上角,該分類器的性能越好。而且一般來說,如果ROC是光滑的,那么基本可以判斷沒有太大的overfitting

答案解析

==先說一下背景,在邏輯回歸里面,對正負(fù)樣本的界定通常會設(shè)定一個閾值,大于閾值的為正,小于閾值的為負(fù)。如果我們減小這個閾值,更多的樣本就會被識別為正類,這會提高正類的識別率,但是同時也會讓更多的負(fù)類被錯判為正。

為了更加直觀的表示這個現(xiàn)象,引入了ROC曲線。ROC曲線主要就是4個點和1條線。4個點分別是(0,0)樣本全部劃分為負(fù)類

(0,1)樣本全部判斷正確

(1,0)樣本全部判斷錯誤

(1,1)樣本全部劃分為正類

總之,曲線越靠近左上方越好,曲線只要夠光滑就代表沒有太大過擬合的現(xiàn)象。(4.21

這道題主要是考察ROC的基礎(chǔ)知識,需要能夠描述ROC的計算方式和如何畫出曲線

25.有很多維度的特征怎么來篩選?有什么方法?具體講一個例子來(拼多多

參考答案

1.Filter方法(過濾式):對每一維特征打分,即給每一維的特征賦予權(quán)重,這樣的權(quán)重就代表著該特征的重要性,然后依據(jù)權(quán)重排序

2.Wrapper方法(包裹式):將子集的選擇看作是一個搜索尋優(yōu)問題,生成不同的組合,對組合進(jìn)行評價,再與其他的組合進(jìn)行比較。

3. Embedded方法(嵌入式):在模型既定的情況下學(xué)習(xí)出對提高模型準(zhǔn)確性最好的特征。也就是在確定模型的過程中,挑選出那些對模型的訓(xùn)練有重要意義的特征。

具體的例子:嶺回歸,在線性回歸過程加入了L2正則項。

==這里說的是高維數(shù)據(jù),不是說特征數(shù)量很多

答案解析

高維數(shù)據(jù)中的特征篩選方法

機器學(xué)習(xí)與數(shù)據(jù)挖掘-7

31.決策樹模型用到的xgboost(騰訊

參考答案

首先,介紹背景(包括項目背景+所用數(shù)據(jù)集特征+預(yù)設(shè)目標(biāo))。隨后根據(jù)這個數(shù)據(jù)集的特征再結(jié)合xgb的優(yōu)勢,所以才用xgb(為什么要用xgb)。最后說明用了之后的效果,是否達(dá)成了預(yù)設(shè)目標(biāo)/達(dá)成了其他的目標(biāo)。

答案解析

需要結(jié)合簡歷上的項目來介紹,包括為什么要用以及用了之后的效果。

32.xgboost的特性(騰訊

參考答案

梯度下降,利用損失函數(shù)的二階導(dǎo)數(shù)作為學(xué)習(xí)目標(biāo),采用牛頓法進(jìn)行優(yōu)化。

正則項,利用L2正則來防止過擬合。

樹節(jié)點分裂方法,不是簡單地按照樣本個數(shù)進(jìn)行分位,而是以二階導(dǎo)數(shù)值作為權(quán)重。

shrinkage(收縮)方法,相當(dāng)于學(xué)習(xí)系數(shù)eta。對每顆子樹都要乘上該系數(shù),防止過擬合。

==這里是一個比較簡化精髓的一個回答。XGB的特性就是梯度下降,利用損失函數(shù)的二階導(dǎo)數(shù)作為學(xué)習(xí)目標(biāo),采用牛頓法作為優(yōu)化,加入L2正則來防止過擬合。(4.21

33.為什么選擇xgboost而不是其他(騰訊

參考答案

介紹項目背景(主要是數(shù)據(jù)集特征),再說明xgb的優(yōu)點(符合你的項目背景和數(shù)據(jù)集特征的優(yōu)點),實在沒有符合項目背景的優(yōu)點可以直接介紹xgb與其他集成學(xué)習(xí)優(yōu)勢的地方(利用了損失函數(shù)的二階導(dǎo)數(shù),L2正則,缺失值處理等)來說明自己了解這個算法的優(yōu)點。

34.xgboost的優(yōu)點(騰訊

參考答案

1.利用了損失函數(shù)的二階導(dǎo)數(shù),使得最終值逼近真實值。

2.out-of-core, cache-aware優(yōu)化內(nèi)存等方法來加速計算。

3.利用L2正則來防止過擬合。

4.shrinkage(收縮)方法,相當(dāng)于學(xué)習(xí)系數(shù)eta。對每顆子樹都要乘上該系數(shù),防止過擬合。

5.缺失值處理:通過枚舉所有缺失值在當(dāng)前節(jié)點是進(jìn)入左子樹,還是進(jìn)入右子樹更優(yōu)來決定一個處理缺失值默認(rèn)的方向。

6.支持并行處理,提高了處理速度。

答案解析

選3-4個即可

35.xgboost常用的調(diào)參參數(shù)有哪些(騰訊

參考答案

1.max_depth:樹的最大深度。這個值也是用來避免過擬合的。max_depth越大,模型會學(xué)到更具體更局部的樣本。 需要使用CV函數(shù)來進(jìn)行調(diào)優(yōu)。

2.eta:學(xué)習(xí)率。 通過減少每一步的權(quán)重,可以提高模型的魯棒性。

3.n_estimator: 這是生成的最大樹的數(shù)目,也是最大的迭代次數(shù)。

4.objective:定義需要被最小化的損失函數(shù)。

5.booster:選擇每次迭代的模型

36.研究生項目的面部識別模型,問了我GBM是什么,優(yōu)缺點;還問了SVM/GBM/XGBoost的共同點和比較;最后問了XGBoost比較GBDT的區(qū)別。(招聯(lián)金融

參考答案

GBM算法是先根據(jù)初始模型計算偽殘差,之后建立一個基學(xué)習(xí)器來解釋偽殘差,該基學(xué)習(xí)器是在梯度方向上減少殘差。再將基學(xué)習(xí)器乘上權(quán)重系數(shù)(學(xué)習(xí)速率)和原來的模型進(jìn)行線性組合形成新的模型。這樣反復(fù)迭代就可以找到一個使損失函數(shù)的期望達(dá)到最小的模型。

==根據(jù)初始模型來計算偽殘差,然后建立一個基學(xué)習(xí)器來解釋偽殘差

優(yōu)點:

1.繼承了單一決策樹的優(yōu)點,又摒棄了它的缺點;

2.能處理缺失數(shù)據(jù);

3.對于噪聲數(shù)據(jù)不敏感;

4.能擬合復(fù)雜的非線性關(guān)系;

5.精確度較高;

6.通過控制迭代次數(shù)能控制過度擬合;

7.計算速度快,性能較優(yōu)。

缺點:

1.順序計算;

2.可能會出現(xiàn)過擬合現(xiàn)象;

3.設(shè)置參數(shù)較多;

4.抗干擾能力不強。

GBM/XGBoost的共同點和比較

相同點:

1.都是采用集成學(xué)習(xí)boosting的思想。

2.都可以在特征上并行處理。

不同點:

1.XGBoost 使用的是近似算法,先對特征值進(jìn)行預(yù)排序,然后根據(jù)二階梯度進(jìn)行分桶,能夠更精確的找到數(shù)據(jù)分隔點,但是復(fù)雜度較高。LightGBM使用的是 histogram?算法,只需要將數(shù)據(jù)分割成不同的段即可,不需要進(jìn)行預(yù)先的排序。占用的內(nèi)存更低,數(shù)據(jù)分割的復(fù)雜度更低。

2.決策樹生長策略,XGBoost 采用的是 Level-wise 的樹生長策略,LightGBM 采用的是 leaf-wise 的生長策略,以最大信息增益為導(dǎo)向。后者進(jìn)度更高,容易過擬合,所以要控制最大深度。

3.并行策略對比,XGBoost 的并行主要集中在特征并行上,而 LightGBM 的并行策略分特征并行,數(shù)據(jù)并行以及投票并行。

XGBoost比較GBDT的區(qū)別:

1.GBDT無顯式正則化;

2.GBDT僅使用了目標(biāo)函數(shù)一階泰勒展開,而XGBoost使用了二階的泰勒展開值,加快收斂速度;

3.XGBoost加入了列采樣;

4.XGBoost對缺失值的處理;

5.XGBoost通過預(yù)排序的方法來實現(xiàn)特征并行,提高模型訓(xùn)練效率;

6.XGBoost支持分布式計算。

37.SVM原理(工商銀行、同盾科技騰訊

參考答案

SVM是在特征空間上找到最佳的分離超平面,使得訓(xùn)練集上的正負(fù)樣本間隔最大。是用來解決二分類問題的有監(jiān)督學(xué)習(xí)算法,在引入核方法后也可以解決非線性問題。

==簡單精髓的回答一下即可,SVM是在特征空間中找到最佳的分離超平面,使訓(xùn)練集上的正負(fù)樣本間隔最大,用來解決有監(jiān)督分類問題,引入核方法后可以解決非線性問題。(4.21

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容