李宏毅深度學習筆記-分類模型


李宏毅深度學習筆記 https://datawhalechina.github.io/leeml-notes
李宏毅深度學習視頻 https://www.bilibili.com/video/BV1JE411g7XF

image-20200530144304634

假設有兩個類別,label為1和-1

如果用回歸的方式擬合模型,那么目標是1和-1

image-20200530144358665

把分類問題當成回歸問題擬合模型會有問題,由於回歸問題的損失函數一般都是均方損失

左圖綠色綠色是正確的分界線,但是如果有一些數據點離得比較遠,那么為了減小損失函數,分界線會變成紫色的那一條,對於分類問題來說,明顯是不正確的

image-20200530154741719

看二分類問題一個簡單的model,損失函數就是預測錯誤的次數,在\(f(x)\)中嵌入一個\(g(x)\)

\(g(x)>0\) 預測為類別1,否則就預測為類別2

這種損失函數無法微分,不過可以用感知機、SVM等算法求解。

在這里先引入一個概率模型

概率模型的原理

image-20200530160724936

  • 盒子1中隨機抽一個球,藍色的概率為4/5,綠色的概率為1/5
  • 盒子2中隨機抽一個球,藍色的概率為2/5,綠色的概率為3/5

現在隨機從兩個盒子中抽一個球為藍色,那這個藍色球是第一個盒子中的概率是多少?

這里就是貝葉斯公式\(P(A|B)=\frac{P(B|A)P(A)}{P(B)}\),求后驗概率\(P(B_1|Blue)\):

\[\begin{aligned} P\left(B_{1} | B l u e\right) &=\frac{P\left(B l u e | B_{1}\right) P\left(B_{1}\right)}{P\left(B l u e | B_{1}\right) P\left(B_{1}\right)+P\left(B l u e | B_{2}\right) P\left(B_{2}\right)} \\ &=\frac{\frac{4}{5} * \frac{2}{3}}{\frac{4}{5} * \frac{2}{3}+\frac{2}{5} * \frac{1}{3}} \\ &=\frac{4}{5} \end{aligned}\]

概率和分類

image-20200530161152231

\(P(x)\)是一個邊緣分布\(P(x)=P(x,\sum C)\),因為朴素貝葉斯計算了聯合分布\(P(x,C_1),P(x,C_2)\),因此屬於生成模型。\(P(C_1|x)\)就是x屬於\(C_1\)的概率

先驗概率

image-20200530162107691

image-20200530162356010

如何計算一個新的數據的分類?例如海龜沒有在數據集中出現過,那怎么辦?

之前說過,可以把數據做向量化,那一個數據就是有很多特征值組成的一個向量。

image-20200530162653409

有79個寶可夢(同屬於water類的訓練數據集),海龜沒出現在數據集中,我們希望得到條件分布\(P(x|water)\)(用來計算\(P(water|x)\))

所有寶可夢都用一個向量量化,這樣就可以計算概率值了,不過如何計算條件概率值?海龜都沒有出現在訓練數據集中。從概率分布角度看,不同類別的數據有不同的數據分布,數據點量化后,我們就可以計算這個分布。

假設寶可夢是從一個高斯分布中抽取的,那么可以通過訓練數據集估計這個高斯分布,再去計算海龜從這個高斯分布中抽取的概率。

使用極大似然估計計算概率分布

image-20200530164121645

通過訓練數據估計期望\(\mu\) 和協方差矩陣\(\sum\) 。期望是黃色的點,協方差矩陣是紅色的范圍。給一個新數據點\(x\),就通過概率分布計算概率。

極大似然估計

image-20200530201507476

任意期望和協方差矩陣的高斯分布都可以生成這79個數據點,只不過概率大小不同。像圖中左邊的高斯分布產生這些數據的概率大,右邊的概率小。記\(L(\mu,\Sigma)\)為似然值

我們自然是取產生概率大的那個分布,也就是79個數據的似然值要最大

image-20200530202929325

\(L(\mu,\Sigma)\)求偏微分是0的點,即是 \(\mu^*\)\(\Sigma ^*\)

分類模型

image-20200530203442852

\(P(C_1)\)\(P(C_2)\)通過類個數/所有個數 計算

如果假設類分布式高斯分布,那么可以用每個類的訓練數據計算每個類的\(\mu\)\(\Sigma\) ,進而計算出\(P(x|C_1)\)\(P(x|C_2)\)

最后計算出\(P(C_1|x)\)並進行判別

image-20200530204731872

左上圖的意思是,越藍為water類的可能性越低,越紅為water類的可能性越高

右上圖的是分類結果,紅色區間是類別1,藍色區間是類別2

右下圖是test的分類結果,兩個特征時的准確率很低,但是增加特征,就可以提高准確率,雖然結果也不是很好。。

這里又是什么問題呢?

image-20200530205501849

因為假設服從高斯分布,當特征比較多的時候,協方差矩陣的維數就比較高,意味着着model的參數較多,再給每個類擬合一個高斯分布,就可能導致過擬合。因此一般使用相同的協方差矩陣描述不同的高斯分布。

如何計算共用的協方差矩陣?

image-20200530210210986

修改似然函數,結合兩個類的數據

\(\mu^1,\mu^2\)還是之前的算法,每個類數據的平均,共用的\(\Sigma\) 則是之前的加權平均

image-20200530210625882

用相同的\(\Sigma\),最后的分離超平面變成線性的

概率模型擬合三部曲

image-20200530210946300

實際就是最大化似然函數求出最合適的高斯分布

為什么使用高斯分布?其實是自己決定Function Set

一般都是根據假設,像二分類的一般都是假設伯努利分布

高斯分布和伯努利分布的區別和聯系?

都屬於指數分布簇,都是二項分布

image-20200530213409722

image-20200530213424116

至於為什么\(n\)無限大時,二項分布就是正態分布,則是棣莫弗-拉普拉斯極限定理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM