关于高斯分布的一些知识,强烈推荐B站白板推导机器学习系列。我的ML作业好多都是跟着UP主学的_(:з)∠)_
看到判别函数,我的第一反应是想起来上学期花了好久才有一点明白的“生成模型”和“判别模型”。
个人理解:生成模型旨在找出样本遵循的分布信息(感觉还是想逼近真正的分布),要对样本进行研究。然后利用学到的分布信息,对新的样本进行分类。判别模型更像是制作一种数学机器,用于分类,然后用样本来调整这台机器的参数,让它在某种指标下尽可能最优,实际上并不会关心这些样本到底是呈一种怎样的分布。
形式: g i ( x ) , i = 1 , . . . , c g_{i}(x),i=1,...,c gi(x),i=1,...,c
每个类别 ω i \omega_i ωi 都有一个判别函数 g i ( x ) g_i(x) gi(x),把样本 x x x 扔给每个判别函数,最后取值最大的那个为样本的分类。
二分类算是一个非此即彼的分类,所有只需要一个判别函数就可以解决问题。
形式: g ( x ) ≡ g 1 ( x ) − g 2 ( x ) g(x) \equiv g_1(x)-g_2(x) g(x)≡g1(x)−g2(x),if g ( x ) ≥ 0 g(x) \ge 0 g(x)≥0 , decide ω 1 \omega_1 ω1 , otherwise decide ω 2 \omega_2 ω2
这部分主要结合之前学的贝叶斯决策论
先把高斯分布的概率密度函数写出来:
p ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 p(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} p(x)=2πσ1e−2σ2(x−μ)2
p ( x ) = 1 ( 2 π ) p / 2 ∣ Σ ∣ 1 / 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) p(x)=\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)} p(x)=(2π)p/2∣Σ∣1/21e−21(x−μ)TΣ−1(x−μ)
假设类条件概率密度函数服从高斯分布:
p ( x ∣ ω i ) ∼ N ( μ i , Σ i ) p(x|\omega_i) \sim N(\mu_i, \Sigma_i) p(x∣ωi)∼N(μi,Σi)
基于Minimum Error Probability Classification 的决策函数:
g i ( x ) = l o g p ( x ∣ ω i ) + l o g p ( ω i ) g_i(x)=logp(x|\omega_i)+logp(\omega_i) gi(x)=logp(x∣ωi)+logp(ωi)
= − 1 2 ( x − μ i ) t Σ i − 1 ( x − μ i ) − d 2 l o g ( 2 π ) − 1 2 l o g ∣ Σ i ∣ + l o g P ( ω i ) \ \ \ \ \ \ \ \ \ \ = -\frac{1}{2}(x-\mu_i)^t\Sigma_i^{-1}(x-\mu_i)-\frac{d}{2}log(2\pi)-\frac{1}{2}log|\Sigma_i|+logP(\omega_i) =−21(x−μi)tΣi−1(x−μi)−2dlog(2π)−21log∣Σi∣+logP(ωi)
上式中 − d 2 l o g ( 2 π ) -\frac{d}{2}log(2\pi) −2dlog(2π) 为常项
等先验情况:
P ( ω 1 ) = P ( ω 2 ) = ⋯ = P ( ω c ) = 1 c P(\omega_1)=P(\omega_2)=\cdots=P(\omega_c)=\frac{1}{c} P(ω1)=P(ω2)=⋯=P(ωc)=c1
个人理解:分类主要靠的是差异。当先验都一样的时候,不存在差异,它对分类的影响就不存在了。
Σ i = σ 2 I \Sigma_i=\sigma^2I Σi=σ2I
选取的特征间相互独立( Σ i \Sigma_i Σi 为对角阵,且每个特征的方差均为 σ 2 \sigma^2 σ2 )
判别函数:(欧氏距离分类器)
g i ( x ) = − 1 2 σ 2 ( x − μ i ) t ( x − μ i ) = − 1 2 σ 2 ∥ x − μ i ∥ 2 g_i(x)=-\frac{1}{2\sigma^2}(x-\mu_i)^t(x-\mu_i)=-\frac{1}{2\sigma^2}\|x-\mu_i\|^2 gi(x)=−2σ21(x−μi)t(x−μi)=−2σ21∥x−μi∥2
Σ i = Σ \Sigma_i=\Sigma Σi=Σ
所有类别拥有相同的协方差矩阵
判别函数:(马氏距离分类器)
g i ( x ) = − 1 2 ( x − μ i ) t Σ i − 1 ( x − μ i ) g_i(x)=-\frac{1}{2}(x-\mu_i)^t\Sigma_i^{-1}(x-\mu_i) gi(x)=−21(x−μi)tΣi−1(x−μi)
case1可以视为最短距离分类器,case1a分类标准是取和每一类均值 μ i \mu_i μi 的欧氏距离的最短的一个。case1b分类标准是取和每一类均值 μ i \mu_i μi 的马氏距离最短的一个。
每个类别的先验 P ( ω ) P(\omega) P(ω)不再相等
Σ i = σ 2 I \Sigma_i=\sigma^2I Σi=σ2I
选取的特征间相互独立( Σ i \Sigma_i Σi 为对角阵,且每个特征的方差均为 σ 2 \sigma^2 σ2 )
上图Same for all i部分,我理解就是前面写的,分类靠的是差异,样本大家都是通用的,那 x t x x^tx xtx 对分类结果就不存在影响。
两类的决策边界(超平面)也是线性函数:
设 x 0 x_0 x0 为上式 x x x 减去的那一长串式子。
则这个决策边界经过 x 0 x_0 x0 点,斜率为 ( μ i − μ j ) t (\mu_i-\mu_j)^t (μi−μj)t,垂直于两类均值连线
当类别等先验的情况下(变为case1a),不难看出 x 0 = μ i + μ j 2 x_0 = \frac{\mu_i+\mu_j}{2} x0=2μi+μj ,即决策边界为两类均值连线的中垂线
以一维情况举例,等先验情况下,决策边界刚好为类概率密度函数相等的时候
同样每个类别的先验 P ( ω ) P(\omega) P(ω)不再相等
Σ i = Σ \Sigma_i=\Sigma Σi=Σ
所有类别拥有相同的协方差矩阵
判别函数:(线性判别函数)
同样设 x 0 x_0 x0 为上式 x x x 减去的那一长串式子。
则这个决策边界经过 x 0 x_0 x0 点,斜率为 [ Σ − 1 ( μ i − μ j ) ] t [\Sigma^{-1}(\mu_i-\mu_j)]^t [Σ−1(μi−μj)]t,不再垂直于两类均值连线
当类别等先验的情况下(变为case1b),不难看出 x 0 = μ i + μ j 2 x_0 = \frac{\mu_i+\mu_j}{2} x0=2μi+μj ,即决策边界经过两类均值连线中点
以二维情况举例,等先验情况下,决策边界过中点。