機器學(xué)習(xí)深度學(xué)習(xí)面試題總結(jié)

簡書公式支持不太好,歡迎跳轉(zhuǎn)到機器學(xué)習(xí)深度學(xué)習(xí)面試題總結(jié)GitHub看完整的總結(jié)令花,GitHub總結(jié)比較全,大多數(shù)是參考網(wǎng)上比較好的面試經(jīng)驗和文章翔烁,計劃持續(xù)更新中。喜歡的可以 Star 或者 Fork棱烂。

一租漂、機器學(xué)習(xí)

機器學(xué)習(xí)算法地圖.png

1. 方差與偏差

  • 偏差方差分別是用于衡量一個模型泛化誤差的兩個方面;

    • 模型的偏差,指的是模型預(yù)測的期望值真實值之間的差哩治;
    • 模型的方差秃踩,指的是模型預(yù)測的期望值預(yù)測值之間的差平方和;
  • 監(jiān)督學(xué)習(xí)中业筏,模型的泛化誤差分解為偏差憔杨、方差與噪聲之和。

    <div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?Err(x)&space;=&space;Bias^2&space;+&space;Variance&space;+&space;Noise" title="Err(x) = Bias^2 + Variance + Noise" /></a></div>

  • 偏差用于描述模型的擬合能力
    方差用于描述模型的穩(wěn)定性

<img src="_asset/Bias_Variance.png">

  • 偏差:Bias反映的是模型在樣本上的輸出與真實值之間的誤差蒜胖,即模型本身的精準(zhǔn)度消别,即算法本身的擬合能力
  • 方差:Variance反映的是模型每一次輸出結(jié)果與模型輸出期望之間的誤差,即模型的穩(wěn)定性台谢。反應(yīng)預(yù)測的波動情況寻狂。
  • 誤差:Err(x) 也叫泛化誤差
  • 欠擬合會出現(xiàn)高偏差問題
  • 過擬合會出現(xiàn)高方差問題

1.1 導(dǎo)致偏差和方差的原因

  • 偏差通常是由于我們對學(xué)習(xí)算法做了錯誤的假設(shè),或者模型的復(fù)雜度不夠朋沮;
    • 比如真實模型是一個二次函數(shù)蛇券,而我們假設(shè)模型為一次函數(shù),這就會導(dǎo)致偏差的增大(欠擬合)樊拓;
    • 由偏差引起的誤差通常在訓(xùn)練誤差上就能體現(xiàn)纠亚,或者說訓(xùn)練誤差主要是由偏差造成的
  • 方差通常是由于模型的復(fù)雜度相對于訓(xùn)練集過高導(dǎo)致的;
    • 比如真實模型是一個簡單的二次函數(shù)筋夏,而我們假設(shè)模型是一個高次函數(shù)蒂胞,這就會導(dǎo)致方差的增大(過擬合);
    • 由方差引起的誤差通常體現(xiàn)在測試誤差相對訓(xùn)練誤差的增量上条篷。

1.2 深度學(xué)習(xí)中的偏差與方差

  • 神經(jīng)網(wǎng)絡(luò)的擬合能力非常強骗随,因此它的訓(xùn)練誤差(偏差)通常較小拥娄;
  • 但是過強的擬合能力會導(dǎo)致較大的方差蚊锹,使模型的測試誤差(泛化誤差)增大;
  • 因此深度學(xué)習(xí)的核心工作之一就是研究如何降低模型的泛化誤差稚瘾,這類方法統(tǒng)稱為正則化方法

1.3 偏差與方差的計算公式

  • 記在訓(xùn)練集 D 上學(xué)得的模型為

    <div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?f(x;D)" title="f(x;D)" /></a></div>

    模型的期望預(yù)測

    <div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=\hat&space;f(x)&space;=&space;\Bbb&space;E_{D}[f(x;&space;D)]" target="blank"><img src="https://latex.codecogs.com/gif.latex?\hat&space;f(x)&space;=&space;\Bbb&space;E{D}[f(x;&space;D)]" title="\hat f(x) = \Bbb E_{D}[f(x; D)]" /></a></div>

  • 偏差(Bias)

    <div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=bias2(x)&space;=&space;(\hat&space;f(x)&space;-&space;y)2" target="_blank"><img src="https://latex.codecogs.com/gif.latex?bias2(x)&space;=&space;(\hat&space;f(x)&space;-&space;y)2" title="bias^2(x) = (\hat f(x) - y)^2" /></a></div>

    偏差度量了學(xué)習(xí)算法的期望預(yù)測與真實結(jié)果的偏離程度姚炕,即刻畫了學(xué)習(xí)算法本身的擬合能力摊欠;

  • 方差(Variance)

    <div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=var(x)&space;=&space;\Bbb&space;E_{D}[(f(x;&space;D)&space;-&space;\hat&space;f(x))^2]" target="blank"><img src="https://latex.codecogs.com/gif.latex?var(x)&space;=&space;\Bbb&space;E{D}[(f(x;&space;D)&space;-&space;\hat&space;f(x))^2]" title="var(x) = \Bbb E_{D}[(f(x; D) - \hat f(x))^2]" /></a></div>

    方差度量了同樣大小的訓(xùn)練集的變動所導(dǎo)致的學(xué)習(xí)性能的變化,即刻畫了數(shù)據(jù)擾動所造成的影響(模型的穩(wěn)定性)柱宦;

  • 噪聲則表達了在當(dāng)前任務(wù)上任何學(xué)習(xí)算法所能達到的期望泛化誤差的下界些椒,即刻畫了學(xué)習(xí)問題本身的難度。

  • 偏差-方差分解”表明模型的泛化能力是由算法的能力掸刊、數(shù)據(jù)的充分性免糕、任務(wù)本身的難度共同決定的。

1.4 避免過擬合和欠擬合

避免欠擬合(刻畫不夠)

  • 尋找更好的特征-----具有代表性的
  • 用更多的特征-----增大輸入向量的維度

避免過擬合(刻畫太細,泛化太差)

  • 增大數(shù)據(jù)集合-----使用更多的數(shù)據(jù)石窑,噪聲點比重減少
  • 減少數(shù)據(jù)特征-----減小數(shù)據(jù)維度牌芋,高維空間密度小
  • 正則化方法-----即在對模型的目標(biāo)函數(shù)(objective function)或代價函數(shù)(cost function)加上正則項
  • 交叉驗證方法

1.5 偏差與方差的權(quán)衡(過擬合與模型復(fù)雜度的權(quán)衡)

  • 給定學(xué)習(xí)任務(wù),

    • 當(dāng)訓(xùn)練不足時松逊,模型的擬合能力不夠(數(shù)據(jù)的擾動不足以使模型產(chǎn)生顯著的變化)躺屁,此時偏差主導(dǎo)模型的泛化誤差;
    • 隨著訓(xùn)練的進行经宏,模型的擬合能力增強(模型能夠?qū)W習(xí)數(shù)據(jù)發(fā)生的擾動)犀暑,此時方差逐漸主導(dǎo)模型的泛化誤差;
    • 當(dāng)訓(xùn)練充足后烁兰,模型的擬合能力過強(數(shù)據(jù)的輕微擾動都會導(dǎo)致模型產(chǎn)生顯著的變化)耐亏,此時即發(fā)生過擬合(訓(xùn)練數(shù)據(jù)自身的、非全局的特征也被模型學(xué)習(xí)了)
  • 偏差和方差的關(guān)系和模型容量(模型復(fù)雜度)沪斟、欠擬合過擬合的概念緊密相聯(lián)

    <img src="_asset/Bias_Variance_1.png">

    • 當(dāng)模型的容量增大(x 軸)時广辰, 偏差(用點表示)隨之減小,而方差(虛線)隨之增大
    • 沿著 x 軸存在最佳容量币喧,小于最佳容量會呈現(xiàn)欠擬合轨域,大于最佳容量會導(dǎo)致過擬合

    《深度學(xué)習(xí)》 5.4.4 權(quán)衡偏差和方差以最小化均方誤差

2. 生成模型與判別模型

  • 監(jiān)督學(xué)習(xí)的任務(wù)是學(xué)習(xí)一個模型杀餐,對給定的輸入預(yù)測相應(yīng)的輸出

  • 這個模型的一般形式為一個決策函數(shù)或一個條件概率分布(后驗概率):

    <div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?Y&space;=&space;f(X)&space;or&space;P(Y|X)" title="Y = f(X) or P(Y|X)" /></a></div>

    • 決策函數(shù):輸入 X 返回 Y干发;其中 Y 與一個閾值比較,然后根據(jù)比較結(jié)果判定 X 的類別
    • 條件概率分布:輸入 X 返回 X 屬于每個類別的概率史翘;將其中概率最大的作為 X 所屬的類別
  • 監(jiān)督學(xué)習(xí)模型可分為生成模型判別模型

    • 判別模型直接學(xué)習(xí)決策函數(shù)或者條件概率分布

      • 直觀來說枉长,判別模型學(xué)習(xí)的是類別之間的最優(yōu)分隔面,反映的是不同類數(shù)據(jù)之間的差異
    • 生成模型學(xué)習(xí)的是聯(lián)合概率分布P(X,Y)琼讽,然后根據(jù)條件概率公式計算P(Y|X)

      <div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?P(Y|X)&space;=&space;\frac{P(X,Y)}{P(X)}" title="P(Y|X) = \frac{P(X,Y)}{P(X)}" /></a></div>

兩者之間的聯(lián)系

  • 由生成模型可以得到判別模型必峰,但由判別模型得不到生成模型。

  • 當(dāng)存在“隱變量”時钻蹬,只能使用生成模型

    隱變量:當(dāng)我們找不到引起某一現(xiàn)象的原因時吼蚁,就把這個在起作用,但無法確定的因素问欠,叫“隱變量”

優(yōu)缺點

  • 判別模型
    • 優(yōu)點
      • 直接面對預(yù)測肝匆,往往學(xué)習(xí)的準(zhǔn)確率更高
      • 由于直接學(xué)習(xí) P(Y|X)f(X),可以對數(shù)據(jù)進行各種程度的抽象顺献,定義特征并使用特征旗国,以簡化學(xué)習(xí)過程
    • 缺點
      • 不能反映訓(xùn)練數(shù)據(jù)本身的特性
      • ...
  • 生成模型
    • 優(yōu)點
      • 可以還原出聯(lián)合概率分布 P(X,Y),判別方法不能
      • 學(xué)習(xí)收斂速度更快——即當(dāng)樣本容量增加時注整,學(xué)到的模型可以更快地收斂到真實模型
      • 當(dāng)存在“隱變量”時能曾,只能使用生成模型
    • 缺點
      • 學(xué)習(xí)和計算過程比較復(fù)雜

常見模型

  • 判別模型
    • K 近鄰度硝、感知機(神經(jīng)網(wǎng)絡(luò))、決策樹寿冕、邏輯斯蒂回歸蕊程、最大熵模型、SVM蚂斤、提升方法存捺、條件隨機場
  • 生成模型
    • 樸素貝葉斯、隱馬爾可夫模型曙蒸、混合高斯模型捌治、貝葉斯網(wǎng)絡(luò)、馬爾可夫隨機場

3. 先驗概率與后驗概率

先驗概率纽窟,后驗概率肖油,似然概率,條件概率臂港,貝葉斯森枪,最大似然 - CSDN博客

條件概率(似然概率)

  • 一個事件發(fā)生后另一個事件發(fā)生的概率。
  • 一般的形式為 P(X|Y)审孽,表示 y 發(fā)生的條件下 x 發(fā)生的概率县袱。
  • 有時為了區(qū)分一般意義上的條件概率,也稱似然概率

先驗概率

  • 事件發(fā)生前的預(yù)判概率
  • 可以是基于歷史數(shù)據(jù)的統(tǒng)計佑力,可以由背景常識得出式散,也可以是人的主觀觀點給出。
  • 一般都是單獨事件發(fā)生的概率打颤,如 P(A)暴拄、P(B)

后驗概率

  • 基于先驗概率求得的反向條件概率编饺,形式上與條件概率相同(若 P(X|Y) 為正向乖篷,則 P(Y|X) 為反向)

貝葉斯公式

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=P(Y|X)&space;=&space;\frac{P(X|Y)&space;&space;P(Y)}{P(X)}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?P(Y|X)&space;=&space;\frac{P(X|Y)&space;&space;P(Y)}{P(X)}" title="P(Y|X) = \frac{P(X|Y) * P(Y)}{P(X)}" /></a></div>

最大似然理論:

認為P(x|y)最大的類別y,就是當(dāng)前文檔所屬類別透且。即Max P(x|y) = Max p(x1|y)*p(x2|y)*...p(xn|y), for all y

貝葉斯理論:

認為需要增加先驗概率p(y)撕蔼,因為有可能某個y是很稀有的類別幾千年才看見一次,即使P(x|y)很高秽誊,也很可能不是它罕邀。

所以y = Max P(x|y) * P(y),其中p(y)一般是數(shù)據(jù)集里統(tǒng)計出來的。

4. 超參數(shù)選擇

超參數(shù)的選擇與交叉驗證 - CSDN博客

十养距、如何選擇神經(jīng)網(wǎng)絡(luò)的超參數(shù) - CSDN博客

Grid Search

  • 網(wǎng)格搜索
  • 在高維空間中對一定區(qū)域進行遍歷

Random Search

  • 在高維空間中隨機選擇若干超參數(shù)

4.1 超參數(shù)有哪些

與超參數(shù)對應(yīng)的是參數(shù)。參數(shù)是可以在模型中通過BP(反向傳播)進行更新學(xué)習(xí)的參數(shù)日熬,例如各種權(quán)值矩陣棍厌,偏移量等等。超參數(shù)是需要進行程序員自己選擇的參數(shù),無法學(xué)習(xí)獲得耘纱。

常見的超參數(shù)有模型(SVM敬肚,Softmax,Multi-layer Neural Network,…)束析,迭代算法(Adam,SGD,…)艳馒,學(xué)習(xí)率(learning rate)(不同的迭代算法還有各種不同的超參數(shù),如beta1,beta2等等员寇,但常見的做法是使用默認值弄慰,不進行調(diào)參),正則化方程的選擇(L0,L1,L2),正則化系數(shù)蝶锋,dropout的概率等等陆爽。

4.2 確定調(diào)節(jié)范圍

超參數(shù)的種類多,調(diào)節(jié)范圍大扳缕,需要先進行簡單的測試確定調(diào)參范圍慌闭。

4.2.1 模型

模型的選擇很大程度上取決于具體的實際問題,但必須通過幾項基本測試躯舔。

首先驴剔,模型必須可以正常運行,即代碼編寫正確粥庄∩ナВ可以通過第一個epoch的loss估計,即估算第一個epoch的loss飒赃,并與實際結(jié)果比較利花。注意此過程需要設(shè)置正則項系數(shù)為0,因為正則項引入的loss難以估算载佳。

其次炒事,模型必須可以對于小數(shù)據(jù)集過擬合,即得到loss接近于0蔫慧,accuracy接近于1的模型挠乳。否則應(yīng)該嘗試其他或者更復(fù)雜的模型。

最后姑躲,如果 val_acc 與 acc 相差很小睡扬,可能是因為模型復(fù)雜度不夠,需要嘗試更為復(fù)雜的模型黍析。

4.2.2 學(xué)習(xí)率

  • loss 基本不變:學(xué)習(xí)率過低

  • loss 震動明顯或者溢出:學(xué)習(xí)率過高

根據(jù)以上兩條原則卖怜,可以得到學(xué)習(xí)率的大致范圍。

4.2.3 正則項系數(shù)

  • val_acc 與 acc 相差較大:正則項系數(shù)過小
  • loss 逐漸增大:正則項系數(shù)過大

根據(jù)以上兩條原則阐枣,可以得到正則項系數(shù)的大致范圍马靠。

4.3 交叉驗證

對于訓(xùn)練集再次進行切分奄抽,得到訓(xùn)練集以及驗證集。通過訓(xùn)練集訓(xùn)練得到的模型甩鳄,在驗證集驗證逞度,從而確定超參數(shù)。(選取在驗證集結(jié)果最好的超參數(shù))

交叉驗證的具體實例詳見CS231n作業(yè)筆記1.7:基于特征的圖像分類之調(diào)參和CS231n作業(yè)筆記1.2: KNN的交叉驗證妙啃。

4.3.1 先粗調(diào)档泽,再細調(diào)

先通過數(shù)量少,間距大的粗調(diào)確定細調(diào)的大致范圍揖赴。然后在小范圍內(nèi)部進行間距小馆匿,數(shù)量大的細調(diào)。

4.3.2 嘗試在對數(shù)空間內(nèi)進行調(diào)節(jié)

即在對數(shù)空間內(nèi)部隨機生成測試參數(shù)储笑,而不是在原空間生成甜熔,通常用于學(xué)習(xí)率以及正則項系數(shù)等的調(diào)節(jié)。出發(fā)點是該超參數(shù)的指數(shù)項對于模型的結(jié)果影響更顯著突倍;而同階的數(shù)據(jù)之間即便原域相差較大腔稀,對于模型結(jié)果的影響反而不如不同階的數(shù)據(jù)差距大。

4.3.3. 隨機搜索參數(shù)值羽历,而不是格點搜索

<img src="_asset/RandomSearchVSGridSearch.png">

通過隨機搜索焊虏,可以更好的發(fā)現(xiàn)趨勢。圖中所示的是通過隨機搜索可以發(fā)現(xiàn)數(shù)據(jù)在某一維上的變化更加明顯秕磷,得到明顯的趨勢诵闭。

4.4 神經(jīng)網(wǎng)路中的超參數(shù)

  1. 學(xué)習(xí)率 η
  2. 正則化參數(shù) λ
  3. 神經(jīng)網(wǎng)絡(luò)的層數(shù) L
  4. 每一個隱層中神經(jīng)元的個數(shù) j
  5. 學(xué)習(xí)的回合數(shù) Epoch
  6. 小批量數(shù)據(jù) minibatch 的大小
  7. 輸出神經(jīng)元的編碼方式
  8. 代價函數(shù)的選擇
  9. 權(quán)重初始化的方法
  10. 神經(jīng)元激活函數(shù)的種類
  11. 參加訓(xùn)練模型數(shù)據(jù)的規(guī)模

5. 余弦相似度(Cos距離)與歐氏距離的區(qū)別和聯(lián)系

歐氏距離和余弦相似度的區(qū)別是什么? - 知乎

  • 歐式距離和余弦相似度都能度量 2 個向量之間的相似度
  • 放到向量空間中看澎嚣,歐式距離衡量兩點之間的直線距離疏尿,而余弦相似度計算的是兩個向量之間的夾角
  • 沒有歸一化時,歐式距離的范圍是 (0, +∞]易桃,而余弦相似度的范圍是(0, 1]褥琐;余弦距離是計算相似程度,而歐氏距離計算的是相同程度(對應(yīng)值的相同程度)
  • 歸一化的情況下晤郑,可以將空間想象成一個超球面(三維)敌呈,歐氏距離就是球面上兩點的直線距離,而向量余弦值等價于兩點的球面距離造寝,本質(zhì)是一樣磕洪。

6. 混淆矩陣、模型度量指標(biāo):準(zhǔn)確率诫龙、精確率析显、召回率、F1 值签赃、ROC叫榕、AUC等

機器學(xué)習(xí)之分類性能度量指標(biāo) : ROC曲線浑侥、AUC值、正確率晰绎、召回率 - 簡書

分類 (Classification):ROC 和曲線下面積

<img src="_asset/機器學(xué)習(xí)性能評估指標(biāo).png">

6.1 分類評價指標(biāo)

混淆矩陣

  • True Positive(TP):將正類預(yù)測為正類的數(shù)量.
  • True Negative(TN):將負類預(yù)測為負類的數(shù)量.
  • False Positive(FP):將負類預(yù)測為正類數(shù) → 誤報 (Type I error).
  • False Negative(FN):將正類預(yù)測為負類數(shù) → 漏報 (Type II error).

<img src="_asset/混肴矩陣.png">

準(zhǔn)確率(accuracy)

<div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?ACC&space;=&space;\frac{TP&space;+&space;TN}{TP&space;+&space;TN&space;+&space;FP&space;+&space;FN}" title="ACC = \frac{TP + TN}{TP + TN + FP + FN}" /></a></div>

精確率(precision)【查準(zhǔn)率】

<div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?P&space;=&space;\frac{TP}{TP&space;+&space;FP}" title="P = \frac{TP}{TP + FP}" /></a></div>

準(zhǔn)確率與精確率的區(qū)別:

在正負樣本不平衡的情況下,準(zhǔn)確率這個評價指標(biāo)有很大的缺陷括丁。比如在互聯(lián)網(wǎng)廣告里面荞下,點擊的數(shù)量是很少的,一般只有千分之幾史飞,如果用acc尖昏,即使全部預(yù)測成負類(不點擊)acc 也有 99% 以上,沒有意義构资。

召回率(recall, sensitivity, true positive rate)【查全率】

<div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?R&space;=&space;\frac{TP}{TP&space;+&space;FN}" title="R = \frac{TP}{TP + FN}" /></a></div>

F1值——精確率和召回率的調(diào)和均值

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=\frac{2}{F_{1}}&space;=&space;\frac{1}{P}&space;+&space;\frac{1}{R}" target="blank"><img src="https://latex.codecogs.com/gif.latex?\frac{2}{F{1}}&space;=&space;\frac{1}{P}&space;+&space;\frac{1}{R}" title="\frac{2}{F_{1}} = \frac{1}{P} + \frac{1}{R}" /></a></div>

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=F_{1}&space;=&space;\frac{2TP}{2TP&space;+&space;FP&space;+&space;FN}" target="blank"><img src="https://latex.codecogs.com/gif.latex?F{1}&space;=&space;\frac{2TP}{2TP&space;+&space;FP&space;+&space;FN}" title="F_{1} = \frac{2TP}{2TP + FP + FN}" /></a></div>

只有當(dāng)精確率和召回率都很高時抽诉,F(xiàn)1值才會高

ROC

ROC曲線:接收者操作特征曲線(receiver operating characteristic curve),是反映敏感性和特異性連續(xù)變量的綜合指標(biāo)吐绵,roc曲線上每個點反映著對同一信號刺激的感受性迹淌。

對于分類器,或者說分類算法己单,評價指標(biāo)主要有precision唉窃,recall,F(xiàn)-score等纹笼,以及這里要討論的ROC和AUC纹份。下圖是一個ROC曲線的示例:

<img src="_asset/ROC.png">

  • 橫坐標(biāo):1-Specificity,偽正類率(False positive rate廷痘, FPR)蔓涧,預(yù)測為正但實際為負的樣本占所有負例樣本的比例;

  • 縱坐標(biāo):Sensitivity笋额,真正類率(True positive rate元暴, TPR),預(yù)測為正且實際為正的樣本占所有正例樣本的比例鳞陨。

在一個二分類模型中昨寞,假設(shè)采用邏輯回歸分類器,其給出針對每個實例為正類的概率厦滤,那么通過設(shè)定一個閾值如0.6援岩,概率大于等于0.6的為正類,小于0.6的為負類掏导。對應(yīng)的就可以算出一組(FPR,TPR)享怀,在平面中得到對應(yīng)坐標(biāo)點。隨著閾值的逐漸減小趟咆,越來越多的實例被劃分為正類添瓷,但是這些正類中同樣也摻雜著真正的負實例梅屉,即TPR和FPR會同時增大。閾值最大時鳞贷,對應(yīng)坐標(biāo)點為(0,0)坯汤,閾值最小時,對應(yīng)坐標(biāo)點(1,1)搀愧。

如下面這幅圖惰聂,(a)圖中實線為ROC曲線,線上每個點對應(yīng)一個閾值咱筛。

<img src="_asset/ROC曲線和它相關(guān)的比率.png">

(a) 理想情況下搓幌,TPR應(yīng)該接近1,F(xiàn)PR應(yīng)該接近0迅箩。ROC曲線上的每一個點對應(yīng)于一個threshold溉愁,對于一個分類器,每個threshold下會有一個TPR和FPR饲趋。比如Threshold最大時拐揭,TP=FP=0,對應(yīng)于原點篙贸;Threshold最小時投队,TN=FN=1,對應(yīng)于右上角的點(1,1)爵川。
(b) P和N得分不作為特征間距離d的一個函數(shù)敷鸦,隨著閾值theta增加,TP和FP都增加寝贡。

  • 橫軸FPR:1-TNR扒披,1-Specificity,F(xiàn)PR越大圃泡,預(yù)測正類中實際負類越多碟案。
  • 縱軸TPR:Sensitivity(正類覆蓋率),TPR越大颇蜡,預(yù)測正類中實際正類越多价说。
  • 理想目標(biāo):TPR=1,F(xiàn)PR=0风秤,即圖中(0,1)點鳖目,故ROC曲線越靠攏(0,1)點,越偏離45度對角線越好缤弦,Sensitivity领迈、Specificity越大效果越好。

<img src="_asset/ROC坐標(biāo)系里的店如何移動.png">

AUC

AUC (Area Under Curve) 被定義為ROC曲線下的面積,顯然這個面積的數(shù)值不會大于1狸捅。又由于ROC曲線一般都處于 y=x 這條直線的上方衷蜓,所以AUC的取值范圍一般在0.5和1之間

使用AUC值作為評價標(biāo)準(zhǔn)是因為很多時候ROC曲線并不能清晰的說明哪個分類器的效果更好尘喝,而作為一個數(shù)值磁浇,對應(yīng)AUC更大的分類器效果更好。

AUC的計算有兩種方式瞧省,梯形法ROC AUCH法扯夭,都是以逼近法求近似值,具體見wikipedia鞍匾。

AUC意味著什么

那么AUC值的含義是什么呢?根據(jù)(Fawcett, 2006)骑科,AUC的值的含義是:

The AUC value is equivalent to the probability that a randomly chosen positive example is ranked higher than a randomly chosen negative example.

這句話有些繞橡淑,我嘗試解釋一下:首先AUC值是一個概率值,當(dāng)你隨機挑選一個正樣本以及一個負樣本咆爽,當(dāng)前的分類算法根據(jù)計算得到的Score值將這個正樣本排在負樣本前面的概率就是AUC值梁棠。當(dāng)然,AUC值越大斗埂,當(dāng)前的分類算法越有可能將正樣本排在負樣本前面符糊,即能夠更好的分類

從AUC判斷分類器(預(yù)測模型)優(yōu)劣的標(biāo)準(zhǔn):

  • AUC = 1呛凶,是完美分類器男娄,采用這個預(yù)測模型時,存在至少一個閾值能得出完美預(yù)測漾稀。絕大多數(shù)預(yù)測的場合模闲,不存在完美分類器。
  • 0.5 < AUC < 1崭捍,優(yōu)于隨機猜測尸折。這個分類器(模型)妥善設(shè)定閾值的話,能有預(yù)測價值殷蛇。
  • AUC = 0.5实夹,跟隨機猜測一樣(例:丟銅板),模型沒有預(yù)測價值粒梦。
  • AUC < 0.5亮航,比隨機猜測還差;但只要總是反預(yù)測而行谍倦,就優(yōu)于隨機猜測制市。

三種AUC值示例:

<img src="_asset/AUC.png">

簡單說:AUC值越大的分類器领追,正確率越高撕攒。

為什么使用ROC曲線

既然已經(jīng)這么多評價標(biāo)準(zhǔn)姨夹,為什么還要使用ROC和AUC呢?

因為ROC曲線有個很好的特性:當(dāng)測試集中的正負樣本的分布變化的時候泪掀,ROC曲線能夠保持不變。在實際的數(shù)據(jù)集中經(jīng)常會出現(xiàn)類不平衡(class imbalance)現(xiàn)象,即負樣本比正樣本多很多(或者相反)沦辙,而且測試數(shù)據(jù)中的正負樣本的分布也可能隨著時間變化。

6.2 回歸評價指標(biāo)

機器學(xué)習(xí)評估指標(biāo) - 知乎

機器學(xué)習(xí)-淺談模型評估的方法和指標(biāo) - 簡書

MAE(平均絕對誤差)

平均絕對誤差MAE(Mean Absolute Error)又被稱為 L1范數(shù)損失讹剔。(n = m -1)

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=MAE(y,\hat{y})&space;=&space;\frac{1}{m}\sum_{i=1}^{n}|y_i&space;-&space;\hat{y_i}|" target="blank"><img src="https://latex.codecogs.com/gif.latex?MAE(y,\hat{y})&space;=&space;\frac{1}{m}\sum{i=1}^{n}|y_i&space;-&space;\hat{y_i}|" title="MAE(y,\hat{y}) = \frac{1}{m}\sum_{i=1}^{n}|y_i - \hat{y_i}|" /></a></div>

MAE有哪些不足油讯?

  • MAE雖能較好衡量回歸模型的好壞,但是絕對值的存在導(dǎo)致函數(shù)不光滑延欠,在某些點上不能求導(dǎo)陌兑,可以考慮將絕對值改為殘差的平方,這就是均方誤差由捎。

MSE(均方誤差)

均方誤差MSE(Mean Squared Error)又被稱為 **L2范數(shù)損失 **兔综。

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=MSE(y,\hat{y})&space;=&space;\frac{1}{m}\sum_{i=1}{m}(y_i&space;-&space;\hat{y_i})2" target="blank"><img src="https://latex.codecogs.com/gif.latex?MSE(y,\hat{y})&space;=&space;\frac{1}{m}\sum{i=1}{m}(y_i&space;-&space;\hat{y_i})2" title="MSE(y,\hat{y}) = \frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2" /></a></div>

還有沒有比MSE更合理一些的指標(biāo)?

  • 由于MSE與我們的目標(biāo)變量的量綱不一致狞玛,**為了保證量綱一致性软驰,我們需要對MSE進行開方 **。

RMSE(均方根誤差)

<div align="center"><a href="https://www.codecogs.com/eqnedit.php?latex=RMSE(y,\hat{y})&space;=&space;\sqrt{\frac{1}{m}\sum_{i=1}{m}(y_i&space;-&space;\hat{y_i})2}" target="blank"><img src="https://latex.codecogs.com/gif.latex?RMSE(y,\hat{y})&space;=&space;\sqrt{\frac{1}{m}\sum{i=1}{m}(y_i&space;-&space;\hat{y_i})2}" title="RMSE(y,\hat{y}) = \sqrt{\frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y_i})^2}" /></a></div>

RMSE有沒有不足的地方心肪?有沒有規(guī)范化(無量綱化的指標(biāo))锭亏?

  • 上面的幾種衡量標(biāo)準(zhǔn)的取值大小與具體的應(yīng)用場景有關(guān)系,很難定義統(tǒng)一的規(guī)則來衡量模型的好壞硬鞍。比如說利用機器學(xué)習(xí)算法預(yù)測上海的房價RMSE在2000元慧瘤,我們是可以接受的,但是當(dāng)四五線城市的房價RMSE為2000元膳凝,我們還可以接受嗎碑隆?下面介紹的決定系數(shù)就是一個無量綱化的指標(biāo)

R^2(決定系數(shù))

變量之所以有價值蹬音,就是因為變量是變化的上煤。什么意思呢?比如說一組因變量為[0, 0, 0, 0, 0]著淆,顯然該因變量的結(jié)果是一個常數(shù)0劫狠,我們也沒有必要建模對該因變量進行預(yù)測。假如一組的因變量為[1, 3, 7, 10, 12]永部,該因變量是變化的独泞,也就是有變異,因此需要通過建立回歸模型進行預(yù)測苔埋。這里的變異可以理解為一組數(shù)據(jù)的方差不為0懦砂。

決定系數(shù)又稱為R^2 score,反映因變量的全部變異能通過回歸關(guān)系被自變量解釋的比例。

<img src="_asset/R2.png">

  • 如果結(jié)果是0荞膘,就說明模型預(yù)測不能預(yù)測因變量罚随。

  • 如果結(jié)果是1。就說明是函數(shù)關(guān)系羽资。

  • 如果結(jié)果是0-1之間的數(shù)淘菩,就是我們模型的好壞程度。

化簡上面的公式 ,分子就變成了我們的均方誤差MSE屠升,下面分母就變成了方差:

<img src="_asset/R2_1.png">

以上評估指標(biāo)有沒有缺陷潮改,如果有,該怎樣改進腹暖?

以上的評估指標(biāo)是基于誤差的均值對進行評估的汇在,均值對異常點(outliers)較敏感,如果樣本中有一些異常值出現(xiàn)脏答,會對以上指標(biāo)的值有較大影響趾疚,即均值是非魯棒的

6.3 解決評估指標(biāo)魯棒性問題

我們通常用以下兩種方法解決評估指標(biāo)的魯棒性問題:

  • 剔除異常值
  • 設(shè)定一個相對誤差 以蕴,當(dāng)該值超過一定的閾值時,則認為其是一個異常點辛孵,剔除這個異常點丛肮,將異常點剔除之 后。再計算平均誤差來對模型進行評價魄缚。
  • 使用誤差的分位數(shù)來代替
  • 如利用中位數(shù)來代替平均數(shù)宝与。例如 MAPE:

<div align="center"><a target="_blank"><img src="https://latex.codecogs.com/gif.latex?MAPE&space;=&space;median(|y_i&space;-&space;\hat{y_i}|&space;/&space;y_i)" title="MAPE = median(|y_i - \hat{y_i}| / y_i)" /></a></div>

MAPE是一個相對誤差的中位數(shù),當(dāng)然也可以使用別的分位數(shù)冶匹。

7. 如何處理數(shù)據(jù)中的缺失值

可以分為以下 2 種情況:

  1. 缺失值較多

    • 直接舍棄該列特征习劫,否則可能會帶來較大的噪聲,從而對結(jié)果造成不良影響嚼隘。
  2. 缺失值較少

    • 當(dāng)缺失值較少(<10%)時诽里,可以考慮對缺失值進行填充,以下是幾種常用的填充策略:
    1. 用一個異常值填充(比如 0)飞蛹,將缺失值作為一個特征處理

      data.fillna(0)

    2. 均值|條件均值填充

      如果數(shù)據(jù)是不平衡的谤狡,那么應(yīng)該使用條件均值填充

      所謂條件均值,指的是與缺失值所屬標(biāo)簽相同的所有數(shù)據(jù)的均值

      data.fillna(data.mean())

    3. 用相鄰數(shù)據(jù)填充

      # 用前一個數(shù)據(jù)填充
      data.fillna(method='pad')
      # 用后一個數(shù)據(jù)填充
      data.fillna(method='bfill') 
      
    4. 插值

      data.interpolate()

    5. 擬合

      簡單來說卧檐,就是將缺失值也作為一個預(yù)測問題來處理:將數(shù)據(jù)分為正常數(shù)據(jù)和缺失數(shù)據(jù)墓懂,對有值的數(shù)據(jù)采用隨機森林等方法擬合,然后對有缺失值的數(shù)據(jù)進行預(yù)測霉囚,用預(yù)測的值來填充捕仔。

8. 介紹一個完整的機器學(xué)習(xí)項目流程

  1. 數(shù)學(xué)抽象

    明確問題是進行機器學(xué)習(xí)的第一步。機器學(xué)習(xí)的訓(xùn)練過程通常都是一件非常耗時的事情,胡亂嘗試時間成本是非常高的榜跌。

    這里的抽象成數(shù)學(xué)問題闪唆,指的是根據(jù)數(shù)據(jù)明確任務(wù)目標(biāo),是分類斜做、還是回歸苞氮,或者是聚類。

  2. 數(shù)據(jù)獲取

    數(shù)據(jù)決定了機器學(xué)習(xí)結(jié)果的上限瓤逼,而算法只是盡可能逼近這個上限笼吟。

    數(shù)據(jù)要有代表性,否則必然會過擬合霸旗。

    對于分類問題贷帮,數(shù)據(jù)偏斜不能過于嚴重(平衡),不同類別的數(shù)據(jù)數(shù)量不要有數(shù)個數(shù)量級的差距诱告。

    對數(shù)據(jù)的量級要有一個評估撵枢,多少個樣本,多少個特征精居,據(jù)此估算出內(nèi)存需求锄禽。如果放不下就得考慮改進算法或者使用一些降維技巧,或者采用分布式計算靴姿。

  3. 預(yù)處理與特征選擇

    良好的數(shù)據(jù)要能夠提取出良好的特征才能真正發(fā)揮效力沃但。

    預(yù)處理/數(shù)據(jù)清洗是很關(guān)鍵的步驟,往往能夠使得算法的效果和性能得到顯著提高佛吓。歸一化宵晚、離散化、因子化维雇、缺失值處理淤刃、去除共線性等,數(shù)據(jù)挖掘過程中很多時間就花在它們上面吱型。這些工作簡單可復(fù)制逸贾,收益穩(wěn)定可預(yù)期,是機器學(xué)習(xí)的基礎(chǔ)必備步驟唁影。

    篩選出顯著特征耕陷、摒棄非顯著特征,需要機器學(xué)習(xí)工程師反復(fù)理解業(yè)務(wù)据沈。這對很多結(jié)果有決定性的影響哟沫。特征選擇好了,非常簡單的算法也能得出良好锌介、穩(wěn)定的結(jié)果嗜诀。這需要運用特征有效性分析的相關(guān)技術(shù)猾警,如相關(guān)系數(shù)、卡方檢驗隆敢、平均互信息发皿、條件熵、后驗概率拂蝎、邏輯回歸權(quán)重等方法穴墅。

  4. 模型訓(xùn)練與調(diào)優(yōu)

    直到這一步才用到我們上面說的算法進行訓(xùn)練。

    現(xiàn)在很多算法都能夠封裝成黑盒使用温自。但是真正考驗水平的是調(diào)整這些算法的(超)參數(shù)玄货,使得結(jié)果變得更加優(yōu)良。這需要我們對算法的原理有深入的理解悼泌。理解越深入松捉,就越能發(fā)現(xiàn)問題的癥結(jié),提出良好的調(diào)優(yōu)方案馆里。

  5. 模型診斷

    如何確定模型調(diào)優(yōu)的方向與思路呢隘世?這就需要對模型進行診斷的技術(shù)。

    過擬合鸠踪、欠擬合 判斷是模型診斷中至關(guān)重要的一步丙者。常見的方法如交叉驗證,繪制學(xué)習(xí)曲線等营密。過擬合的基本調(diào)優(yōu)思路是增加數(shù)據(jù)量蔓钟,降低模型復(fù)雜度。欠擬合的基本調(diào)優(yōu)思路是提高特征數(shù)量和質(zhì)量卵贱,增加模型復(fù)雜度。

    誤差分析也是機器學(xué)習(xí)至關(guān)重要的步驟侣集。通過觀察誤差樣本键俱,全面分析誤差產(chǎn)生誤差的原因:是參數(shù)的問題還是算法選擇的問題,是特征的問題還是數(shù)據(jù)本身的問題......

    診斷后的模型需要進行調(diào)優(yōu)世分,調(diào)優(yōu)后的新模型需要重新進行診斷编振,這是一個反復(fù)迭代不斷逼近的過程,需要不斷地嘗試臭埋, 進而達到最優(yōu)狀態(tài)踪央。

  6. 模型融合/集成

    一般來說,模型融合后都能使得效果有一定提升瓢阴。而且效果很好畅蹂。

    工程上,主要提升算法準(zhǔn)確度的方法是分別在模型的前端(特征清洗和預(yù)處理荣恐,不同的采樣模式)與后端(模型融合)上下功夫液斜。因為他們比較標(biāo)準(zhǔn)可復(fù)制累贤,效果比較穩(wěn)定。而直接調(diào)參的工作不會很多少漆,畢竟大量數(shù)據(jù)訓(xùn)練起來太慢了臼膏,而且效果難以保證。

  7. 上線運行

    這一部分內(nèi)容主要跟工程實現(xiàn)的相關(guān)性更大示损。工程上是結(jié)果導(dǎo)向渗磅,模型在線上運行的效果直接決定模型的成敗。不單純包括其準(zhǔn)確程度检访、誤差等情況始鱼,還包括其運行的速度(時間復(fù)雜度)、資源消耗程度(空間復(fù)雜度)烛谊、穩(wěn)定性是否可接受风响。

    這些工作流程主要是工程實踐上總結(jié)出的一些經(jīng)驗。并不是每個項目都包含完整的一個流程丹禀。這里的部分只是一個指導(dǎo)性的說明状勤,只有多實踐,多積累項目經(jīng)驗双泪,才會有自己更深刻的認識持搜。

9. 數(shù)據(jù)清洗與特征處理

數(shù)據(jù)清洗方法

機器學(xué)習(xí)中的數(shù)據(jù)清洗與特征處理綜述 - 美團技術(shù)團隊

【機器學(xué)習(xí)InAction系列】數(shù)據(jù)清洗與特征處理綜述 - 騰訊云

<img src="_asset/數(shù)據(jù)清洗與特征處理.jpg">

10. 關(guān)聯(lián)規(guī)則挖掘的 3 個度量指標(biāo):支持度、置信度焙矛、提升度

支持度(Support)

  • X → Y的支持度表示項集 {X,Y}在總項集中出現(xiàn)的概率

    <a target="_blank"><img src="https://latex.codecogs.com/gif.latex?Support(X&space;\rightarrow&space;Y)&space;=&space;\frac{P(X&space;\bigcup&space;Y)}{P(I)}&space;=&space;\frac{num(X&space;\bigcup&space;Y)}{num(I)}" title="Support(X \rightarrow Y) = \frac{P(X \bigcup Y)}{P(I)} = \frac{num(X \bigcup Y)}{num(I)}" /></a>

  • 其中葫盼,I 表示總事務(wù)集,num()表示事務(wù)集中特定項集出現(xiàn)的次數(shù)村斟,P(X)=num(X)/num(I)

置信度(Confidence)

  • X → Y的置信度表示在先決條件 X 發(fā)生的情況下贫导,由規(guī)則 X → Y 推出 Y 的概率。

    <a target="_blank"><img src="https://latex.codecogs.com/gif.latex?Confidence(X&space;\rightarrow&space;Y)&space;=&space;P(Y|X)&space;=&space;\frac{P(X&space;\cup&space;Y)}{P(X)}&space;=&space;\frac{num(X&space;\cup&space;Y)}{num(X)}" title="Confidence(X \rightarrow Y) = P(Y|X) = \frac{P(X \cup Y)}{P(X)} = \frac{num(X \cup Y)}{num(X)}" /></a>

提升度(Lift)

  • X → Y 的提升度表示含有 X 的條件下蟆盹,同時含有 Y 的概率孩灯,與 Y 總體發(fā)生的概率之比。

    <a href="https://www.codecogs.com/eqnedit.php?latex=\begin{align}&space;Lift(X&space;\rightarrow&space;Y)&space;&=&space;\frac{P(Y|X)}{P(Y)}&space;=&space;\frac{Confidence(X&space;\rightarrow&space;Y)}{num(Y)&space;/&space;num(I)}&space;\&space;&=&space;\frac{P(X&space;\cup&space;Y)}{P(X)P(Y)}&space;=&space;\frac{num(X&space;\cup&space;Y)num(I)}{num(X)num(Y)}&space;\end{align}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\begin{align}&space;Lift(X&space;\rightarrow&space;Y)&space;&=&space;\frac{P(Y|X)}{P(Y)}&space;=&space;\frac{Confidence(X&space;\rightarrow&space;Y)}{num(Y)&space;/&space;num(I)}&space;\&space;&=&space;\frac{P(X&space;\cup&space;Y)}{P(X)P(Y)}&space;=&space;\frac{num(X&space;\cup&space;Y)num(I)}{num(X)num(Y)}&space;\end{align}" title="\begin{align} Lift(X \rightarrow Y) &= \frac{P(Y|X)}{P(Y)} = \frac{Confidence(X \rightarrow Y)}{num(Y) / num(I)} \ &= \frac{P(X \cup Y)}{P(X)P(Y)} = \frac{num(X \cup Y)num(I)}{num(X)num(Y)} \end{align}" /></a>

10.1 規(guī)則的有效性:

  • 滿足最小支持度和最小置信度的規(guī)則逾滥,叫做“強關(guān)聯(lián)規(guī)則”

    最小支持度和最小置信度是人工設(shè)置的閾值

  • Lift(X→Y) > 1 的 X→Y 是有效的強關(guān)聯(lián)規(guī)則

  • Lift(X→Y) <=1 的 X→Y 是有效的強關(guān)聯(lián)規(guī)則

  • 特別地峰档,Lift(X→Y) = 1 時,X 與 Y 相互獨立寨昙。

10.2 判斷規(guī)則的有效性

問題:已知有1000名顧客買年貨讥巡,分為甲乙兩組,每組各500人舔哪,其中甲組有500人買了茶葉欢顷,同時又有450人買了咖啡;乙組有450人買了咖啡捉蚤,如表所示吱涉,請問“茶葉→咖啡”是一條有效的關(guān)聯(lián)規(guī)則嗎刹泄?

組次 買茶葉的人數(shù) 買咖啡的人數(shù)
甲組(500人) 500 450
乙組(500人) 0 450

答:

  • “茶葉→咖啡”的支持度:Support(X→Y) = 450 / 1000 = 45%
  • “茶葉→咖啡”的置信度:Confidence(X→Y) = 450 / 500 = 90%
  • “茶葉→咖啡”的提升度:Lift(X→Y) = 90% / 90% = 1

由于提升度 Lift(X→Y) = 1,表示 XY 相互獨立怎爵。也就是說特石,是否購買咖啡,與是否購買茶葉無關(guān)聯(lián)鳖链。規(guī)則“茶葉→咖啡”不成立姆蘸,或者說幾乎沒有關(guān)聯(lián),雖然它的置信度高達90%芙委,但它不是一條有效的關(guān)聯(lián)規(guī)則逞敷。

11. 信息熵、KL 散度(相對熵)與交叉熵

什么是熵灌侣?

  • 熵是為消除不確定性所需要獲得的信息量

《深度學(xué)習(xí)》 3.13 信息論

信息論的基本想法是一個不太可能的事件居然發(fā)生了推捐,要比一個非常可能的事件發(fā)生侧啼,能提供更多的信息牛柒。

該想法可描述為以下性質(zhì):

  1. 非常可能發(fā)生的事件信息量要比較少痊乾,并且極端情況下皮壁,確保能夠發(fā)生的事件應(yīng)該沒有信息量。
  2. 比較不可能發(fā)生的事件具有更高的信息量哪审。
  3. 獨立事件應(yīng)具有增量的信息蛾魄。例如,投擲的硬幣兩次正面朝上傳遞的信息量湿滓,應(yīng)該是投擲一次硬幣正面朝上的信息量的兩倍滴须。

11.1 自信息與信息熵

自信息(self-information)是一種量化以上性質(zhì)的函數(shù),定義一個事件 x 的自信息為:

<div align="center"><img src="http://latex.codecogs.com/gif.latex?I(x) = - \log P(x)" /></div>

當(dāng)該對數(shù)的底數(shù)為 e 時叽奥,單位為奈特(nats描馅,本書標(biāo)準(zhǔn));當(dāng)以 2 為底數(shù)時而线,單位為比特(bit)或香農(nóng)(shannons)

自信息只處理單個的輸出。此時恋日,用信息熵(Information-entropy)來對整個概率分布中的不確定性總量進行量化:

<div align="center"><img src="http://latex.codecogs.com/gif.latex?H(\mathrm{X}) = \mathbb{E}{\mathrm{X} \sim P}[I(x)] = - \sum{x \in \mathrm{X}}P(x) \log P(x)" /></div>

信息熵也稱香農(nóng)熵(Shannon entropy)

信息論中膀篮,記 0log0 = 0

11.2 相對熵(KL 散度)與交叉熵

P 對 Q 的 KL散度(Kullback-Leibler divergence):

<div align="center"><img src="http://latex.codecogs.com/gif.latex?D_P(Q) = \mathbb{E}{\mathrm{X} \sim P} \left[ \log \frac{P(x)}{Q(x)} \right] = \sum{x \in \mathrm{X}}P(x) \left[ \log P(x) - \log Q(x) \right]" /></div>

KL 散度在信息論中度量的是那個直觀量

在離散型變量的情況下, KL 散度衡量的是岂膳,當(dāng)我們使用一種被設(shè)計成能夠使得概率分布 Q 產(chǎn)生的消息的長度最小的編碼誓竿,發(fā)送包含由概率分布 P 產(chǎn)生的符號的消息時,所需要的額外信息量谈截。

KL 散度的性質(zhì)

  • 非負筷屡;KL 散度為 0 當(dāng)且僅當(dāng)P 和 Q 在離散型變量的情況下是相同的分布涧偷,或者在連續(xù)型變量的情況下是“幾乎處處”相同的
  • 不對稱;D_p(q) != D_q(p)

交叉熵(cross-entropy):

<div align="center"><img src="http://latex.codecogs.com/gif.latex?H_P(Q) = - \mathbb{E}{\mathrm{X} \sim P} \log Q(x) = - \sum{x \in \mathrm{X}}P(x) \log Q(x)" /></div>

信息量毙死,信息熵燎潮,交叉熵,KL散度和互信息(信息增益) - CSDN博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扼倘,一起剝皮案震驚了整個濱河市确封,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌再菊,老刑警劉巖爪喘,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纠拔,居然都是意外死亡秉剑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門稠诲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侦鹏,“玉大人,你說我怎么就攤上這事吕粹≈指蹋” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵匹耕,是天一觀的道長聚请。 經(jīng)常有香客問我,道長稳其,這世上最難降的妖魔是什么驶赏? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮既鞠,結(jié)果婚禮上煤傍,老公的妹妹穿的比我還像新娘。我一直安慰自己嘱蛋,他們只是感情好蚯姆,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著洒敏,像睡著了一般龄恋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凶伙,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天郭毕,我揣著相機與錄音,去河邊找鬼函荣。 笑死显押,一個胖子當(dāng)著我的面吹牛扳肛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乘碑,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挖息,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蝉仇?” 一聲冷哼從身側(cè)響起旋讹,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轿衔,沒想到半個月后沉迹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡害驹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年鞭呕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宛官。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡葫松,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出底洗,到底是詐尸還是另有隱情腋么,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布亥揖,位于F島的核電站珊擂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏费变。R本人自食惡果不足惜摧扇,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挚歧。 院中可真熱鬧扛稽,春花似錦、人聲如沸滑负。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽矮慕。三九已至帮匾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凡傅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工肠缔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夏跷,地道東北人哼转。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像槽华,于是被迫代替她去往敵國和親壹蔓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353