<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          追根溯源,算法崗面試「完整脈絡(luò)」梳理:手推公式、通用問(wèn)題、常見(jiàn)算法

          共 5464字,需瀏覽 11分鐘

           ·

          2020-09-11 22:44

          ↑ 點(diǎn)擊藍(lán)字?關(guān)注極市平臺(tái)

          作者丨大魚(yú)@知乎
          來(lái)源丨h(huán)ttps://zhuanlan.zhihu.com/p/82105066
          編輯丨極市平臺(tái)

          極市導(dǎo)讀

          ?

          正值2021秋招季,本文梳理了常見(jiàn)的機(jī)器學(xué)習(xí)面試題的完整脈絡(luò),包括手推公式、機(jī)器學(xué)習(xí)通用問(wèn)題以及常見(jiàn)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)算法等內(nèi)容非常詳盡,可為正在準(zhǔn)備面試的同學(xué)提供有效參考。

          一.常見(jiàn)手推公式部分

          1.1 LR手推、求導(dǎo)、梯度更新

          1.2 SVM原形式、對(duì)偶形式

          1.3 FM公式推導(dǎo)

          1.4 GBDT手推

          1.5 XGB推導(dǎo)

          1.6 AUC計(jì)算

          1.7 神經(jīng)網(wǎng)絡(luò)的反向傳播

          pytorch寫(xiě)簡(jiǎn)單DNN

          二.常見(jiàn)機(jī)器學(xué)習(xí)通用問(wèn)題

          2.1評(píng)價(jià)指標(biāo)

          2.1.1 分類問(wèn)題指標(biāo)

          分類問(wèn)題的評(píng)價(jià)指標(biāo)大多基于混淆矩陣計(jì)算所得

          正確率(Accuracy):識(shí)別對(duì)了的正例(TP)與負(fù)例(TN)占總識(shí)別樣本的比例。

          缺點(diǎn):類別比例不均衡時(shí)影響評(píng)價(jià)效果。

          精確率(Precision):識(shí)別對(duì)了的正例(TP)占識(shí)別出的正例的比例。其中,識(shí)別出的正例等于識(shí)別對(duì)了的正例加上識(shí)別錯(cuò)了的正例。
          召回率(Recall):識(shí)別對(duì)了的正例(TP)占實(shí)際總正例的比例。其中,實(shí)際總正例等于識(shí)別對(duì)了的正例加上識(shí)別錯(cuò)了的負(fù)例(真正例+偽負(fù)例)。
          F-Score,是召回率R和精度P的加權(quán)調(diào)和平均,顧名思義即是為了調(diào)和召回率R和精度P之間增減反向的矛盾,該綜合評(píng)價(jià)指標(biāo)F引入了系數(shù)α對(duì)R和P進(jìn)行加權(quán)調(diào)和,表達(dá)式如下:
          ROC曲線,也稱受試者工作特征。以FPR為橫軸,TPR為縱軸,繪制得到的曲線就是ROC曲線。ROC曲線下的面積即為AUC。面積越大代表模型的分類性能越好。
          AUC:隨機(jī)挑選一個(gè)正樣本以及負(fù)樣本,算法將正樣本排在負(fù)樣本前面的概率就是AUC值。M為正類樣本的數(shù)目,N為負(fù)類樣本的數(shù)目。

          特點(diǎn):AUC的評(píng)價(jià)效果不受正負(fù)樣本比例的影響。因?yàn)楦淖冋?fù)樣本比例,橫縱坐標(biāo)大小同時(shí)變化。整體不變。

          2.1.2回歸問(wèn)題評(píng)價(jià)指標(biāo):

          MAE(Mean Absolute Error)是絕對(duì)誤差的平均值。可以更好地反映預(yù)測(cè)值誤差的實(shí)際情況
          MSE(Mean Square Error)是真實(shí)值與預(yù)測(cè)值的差值的平方然后求和平均。通過(guò)平方的形式便于求導(dǎo),所以常被用作線性回歸的損失函數(shù)
          RMSE(Root Mean Square Error)衡量觀測(cè)值與真實(shí)值之間的偏差。常用來(lái)作為機(jī)器學(xué)習(xí)模型預(yù)測(cè)結(jié)果衡量的標(biāo)準(zhǔn)。受異常點(diǎn)影響較大。
          R-square(決定系數(shù)),分母理解為原始數(shù)據(jù)的離散程度,分子為預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)的誤差,二者相除可以消除原始數(shù)據(jù)離散程度的影響。
          2.2優(yōu)化器

          2.2.1 梯度下降法(gradient descent)

          選擇最陡峭的地方下山——這是梯度下降法的核心思想:它通過(guò)每次在當(dāng)前梯度方向(最陡峭的方向)向前“邁”一步,來(lái)逐漸逼近函數(shù)的最小值。

          梯度下降法根據(jù)每次求解損失函數(shù)LL帶入的樣本數(shù),可以分為:全量梯度下降(計(jì)算所有樣本的損失),批量梯度下降(每次計(jì)算一個(gè)batch樣本的損失)和隨機(jī)梯度下降(每次隨機(jī)選取一個(gè)樣本計(jì)算損失)。

          缺點(diǎn):

          學(xué)習(xí)率設(shè)定問(wèn)題,如果學(xué)習(xí)速率過(guò)小,則會(huì)導(dǎo)致收斂速度很慢。如果學(xué)習(xí)速率過(guò)大,那么其會(huì)阻礙收斂,即在極值點(diǎn)附近會(huì)振蕩。
          模型所有的參數(shù)每次更新都是使用相同的學(xué)習(xí)速率。
          陷入局部最小值和鞍點(diǎn)。

          2.2.2 Momentum

          為了解決隨體梯度下降上下波動(dòng),收斂速度慢的問(wèn)題,提出了Momentum優(yōu)化算法,這個(gè)是基于SGD的,簡(jiǎn)單理解,就是為了防止波動(dòng),取前幾次波動(dòng)的平均值當(dāng)做這次的W。

          beta為新引入的超參,代表之前的dW的權(quán)重。

          缺點(diǎn):

          依舊使用同一學(xué)習(xí)率alpha,比較難學(xué)習(xí)一個(gè)較好的學(xué)習(xí)率。

          2.2.3 Adagrad

          在前面介紹的算法中,每個(gè)模型參數(shù)θi使用相同的學(xué)習(xí)速率η,而Adagrad在每一個(gè)更新步驟中對(duì)于每一個(gè)模型參數(shù)θi使用不同的學(xué)習(xí)速率ηi。其更新方程為:

          其中,Gt∈Rd×d是一個(gè)對(duì)角矩陣,其中第i行的對(duì)角元素eii為過(guò)去到當(dāng)前第i個(gè)參數(shù)θi的梯度的平方和,epsilon是一個(gè)平滑參數(shù),為了使得分母不為0。

          缺點(diǎn):

          梯度衰減問(wèn)題,Gt是不斷增加的,導(dǎo)致學(xué)習(xí)率不斷衰減,最終變得非常小。

          2.2.4 RMSprop

          RMSprop使用指數(shù)加權(quán)平均來(lái)代替歷史梯度的平方和:

          RMSprop對(duì)梯度較大的方向減小其學(xué)習(xí)速率,相反的,在梯度較小的方向上增加其學(xué)習(xí)速率。

          缺點(diǎn):

          仍然需要全局學(xué)習(xí)率:n

          2.2.5 Adam

          Adam是Momentum 和 RMSprop的結(jié)合,被證明能有效適用于不同神經(jīng)網(wǎng)絡(luò),適用于廣泛的結(jié)構(gòu)。是目前最常用的優(yōu)化方法,優(yōu)勢(shì)明顯。

          簡(jiǎn)單選擇方法:

          數(shù)據(jù)量小可以用SGD。

          稀疏數(shù)據(jù)則選擇自適應(yīng)學(xué)習(xí)率的算法;而且,只需設(shè)定初始學(xué)習(xí)率而不用再調(diào)整即很可能實(shí)現(xiàn)最好效果。

          Adagrad, Adadelta, RMSprop, Adam可以視為一類算法。RMSprop 與 Adadelta本質(zhì)相同,都是為了解決Adagrad的學(xué)習(xí)率消失問(wèn)題。
          目前來(lái)看,無(wú)腦用 Adam 似乎已經(jīng)是最佳選擇。


          2.3 過(guò)擬合問(wèn)題

          增加數(shù)據(jù)、添加噪聲
          early stooping
          數(shù)據(jù)均衡(過(guò)采樣、將采樣)

          正則化(L1,L2)
          1.解空間形狀:加入正則化項(xiàng)即為約束條件:形成不同形狀的約束解空間。
          2 導(dǎo)數(shù):L2的導(dǎo)數(shù)為2X,平滑。L1導(dǎo)數(shù)為X,-X,存在突變的極值點(diǎn)
          3.先驗(yàn):加入正則化項(xiàng)相當(dāng)于引入?yún)?shù)的先驗(yàn)知識(shí):L1引入拉普拉斯,L2引入高斯分布
          L1可以做到特征篩選和得到稀疏解。L2加速訓(xùn)練

          Dropout
          減小參數(shù)規(guī)模
          隨機(jī)丟棄產(chǎn)生不同網(wǎng)絡(luò),形成集成,解決過(guò)擬合,加速訓(xùn)練

          Batch normolization
          加快訓(xùn)練、消除梯度消失(爆炸)、防止過(guò)擬合 不適用太小batch、CNN

          常見(jiàn)激活函數(shù)

          sigmoid和softmax
          sigmoid只做值非線性變化映射到(0,1),用于二分類。
          softMax變化過(guò)程計(jì)算所有結(jié)果的權(quán)重,使得多值輸出的概率和為1。用于多分類。指數(shù)運(yùn)算速度慢。梯度飽和消失。
          tanh函數(shù)
          雙曲正切函數(shù)。以0為中心,有歸一化的作用。
          ReLu和Leaky ReLu
          大于0為1,小于0為0,計(jì)算速度快。
          leaky輸入為負(fù)時(shí),梯度仍有值,避免死掉。

          樣本不平衡

          欠采樣:隨機(jī)欠采樣、easysampling、KNN
          過(guò)采樣:隨機(jī)過(guò)采樣、SMOTE(人工合成)
          數(shù)據(jù)增強(qiáng)
          代價(jià)敏感學(xué)習(xí):誤分類代價(jià)不同
          適合的評(píng)價(jià)指標(biāo):準(zhǔn)確率、F值、AUC、G-Mean

          模型評(píng)估指標(biāo)

          準(zhǔn)確率、精確率、召回率
          F1score
          roc曲線和AUC
          AUC和logloss

          距離衡量與相似度

          歐幾里得距離、馬哈拉諾比斯距離、曼哈頓距離、切比雪夫距離、明可夫斯基距離、海明距離、編輯距離
          余弦相似度、皮爾森相關(guān)系數(shù)、Jaccard相似系數(shù)、Tanimoto系數(shù)、對(duì)數(shù)似然相似度/對(duì)數(shù)似然相似率、互信息/信息增益,相對(duì)熵/KL散度、信息檢索--詞頻-逆文檔頻率(TF-IDF)、詞對(duì)相似度--點(diǎn)間互信息

          損失函數(shù)

          手寫(xiě)損失函數(shù)
          回歸損失
          MAE、MSE、Huber loss
          分類損失 0-1損失、LogLoss對(duì)數(shù)損失、交叉熵?fù)p失、Hinge損失函數(shù)、指數(shù)損失函數(shù)
          辨析異同、優(yōu)缺點(diǎn)
          對(duì)數(shù)損失函數(shù):

          通過(guò)極大似然估計(jì)生成似然函數(shù),取對(duì)數(shù)求極大值--損失函數(shù)

          交叉熵:

          用一個(gè)猜測(cè)的分布的編碼去編碼真實(shí)的分布,得到的信息量
          交叉熵p(x)對(duì)應(yīng)真實(shí)標(biāo)記y,q(x)對(duì)應(yīng)預(yù)測(cè)值。

          特征選擇的方法

          目的:簡(jiǎn)化模型,降低過(guò)擬合,減少內(nèi)存和計(jì)算開(kāi)銷,增強(qiáng)泛化
          過(guò)濾方法:
          覆蓋率、皮爾遜相關(guān)系數(shù)、Fisher、最大方差閾值、卡方檢驗(yàn)
          封裝方法:完全搜索、啟發(fā)式搜索(隨機(jī)森林,KNN,SVM)
          嵌入方法:正則化項(xiàng)(L1)、輸出模型特征重要性

          決策樹(shù)剪枝

          預(yù)剪枝:提前結(jié)束決策樹(shù)的增長(zhǎng):類目數(shù)量、方差 性能提升
          后剪枝:決策樹(shù)生長(zhǎng)完成之后再進(jìn)行剪枝

          WOE/IV值計(jì)算公式

          常見(jiàn)的數(shù)據(jù)分箱方法

          等距離(寬)
          等頻率(深)
          卡方分箱(有監(jiān)督)

          處理海量數(shù)據(jù)方法

          HAsh法:hash映射,hash統(tǒng)計(jì)+堆/歸并/快速排序
          雙層桶法:重找中位數(shù)(劃分?jǐn)?shù)據(jù)、統(tǒng)計(jì)個(gè)數(shù))
          Bit-map:為每個(gè)數(shù)分配bit,遍歷改變狀態(tài)
          Trie樹(shù)、數(shù)據(jù)庫(kù)
          外排序
          map reduce

          Kmean缺陷與改進(jìn)

          確定K值:可視化觀測(cè),試算K:BIC、AIC,平均質(zhì)心距離
          啟發(fā)迭代:選取質(zhì)心,計(jì)算距離,標(biāo)注樣本,計(jì)算質(zhì)心,迭代計(jì)算距離……
          缺點(diǎn):K值選取,非凸不收斂、異常點(diǎn)敏感
          改進(jìn):離群點(diǎn)檢測(cè)、自動(dòng)選取K值

          隨機(jī)森林

          常見(jiàn)調(diào)參:
          n_estimators:森林中決策樹(shù)的個(gè)數(shù),默認(rèn)是10
          criterion:度量分裂質(zhì)量,信息熵或者基尼指數(shù)
          max_features:特征數(shù)達(dá)到多大時(shí)進(jìn)行分割
          max_depth:樹(shù)的最大深度
          min_samples_split:分割內(nèi)部節(jié)點(diǎn)所需的最少樣本數(shù)量
          bootstrap:是否采用有放回式的抽樣方式
          min_impurity_split:樹(shù)增長(zhǎng)停止的閥值

          XGB

          特征重要性的評(píng)估:損失函數(shù)在特征分裂前后的平均增益
          XGB的分裂準(zhǔn)則:損失函數(shù)增益最大化
          XGB常用調(diào)參:n_estimators:迭代次數(shù),子樹(shù)的數(shù)量
          max_depth、min_child_weigh:樹(shù)深,孩子節(jié)點(diǎn)最小樣本權(quán)重和
          gamma、alpha、lambda:后剪枝比例,L1,L2正則化系數(shù)
          subsample、colsample_bytree:樣本采樣、列采樣
          eta:削減已學(xué)樹(shù)的影響,為后面學(xué)習(xí)騰空間
          tree_method:gpu_histGPU 加速

          LGB

          -常用調(diào)參:
          num_iterations、learning_rate:迭代次數(shù),學(xué)習(xí)率
          max_depth、min_data_in_leaf、num_leaves:控制樹(shù)的大小
          lambda_l1、lambda_l2、min_split_gain:L1、L2、最小切分
          feature_fraction、bagging_fraction:隨機(jī)采樣特征和數(shù)據(jù)
          device:GPU

          GBDT、XGB、LGB比較

          XGB比GBDT新增內(nèi)容:
          1.損失函數(shù):加入正則化項(xiàng):L1葉子節(jié)點(diǎn)數(shù),L2葉子節(jié)點(diǎn)輸出Score
          2.導(dǎo)數(shù):使用代價(jià)函數(shù)的二階展開(kāi)式來(lái)近似表達(dá)殘差
          3.基分類器:XGB支持線性分類器做基分類器
          4.處理缺失值:尋找分割點(diǎn)時(shí)不考慮缺失值。分別計(jì)算缺失值在左右的增益。測(cè)試首出現(xiàn)缺失,默認(rèn)在右。
          5.近似直方圖算法:采用加權(quán)分位數(shù)法來(lái)搜索近似最優(yōu)分裂點(diǎn) 6.Shrinkage(縮減):將學(xué)習(xí)到的模型*系數(shù),削減已學(xué)模型的權(quán)重
          7.列采樣:特征采樣。
          8.并行計(jì)算:特征預(yù)排序,特征分裂增益計(jì)算(均在特征粒度上)

          LGB比XGB新增內(nèi)容(GBDT+GOSS+EFB):
          1.節(jié)點(diǎn)分裂準(zhǔn)則:XGB一次分裂一層節(jié)點(diǎn)(浪費(fèi)),LGB深度優(yōu)先分裂(過(guò)擬合)
          2.決策樹(shù)算法:基于histogram直方圖分箱操作。減存加速
          3.直接支持類別特征,無(wú)需獨(dú)熱操作
          4.特征并行,數(shù)據(jù)并行
          5.GOSS:?jiǎn)芜叢蓸樱罕A舸筇荻葮颖荆S機(jī)采樣小梯度樣本
          6EFB:歸并很少出現(xiàn)的特征為同一類

          Stacking和Blending

          LDA、PCA與SVD

          線性判別分析 Linear Discriminate Analysis(監(jiān)督)
          PCA用于方陣矩陣分解
          SVD用于一般矩陣分解 - LDA(類別區(qū)分最大化方向投影)
          在標(biāo)簽監(jiān)督下,進(jìn)行類似PCA的主成分分析
          構(gòu)造類間的散布矩陣 SB 以及 類內(nèi)散布矩陣 SW - PCA(方差最大化方向投影) 構(gòu)建協(xié)方差矩陣 最大化投影方差:信號(hào)具有較大方差,讓數(shù)據(jù)在主軸方向投影方差最大 最小平方誤差:方差最大,即樣本點(diǎn)到直線距離最小(最小平方誤差)
          - SVD
          左右為正交矩陣:用于壓縮行、列 中間為對(duì)角陣:奇異值

          SVM

          為什么要轉(zhuǎn)化成對(duì)偶形式
          方便核函數(shù)的引入(轉(zhuǎn)化后為支持向量?jī)?nèi)積計(jì)算,核函數(shù)可以在低緯中計(jì)算高維的內(nèi)積),改變復(fù)雜度(求W變成求a(支持向量數(shù)量))
          SVM的超參:C和gamma,C正則系數(shù),gamma決定支持向量的數(shù)量
          SVM的核函數(shù)
          有效性:核函數(shù)矩陣KK是對(duì)稱半正定矩陣
          常見(jiàn)核函數(shù):線性核函數(shù),多項(xiàng)式核函數(shù),高斯核函數(shù),指數(shù)核函數(shù)
          區(qū)別:線性簡(jiǎn)單,可解釋性強(qiáng),只用于線性可分問(wèn)題。多項(xiàng)式可解決非線性,參數(shù)太多。高斯只需要一個(gè)參數(shù),計(jì)算慢,容易過(guò)擬合。
          選擇方式
          特征維數(shù)高選擇線性核
          樣本數(shù)量可觀、特征少選擇高斯核(非線性核)
          樣本數(shù)量非常多選擇線性核(避免造成龐大的計(jì)算量)

          EM

          用于含有隱變量的概率模型參數(shù)的極大似然估計(jì)

          推薦閱讀


          添加極市小助手微信(ID : cvmart2),備注:姓名-學(xué)校/公司-內(nèi)推-城市(如:小極-北大-內(nèi)推-深圳),即可申請(qǐng)加入極市CV崗招聘內(nèi)推群等技術(shù)交流群:每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與?10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺(jué)開(kāi)發(fā)者互動(dòng)交流~

          △長(zhǎng)按添加極市小助手

          △長(zhǎng)按關(guān)注極市平臺(tái),獲取最新CV干貨

          覺(jué)得有用麻煩給個(gè)在看啦~??
          瀏覽 204
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产香蕉一区二区三区 | 影音先锋久久久久AV综合网成人 | 在线观看的黄色小视频 | 在线精品播放 | 伊人影院在线观看视频 |