面經(jīng)
機(jī)器學(xué)習(xí)算法一定要推導(dǎo)!
面試地點(diǎn):字節(jié)跳動(dòng)-北京
面試官是一個(gè)技術(shù)部的大牛,基本是半英文交流的。首先給了一張紙去寫一個(gè)遞歸谜叹,然后開始問(wèn)算法相關(guān)的問(wèn)題,如Xgboost和GBDT搬葬、以及欠擬合和過(guò)擬合的解決方法荷腊。當(dāng)然截止目前,其實(shí)都還算是簡(jiǎn)單的急凰,最后女仰,最傷心的事情來(lái)了,推導(dǎo)算法抡锈!從最簡(jiǎn)單的決策樹C4.5開始疾忍,能推導(dǎo)出幾個(gè),加幾分床三。心態(tài)直接崩了一罩,好像只成功推導(dǎo)了C4.5,CART撇簿,HMM聂渊,LR,SVM差购,其他的都不成功。
面試官笑了笑汉嗽,也沒問(wèn)其他問(wèn)題欲逃,也沒讓我問(wèn)問(wèn)題,心很忐忑饼暑。過(guò)了一周左右稳析,我終于放心了,是真的涼了
面試官的問(wèn)題:
問(wèn)對(duì)于logistic regession問(wèn)題:prob(t|x)=1/(1+exp(w*x+b))且label y=0或1弓叛,請(qǐng)給出loss function和權(quán)重w的更新公式及推導(dǎo)迈着。
答這個(gè)題其實(shí)是BAT1000題中的一道,w的更新公式可以由最小化loss function得到邪码,也可以用極大似然函數(shù)方法求解,過(guò)程略...大家可以直接搜BAT面試1000題咬清。
面試知識(shí)點(diǎn)掌握
- 知識(shí)點(diǎn)梳理
https://github.com/shunliz/Machine-Learning
- 算法推導(dǎo)
https://shunliz.gitbooks.io/machine-learning/content/
附: 機(jī)器學(xué)習(xí)十大算法
- 如何選擇算法
微軟如何選擇 Azure 機(jī)器學(xué)習(xí)工作室算法:
https://docs.microsoft.com/zh-cn/azure/machine-learning/studio/algorithm-choice#algorithm-notes
機(jī)器學(xué)習(xí)算法優(yōu)缺點(diǎn)對(duì)比及選擇(匯總篇):
https://ask.hellobi.com/blog/shuzhiwuyu/19008
盤點(diǎn)最實(shí)用的機(jī)器學(xué)習(xí)算法優(yōu)缺點(diǎn)分析闭专,沒有比這篇說(shuō)得更好了:
https://cloud.tencent.com/developer/article/1111064
面試中常見問(wèn)題
softmax loss在遇到樣本不均衡的情況下,能夠做出那些改進(jìn)旧烧?
答focal loss, 加上temperature 或者 label smooth
算法相關(guān)的簡(jiǎn)單問(wèn)題(GBDT影钉、Xgboost等
Logistic Regression優(yōu)化方程的證明。
兩道算法題掘剪,手寫代碼平委。一道基于線性數(shù)據(jù)結(jié)構(gòu),一道基于樹形數(shù)據(jù)結(jié)構(gòu)
gbdt:
- gbdt原理
- gbdt推導(dǎo)
- 公式分布推導(dǎo)
- 殘差如何計(jì)算
- 損失函數(shù)形式
- 基于常見損失函數(shù)的公式推導(dǎo)
- boosting體現(xiàn)在哪里
- 非mse損失時(shí)
作為殘差近似值的數(shù)學(xué)意義
- gbdt的weak learner是什么,為什么用CART回歸樹而不是分類樹(分類樹殘差相減沒有意義)
- CART回歸樹
- 節(jié)點(diǎn)分裂規(guī)則,寫出公式
- 公式中每個(gè)值在實(shí)際訓(xùn)練中是怎么計(jì)算出來(lái)的,舉例子說(shuō)明
- 連續(xù)變量節(jié)點(diǎn)如何劃分
- 離散變量節(jié)點(diǎn)如何劃分
- gbdt的訓(xùn)練過(guò)程
- 做分類預(yù)測(cè)時(shí)如何訓(xùn)練
- 做回歸預(yù)測(cè)時(shí)怎么訓(xùn)練
- gbdt分類輸出
- 輸出概率如何計(jì)算
- 能否計(jì)算多分類, 是互斥多分類還是非互斥的?
- 如果做互斥多分類,在哪一步改進(jìn)?
- gbdt調(diào)參
- 調(diào)過(guò)哪些參數(shù), 各有哪些作用
- 重要參數(shù)為什么有這些作用?從原理出發(fā)講一下
- gbdt里的subsample作用,為何可以提高泛化,和rf的采樣是否相同
- rf里行采樣,列采樣解釋,作用
- rf為什么要使得每棵樹不一樣,數(shù)學(xué)解釋
- shrinkage作用
- gbdt學(xué)習(xí)速率設(shè)置
- 為什么設(shè)置學(xué)習(xí)速率可防止過(guò)擬合?
- 深度學(xué)習(xí)中常見的學(xué)習(xí)速率設(shè)置方式有哪些? 數(shù)學(xué)公式
- gbdt中學(xué)習(xí)速率是如何使用的?數(shù)學(xué)解釋
- 通常合理設(shè)置學(xué)習(xí)速率模型會(huì)變好,原理是什么
- gbdt+lr過(guò)程
lr:
- 數(shù)學(xué)推導(dǎo), 求導(dǎo)
- sigmoid why?
svm:
- svm原理
- 對(duì)偶作用
- 推導(dǎo)公式
dnn, cnn:
- 畫網(wǎng)絡(luò)結(jié)構(gòu)
- 用到的激活函數(shù), relu好處
- 優(yōu)化方法, 每種優(yōu)化的過(guò)程, 參數(shù)更新公式
- 動(dòng)量
- 可走出局部最小值原因? 數(shù)學(xué)解釋
- 動(dòng)量為啥比mini-batch好: 數(shù)學(xué)解釋
正則:
- l1, l2的作用
- 為什么l1稀疏,l2權(quán)重衰減? 不能畫圖, 數(shù)學(xué)解釋
不均衡樣本:
- 上采樣, 下采樣
- easy-enesmble
多模型對(duì)比:
- gbdt, xgboost, rf
- lr, 線性模型
特征工程及模型評(píng)估:
- 模型效果評(píng)估方式, ROC
- 模型性能下降的改進(jìn)
- 過(guò)擬合原因及改善
- 特征篩選方式
關(guān)于GBDT重點(diǎn)關(guān)注一下:
- Boosting算法Bagging算法介紹
- GBDT基本原理
- GBDT如何正則化
- GBDT分裂規(guī)則
- GBDT的“梯度提升”體現(xiàn)在那個(gè)階段
- GBDT如何做特征選擇
- GBDT為什么使用cart回歸樹而不是使用分類樹
- 為什么GBDT的樹深度較RF通常都比較淺
- GBDT那些部分可以并行
- GBDT與RF的區(qū)別
- GBDT與XGBoost的區(qū)別
- xgboost/gbdt在調(diào)參時(shí)為什么樹的深度很少就能達(dá)到很高的精度夺谁?
工程算法:
- 斐波那契數(shù)列非遞歸編程
- 二叉樹遍歷
- 中位數(shù)查找,不能對(duì)數(shù)組排序
- 合并k個(gè)有序數(shù)組
- 假設(shè)全球所有人都在一個(gè)矩形方格中廉赔,每個(gè)人有坐標(biāo)(xi,yi),距離每個(gè)人半徑為r的范圍中的總?cè)藬?shù)為Ci匾鸥,現(xiàn)在要求max(Ci)蜡塌,應(yīng)當(dāng)使用什么方法進(jìn)行處理?
- 如果一個(gè)國(guó)家發(fā)行的鈔票面值都是斐波那契里的數(shù)字勿负,給s定一個(gè)物品價(jià)值n馏艾,問(wèn)購(gòu)買這個(gè)物品總共有多少種鈔票組合方式。
- 這里重點(diǎn)關(guān)注回答里的算法問(wèn)題: 如何準(zhǔn)備機(jī)器學(xué)習(xí)工程師的面試 奴愉? - 姚凱飛的文章 - 知乎
https://zhuanlan.zhihu.com/p/29969587
面試總結(jié):
https://www.cnblogs.com/ModifyRong/p/7744987.html