李宏毅机器学习05:概率生成模型 Probabilistic Generative Model
ML Lecture 4 Classification
一、分类Classification
的概念
(1)分类是什么?
分类要找一个函数 function
,输入对象的特征x
, 输出是该对象属于 n
个类别中是属于哪一个。
(2)分类的例子
1.应用场景
- Credit Scoring 信用评分【二分类问题】
- Input: income, savings, profession, age, past financial history ……
输入:收入,储蓄,行业,年龄,金融史… - Output: accept or refuse
输出:是否拒绝拒绝贷款
- Input: income, savings, profession, age, past financial history ……
- Medical Diagnosis医疗诊断【多分类问题】
- Input: current symptoms, age, gender, past medical history ……
输入:当前症状,年龄,性别,医疗史… - Output: which kind of diseases
输出:患了哪种疾病
- Input: current symptoms, age, gender, past medical history ……
- Handwritten character recognition手写文字辨识【多分类问题】
- Input:handwriting
输入:手写的汉字 - output:character
输出:一个汉字
- Input:handwriting
- Face recognition人脸识别【多分类问题】
- Input: image of a face
输入:人脸的图片 - output: person
输出:人
- Input: image of a face
2.Example Application示例应用
对宝可梦的属性进行分类:
宝可梦的属性值可以作为输入参数
- Total: sum of all stats that come after this, a general guide to how strong a pokemon is
总计:在此之后的所有统计数据的总和,一个关于口袋妖怪有多强的一般参考。- HP: hit points, or health, defines how much damage a pokemon can withstand before fainting
生命值:命中点或健康,定义了一个口袋妖怪在昏厥之前能承受多少伤害。- Attack: the base modifier for normal attacks (eg. Scratch, Punch)
攻击:正常攻击(例如。 划痕,穿孔)·- Defense: the base damage resistance against normal attacks
防御:对正常攻击的损伤抵抗能力- SP Atk: special attack, the base modifier for special attacks (e.g. fire blast, bubble beam) 特殊攻击,特殊的攻击(例如。 火焰爆炸,气泡光束)
- SP Def: the base damage resistance against special attacks
特殊防御:基础损伤抵抗特殊攻击- Speed: determines which pokemon attacks first each round
速度:决定哪一个口袋妖怪攻击第一轮
二、分类Classification
的实现
(1)不能用回归实现分类
以二分类为例:
收集当前神奇宝贝的特征数据和属性数据,例如:皮卡丘 ( x 1 , y ^ 1 ) (x^1,\hat{y}^1) (x1,y^1)电属性;杰尼龟 ( x 2 , y ^ 2 ) (x^2,\hat{y}^2) (x2,y^2)水属性;···;妙蛙草 ( x n , y ^ n ) (x^n,\hat{y}^n) (xn,y^n)草属性
Training: Class 1 means the target is 1; Class 2 means the
target is -1
Testing: closer to 1 → class 1; closer to -1 → class 2
将分类看作回归的方法:
- 类别一的数值设为1.
- 类别二的数值设为 -1
使用线性模型 y = b + w 1 x 1 + b 2 w 2 y=b+w_1x_1+b_2w_2 y=b+w1x1+b2w2 上图中蓝色的圈代表类别一,红色的叉代表类别二。
如果两种类别分布如左图所示,绿色的直线是一个平面
b
+
w
1
x
1
+
b
2
w
2
=
0
b+w_1x_1+b_2w_2=0
b+w1x1+b2w2=0于
y
=
0
y=0
y=0的交线,平面的左上方是小于零的部分,右下方是大于零的部分,看似回归解决了分类的问题,如果加入一些偏向右下角的数据,回归的方法会认为数据出错,得到的回归模型会向下偏,如右图紫色的线,但实际上绿色的模型优于紫色的模型。
因此,回归的方法失效。
• Multiple class: Class 1 means the target is 1; Class 2 means the target is 2; Class 3 means the target is 3 ……problematic
多类:类1意味着目标是1;类2意味着目标是2;类3意味着目标是3……有问题
如果把标签用数值表示,就会对标签之间的关系强加上数值上的相邻关系。
(2)其他模型
以二分类模型为例
-
step1:建立模型
Function (Model):
x → F u n c t i o n : x\to Function: x→Function:
O u t p u t = { c l a s s 1 if g ( x ) > 0 c l a s s 2 if g ( x ) ⩽ 0 Output = \begin{cases} class 1 &\text{if } g(x)>0 \\ class 2 &\text{if } g(x)\leqslant0 \end{cases} Output={class1class2if g(x)>0if g(x)⩽0Function
内置模型g(x)
的输出,当g(x)>0
时输出为class1
,否则输出class2
。 -
step2:评估模型的好坏
损失函数Loss Function
:
L ( f ) = ∑ i = 1 n δ ( f ( x i ) ≠ y ^ i ) L(f)=\displaystyle\sum_{i=1}^n\delta(f(x_i)\not=\hat y_i) L(f)=i=1∑nδ(f(xi)=y^i)δ ( f ( x i ) ≠ y ^ i ) \delta(f(x_i)\not=\hat y_i) δ(f(xi)=y^i)表示当 x i x_i xi是 y ^ i \hat y_i y^i时为0,否则为1,Loss Function计算的是预测模型不正确的次数。
-
step3:找出最好的模型
方法有 感知机Perceptron
, 支持向量机SVM
(本节不做讲述)
(3)概率生成模型 Probabilistic Generative Model
1.预备概率知识
①全概率公式&贝叶斯公式
-
【全概率公式】
-
有穷剖分(或分割)
设随机试验 E E E 的样本空间为 Ω \Omega Ω , { A 1 , A 2 , . . . . . . , A n } \{ A_1, A_2 ,... ..., A_n\} {A1,A2,......,An} 为 E E E 的一组事件,且满足 :
- (1) A i ⋂ A j = ϕ , ∀ i ≠ j ; i , j = 1 , 2 , 3... , n A_i \bigcap A_j=\phi ,\forall i\not =j ;i,j=1,2,3...,n Ai⋂Aj=ϕ,∀i=j;i,j=1,2,3...,n.即 A i , A j A_i,A_j Ai,Aj两两互斥;
- (2) ⋃ i = 1 n A i = Ω \displaystyle\bigcup_{i=1}^nA_i=\Omega i=1⋃nAi=Ω
则称事件组 { A 1 , A 2 , . . . . . . , A n } \{ A_1, A_2 ,... ..., A_n\} {A1,A2,......,An} 为样本空间 Ω \Omega Ω 的一个有穷剖分(或分割).
-
全概率公式
设随机试验 E E E 的样本空间为 Ω \Omega Ω , B B B 为 E E E 中的一个事 件, { A 1 , A 2 , . . . . . . , A n } \{ A_1, A_2 ,... ..., A_n\} {A1,A2,......,An} 为 Ω \Omega Ω 的一个有穷剖分,且 P ( A i ) > 0 , i = 1 , 2 , 3... , n P(A_i)>0,i=1,2,3...,n P(Ai)>0,i=1,2,3...,n .则
P ( B ) = ∑ i = 1 n P ( A i ) P ( B ∣ A i ) , i = 1 , 2 , 3... , n P(B)=\displaystyle\sum_{i=1}^nP(A_i)P(B|A_i), i=1,2,3...,n P(B)=i=1∑nP(Ai)P(B∣Ai),i=1,2,3...,n
-
-
【贝叶斯公式】
-
后验概率:
将 A i ( i = 1 , 2 , 3... ) A_i (i=1,2,3...) Ai(i=1,2,3...) 看作引起 B B B 发生的全部可能的“原因”,那 么引例中的问题可以这样提出:若试验中 B B B
发生了,问引起 B B B 发生的原因是事件 A i ( i = 1 , 2 , 3... ) A_i (i=1,2,3...) Ai(i=1,2,3...) 的概率称做“后验概率” -
贝叶斯公式定义:
设随机试验 E E E 的样本空间为 Ω \Omega Ω , B B B 为 E E E 中的一个事件, A 1 , A 2 , . . . . . . , A n A_1, A_2 ,... ..., A_n A1,A2,......,An为
Ω \Omega Ω 的一个有穷剖分,如果 P ( B ) > 0 P(B)>0 P(B)>0 , P ( A i ) > 0 , i = 1 , 2 , . . . , n P(A_i)>0,i=1,2,...,n P(Ai)>0,i=1,2,...,n,则
P ( A i ∣ B ) = P ( A i ) P ( B ∣ A i ) ∑ j = 1 n P ( A j ) P ( B ∣ A j ) , i = 1 , 2 , 3... , n P(A_i|B)=\large\frac{P(A_i)P(B|A_i)}{\small\displaystyle\sum_{j=1}^n P(A_j)P(B|A_j)}\normalsize, i=1,2,3...,n P(Ai∣B)=j=1∑nP(Aj)P(B∣Aj)P(Ai)P(B∣Ai),i=1,2,3...,n
-
②高斯分布(正态分布)
-
n元正态随机变量的矩阵表示:
n元随机变量: x = ( x 1 , x 2 , . . . , x n ) T x=(x_1,x_2,...,x_n)^T x=(x1,x2,...,xn)T,
其数学期望为: μ ~ = ( E ( X 1 ) , E ( X 2 ) , . . . , E ( X n ) ) T \tilde\mu=(E(X_1),E(X_2),...,E(X_n))^T μ~=(E(X1),E(X2),...,E(Xn))T,
协方差矩阵为: C = ( c i j ) n × n , c i j = C o v ( X i , X j ) , i , j = 1 , 2 , . . . , n C=(c_{ij})_{n\times n},c_{ij}=Cov(X_i,X_j),i,j=1,2,...,n C=(cij)n×n,cij=Cov(Xi,Xj),i,j=1,2,...,n,
则n元正态随机变量 X ~ = ( X 1 , X 2 , . . . , X n ) T , n ⩾ 1 \tilde X=(X_1,X_2,...,X_n)^T,n\geqslant1 X~=(X1,X2,...,Xn)T,n⩾1 其联 合概率密度为
f ( x 1 , x 2 , . . . , x n ) = 1 ( 2 π ) n 2 ∣ C ∣ 1 2 e − 1 2 ( x − μ ~ ) T C − 1 ( x − μ ~ ) f(x_1,x_2,...,x_n)=\Large\frac{1}{(2\pi)^{\frac{n}{2}}|C|^{\frac{1}{2}}}e^{-\frac{1}{2}(x-\tilde\mu)^TC^{-1}(x-\tilde\mu)} f(x1,x2,...,xn)=(2π)2n∣C∣211e−21(x−μ~)TC−1(x−μ~)
③极大似然估计
-
极大似然估计
- 离散型
设离散型总体 X ∼ p ( x , θ ) , θ ∈ Θ X\sim p(x,\theta),\theta\in\Theta X∼p(x,θ),θ∈Θ, θ \theta θ 未知, X 1 , . . . , X n X_1,...,X_n X1,...,Xn
为样本,其观察值为 x 1 , . . . , x n x_1,...,x_n x1,...,xn ,则事件 { X 1 = x 1 , . . . . . . , X n = x n } \{X_1=x_1,......,X_n=x_n\} {X1=x1,......,Xn=xn} 发生的概率为- 似然函数: L ( θ ) = Π i = 1 n p ( x i ; θ ) L(\theta)=\displaystyle \Pi_{i=1}^np(x_i;\theta) L(θ)=Πi=1np(xi;θ)
- 连续型
连续型总体 X X X 概率密度为 f ( x ; θ ) , θ ∈ Θ f(x;\theta),\theta\in\Theta f(x;θ),θ∈Θ, θ \theta θ 未知. X 1 , . . . , X n X_1,...,X_n X1,...,Xn 为样本,则样本在观察值 x 1 , . . . , x n x_1,...,x_n x1,...,xn 邻域发生的概率 Π i = 1 n p ( x i < X i < x i + Δ x i ) ≈ Π i = 1 n f ( x i ; θ ) Δ x i \Pi_{i=1}^np(x_i<X_i<x_i+\Delta x_i)\approx\Pi_{i=1}^nf(x_i;\theta)\Delta x_i Πi=1np(xi<Xi<xi+Δxi)≈Πi=1nf(xi;θ)Δxi, Δ x i \Delta x_i Δxi与参数 θ \theta θ无关 因此,
- 似然函数: L ( θ ) = Π i = 1 n f ( x i ; θ ) L(\theta)=\displaystyle \Pi_{i=1}^nf(x_i;\theta) L(θ)=Πi=1nf(xi;θ)
-
极大似然原理
L ( θ ^ ( x 1 , . . . , x n ) ) = m a x θ ∈ Θ L ( θ ) L(\hat\theta(x_1,...,x_n))={max}_{\theta\in\Theta}L(\theta) L(θ^(x1,...,xn))=maxθ∈ΘL(θ)
极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,… ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。
2.分类问题转化为概率问题
①问题引入:
盒子抽球问题:
说明:假设两个盒子,各装了5个球,还得知随机抽一个球,抽到的是盒子1的球的概率是 P ( B 1 = 2 3 ) P(B_1=\frac2 3) P(B1=32) ,是盒子2的球的概率是 P ( B 1 = 1 3 ) P(B_1=\frac1 3) P(B1=31)。从盒子中蓝色球和绿色球的分配可以得到:
- 在盒子1中随机抽一个球
蓝色的概率为 4/5,绿的的概率为 1/5- 在盒子2中随机抽一个球
蓝色的概率为 2/5,绿的的概率为 3/5
问题:如果抽到蓝色的球,计算此球来自某一个盒子的概率。
可以根据贝叶斯公式计算:
P
(
B
1
∣
B
l
u
e
)
=
P
(
B
l
u
e
∣
B
1
)
P
(
B
1
)
P
(
B
l
u
e
∣
B
1
)
P
(
B
1
)
+
P
(
B
l
u
e
∣
B
2
)
P
(
B
2
)
P(B_1|Blue)=\Large\frac{P(Blue|B_1)P(B_1)}{P(Blue|B_1)P(B_1)+P(Blue|B_2)P(B_2)}
P(B1∣Blue)=P(Blue∣B1)P(B1)+P(Blue∣B2)P(B2)P(Blue∣B1)P(B1)
②问题类比转化
将两个盒子看作两个类别:
class 1,class 2.
抽取的小球可以看作待分类的数据
想要得到数据的分类,类比盒子抽球的模型:
当抽到数据
x
x
x,时
它是从class 1
得到的概率为:
P
(
C
1
∣
x
)
=
P
(
x
∣
C
1
)
P
(
C
1
)
P
(
x
∣
C
1
)
P
(
C
1
)
+
P
(
x
∣
C
2
)
P
(
C
2
)
P(C_1|x)=\Large\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}
P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)
它是从class 2得到的概率为:
P
(
C
2
∣
x
)
=
P
(
x
∣
C
2
)
P
(
C
2
)
P
(
x
∣
C
1
)
P
(
C
1
)
+
P
(
x
∣
C
2
)
P
(
C
2
)
P(C_2|x)=\Large\frac{P(x|C_2)P(C_2)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}
P(C2∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C2)P(C2)
通过计算某个数据属于不同class
的概率,若数据属于某个class
的概率最大,则可以将数据分类为这个类别。
因此,只要知道以下数值特征,即可对数据进行分类:
-
P
(
C
1
)
P(C_1)
P(C1):数据属于
Class 1
的概率 -
P
(
C
2
)
P(C_2)
P(C2):数据属于
Class 2
的概率 -
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1):
class 1
中得到 x x x 的概率 -
P
(
x
∣
C
2
)
P(x|C_2)
P(x∣C2):
class 2
中得到 x x x 的概率
这种思路叫做生成模型
Generative Model
。因为有了这个模型,就可以生成一个 x,可以计算某个 x 出现的概率,知道了x的分布,就可以自己产生 x 。
③生成概率模型
- P ( C 1 ) P(C_1) P(C1):数据属于
Class 1
的概率可以通过训练集中class 1
的占比表示- P ( C 2 ) P(C_2) P(C2):数据属于
Class 2
的概率可以通过训练集中class 2
的占比表示
需要通过训练集获取以下数值:
- P ( x ∣ C 1 ) P(x|C_1) P(x∣C1):
class 1
中得到 x x x 的概率- P ( x ∣ C 2 ) P(x|C_2) P(x∣C2):
class 2
中得到 x x x 的概率
Assume the points are sampled from a Gaussian distribution,
可以假设所有的的数据均是来自于同一个高斯分布的概率模型,
Find the Gaussian distribution behind them
因此要通过数据找到这个分布
高斯分布(正态分布)
Gaussian Distribution
f μ , Σ ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ ∣ 1 / 2 e x p { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } f_{\mu,\Sigma}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\} fμ,Σ(x)=(2π)D/21∣Σ∣1/21exp{−21(x−μ)TΣ−1(x−μ)}Input: vector x, output: probability of sampling x 输入:向量x,输出:采样的概率x,
The shape of the function determines by mean 𝝁 and covariance matrix
𝜮 函数的形状由平均𝝁和协方差矩阵𝜮决定
使用极大似然估计法Maximum Likelihood
找出高斯分布:
似然函数:
L
(
μ
,
Σ
)
=
f
μ
,
Σ
(
x
1
)
f
μ
,
Σ
(
x
2
)
.
.
.
.
.
.
f
μ
,
Σ
(
x
n
)
L(\mu,\Sigma)=f_{\mu,\Sigma}(x^1)f_{\mu,\Sigma}(x^2)... ...f_{\mu,\Sigma}(x^n)
L(μ,Σ)=fμ,Σ(x1)fμ,Σ(x2)......fμ,Σ(xn)
μ ∗ , Σ ∗ = arg max μ , Σ L ( μ , Σ ) \mu^*,\Sigma^*=\argmax_{\mu,\Sigma}L(\mu,\Sigma) μ∗,Σ∗=argmaxμ,ΣL(μ,Σ)
计算方法:
μ
∗
=
1
n
∑
i
=
1
n
x
i
\mu^*=\frac1{n}\displaystyle\sum_{i=1}^nx^i
μ∗=n1i=1∑nxi
Σ ∗ = 1 n ∑ i = 1 n ( x i − μ ∗ ) ( x i − μ ∗ ) T \Sigma^*=\frac1n\displaystyle\sum_{i=1}^n(x_i-\mu^*)(x^i-\mu^*)^T Σ∗=n1i=1∑n(xi−μ∗)(xi−μ∗)T
④根据模型进行分类
得到了期望向量和协方差矩阵,就确定了高斯分布的模型,接下来可以进行分类了。
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(C_1|x)=\Large\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)} P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)
其中 P ( C 1 ) P(C_1) P(C1)和 P ( C 2 ) P(C_2) P(C2)通过占比计算:
-
P ( C 1 ) = C 1 n u m b e r C 1 n u m b e r + C 2 n u m b e r P(C_1)=\frac{C_1number}{C_1number+C_2number} P(C1)=C1number+C2numberC1number
-
P ( C 2 ) = C 2 n u m b e r C 1 n u m b e r + C 2 n u m b e r P(C_2)=\frac{C_2number}{C_1number+C_2number} P(C2)=C1number+C2numberC2number
-
P ( x ∣ C 1 ) = f μ 1 , Σ 1 ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ 1 ∣ 1 / 2 e x p { − 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) } P(x|C_1)=f_{\mu^1,\Sigma^1}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma^1|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)\} P(x∣C1)=fμ1,Σ1(x)=(2π)D/21∣Σ1∣1/21exp{−21(x−μ1)T(Σ1)−1(x−μ1)}
-
P ( x ∣ C 2 ) = f μ 2 , Σ 2 ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ 2 ∣ 1 / 2 e x p { − 1 2 ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) } P(x|C_2)=f_{\mu^2,\Sigma^2}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma^2|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)\} P(x∣C2)=fμ2,Σ2(x)=(2π)D/21∣Σ2∣1/21exp{−21(x−μ2)T(Σ2)−1(x−μ2)}
If
P
(
C
1
∣
x
)
>
0.5
P(C_1|x)>0.5
P(C1∣x)>0.5
⟹
\Longrightarrow
⟹ x belongs to class 1 (Water)
如果x来自于class 1
的概率大于0.5,可以认为x属于class 1
结果如下图
考虑了两种特征,在测试集上的正确率仅有47%,考虑了所有特征后,正确率仅有54%
⑤改进模型Modifying Model
-
改进方法如下:
生成的概率模型满足两个类别的协方差矩阵的值相等
-
极大似然函数为:
L ( μ 1 , μ 2 , Σ ) = Π i = 1 n 1 f μ 1 , Σ ( x i ) × Π i = 1 n 2 f μ 2 , Σ ( x i ) L(\mu^1,\mu^2,\Sigma)=\Pi_{i=1}^{n_1}f_{\mu^1,\Sigma}(x^i)\times\Pi_{i=1}^{n_2}f_{\mu^2,\Sigma}(x^i) L(μ1,μ2,Σ)=Πi=1n1fμ1,Σ(xi)×Πi=1n2fμ2,Σ(xi) -
计算方法:
-
μ 1 , μ 2 \mu^1,\mu^2 μ1,μ2和之前一样:
μ 1 = 1 n 1 ∑ i = 1 n 1 x i \mu^1=\frac1{n_1}\displaystyle\sum_{i=1}^{n_1}x^i μ1=n11i=1∑n1xi
μ 2 = 1 n 2 ∑ i = 1 n 2 x i \mu^2=\frac1{n_2}\displaystyle\sum_{i=1}^{n_2}x^i μ2=n21i=1∑n2xi -
Σ \Sigma Σ通过 Σ 1 , Σ 2 \Sigma^1,\Sigma^2 Σ1,Σ2的加权平均来计算:
Σ = C 1 n u m b e r C 1 n u m b e r + C 2 n u m b e r Σ 1 + C 2 n u m b e r C 1 n u m b e r + C 2 n u m b e r Σ 2 \Sigma=\frac{C_1number}{C_1number+C_2number}\Sigma^1+\frac{C_2number}{C_1number+C_2number}\Sigma^2 Σ=C1number+C2numberC1numberΣ1+C1number+C2numberC2numberΣ2
-
-
结果展示:
边界线从曲线变为直线,当考虑所有特征时,正确率从54%提升至73%
⑥概率模型的说明
假设每一个维度用概率分布模型产生出来的几率是相互独立的,所以可以将
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1) 拆解。
可以认为每个
P
(
x
k
∣
C
1
)
P(x_k|C_1)
P(xk∣C1)产生的概率都符合一维的高斯分布,也就是此时
P
(
x
∣
C
1
)
P(x|C_1)
P(x∣C1) 的高斯分布的协方差是对角型的(不是对角线的地方值都是0),这样就可以减少参数的量。但是做法的结果并不理想。
对于二元分类来说,此时用通常不会用高斯分布,可以假设是符合 Bernoulli distribution(伯努利分布)。
假设所有的feature都是相互独立产生的,这种分类叫做 Naive Bayes Classifier(朴素贝叶斯分类器)
3.总结概率生成模型的三步
与机器学习三步法一致:
-
step1:Function Set (Model):
x ⟹ P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) x \Longrightarrow P(C_1|x)=\Large\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)} x⟹P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)O u t p u t = { c l a s s 1 if P ( C 1 ∣ x ) > 0.5 c l a s s 2 otherwise Output = \begin{cases} class 1 &\text{if } P(C_1|x)>0.5 \\ class 2 &\text{otherwise } \end{cases} Output={class1class2if P(C1∣x)>0.5otherwise
-
step2:Goodness of a function:
The mean 𝜇 and covariance Σ that maximizing
the likelihood (the probability of generating data)
最大似然(生成数据的概率)的平均𝜇和协方差Σ) -
step3:Find the best function: easy
4.概率生成模型的数学推导
-
Posterior Probability后验概率
事情还没有发生,要求这件事情发生的可能性的大小,是先验概率。事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率。
-
数学推导1:后验概率化为z的函数
P ( C 1 ∣ x ) = P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 1 ) P ( C 1 ) + P ( x ∣ C 2 ) P ( C 2 ) P(C_1|x)=\Large\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)} P(C1∣x)=P(x∣C1)P(C1)+P(x∣C2)P(C2)P(x∣C1)P(C1)= 1 1 + P ( x ∣ C 2 ) P ( C 2 ) P ( x ∣ C 1 ) P ( C 1 ) =\Large\frac{1}{1+\frac{P(x|C_2)P(C_2)}{P(x|C_1)P(C_1)}}\normalsize =1+P(x∣C1)P(C1)P(x∣C2)P(C2)1 (令 z = l n P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 2 ) P ( C 2 z=ln\frac{P(x|C_1)P(C_1)}{P(x|C_2)P(C_2} z=lnP(x∣C2)P(C2P(x∣C1)P(C1))
P ( C 1 ∣ x ) = 1 1 + e x p ( − z ) = σ ( z ) P(C_1|x)=\Large\frac{1}{1+exp(-z)}\normalsize=\sigma(z) P(C1∣x)=1+exp(−z)1=σ(z) 后验概率是z的函数
σ ( z ) \sigma(z) σ(z)的图像如下图:
-
数学推导2:z的化简
z = l n P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 2 ) P ( C 2 = l n P ( x ∣ C 1 ) P ( x ∣ C 2 ) + l n P ( C 1 ) P ( C 2 ) z=ln\large\frac{P(x|C_1)P(C_1)}{P(x|C_2)P(C_2}\normalsize=ln\large\frac{P(x|C_1)}{P(x|C_2)}\normalsize+ln\large\frac{P(C_1)}{P(C_2)} z=lnP(x∣C2)P(C2P(x∣C1)P(C1)=lnP(x∣C2)P(x∣C1)+lnP(C2)P(C1)
其中:
P ( C 1 ) P ( C 2 ) = N 1 N 1 + N 2 N 2 N 1 + N 2 = N 1 N 2 \frac{P(C_1)}{P(C_2)}=\large\frac{\frac{N_1}{N_1+N_2}}{\frac{N_2}{N_1+N_2}}=\frac{N_1}{N_2} P(C2)P(C1)=N1+N2N2N1+N2N1=N2N1因为:
P ( x ∣ C 1 ) = f μ 1 , Σ 1 ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ 1 ∣ 1 / 2 e x p { − 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) } P(x|C_1)=f_{\mu^1,\Sigma^1}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma^1|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)\} P(x∣C1)=fμ1,Σ1(x)=(2π)D/21∣Σ1∣1/21exp{−21(x−μ1)T(Σ1)−1(x−μ1)}P ( x ∣ C 2 ) = f μ 2 , Σ 2 ( x ) = 1 ( 2 π ) D / 2 1 ∣ Σ 2 ∣ 1 / 2 e x p { − 1 2 ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) } P(x|C_2)=f_{\mu^2,\Sigma^2}(x)=\Large\frac{1}{(2\pi)^{D/2} }\frac{1}{|\Sigma^2|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)\} P(x∣C2)=fμ2,Σ2(x)=(2π)D/21∣Σ2∣1/21exp{−21(x−μ2)T(Σ2)−1(x−μ2)}
代入 l n P ( x ∣ C 1 ) P ( x ∣ C 2 ) ln\frac{P(x|C_1)}{P(x|C_2)} lnP(x∣C2)P(x∣C1)中得到:
l n P ( x ∣ C 1 ) P ( x ∣ C 2 ) = l n 1 ( 2 π ) D / 2 1 ∣ Σ 1 ∣ 1 / 2 e x p { − 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) } f 1 ( 2 π ) D / 2 1 ∣ Σ 2 ∣ 1 / 2 e x p { − 1 2 ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) } ln\large\frac{P(x|C_1)}{P(x|C_2)}=ln\frac{\Large\frac{1}{\bcancel{(2\pi)^{D/2} } }\frac{1}{|\Sigma^1|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)\}}{f\Large\frac{1}{\bcancel{(2\pi)^{D/2} } }\frac{1}{|\Sigma^2|^{1/2}}\normalsize exp\{-\frac{1}{2}(x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)\}} lnP(x∣C2)P(x∣C1)=lnf(2π)D/2 1∣Σ2∣1/21exp{−21(x−μ2)T(Σ2)−1(x−μ2)}(2π)D/2 1∣Σ1∣1/21exp{−21(x−μ1)T(Σ1)−1(x−μ1)}
= l n ∣ Σ 2 ∣ 1 / 2 ∣ Σ 1 ∣ 1 / 2 e − 1 2 [ ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) − ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) ] =ln\frac{|\Sigma^2|^{1/2}}{|\Sigma^1|^{1/2}}\Large e^{\normalsize {-\frac12[(x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)-(x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)]}} =ln∣Σ1∣1/2∣Σ2∣1/2e−21[(x−μ1)T(Σ1)−1(x−μ1)−(x−μ2)T(Σ2)−1(x−μ2)]
= l n ∣ Σ 2 ∣ 1 / 2 ∣ Σ 1 ∣ 1 / 2 − 1 2 [ ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) − ( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) ] =ln\frac{|\Sigma^2|^{1/2}}{|\Sigma^1|^{1/2}}-\frac12[(x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)-(x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)] =ln∣Σ1∣1/2∣Σ2∣1/2−21[(x−μ1)T(Σ1)−1(x−μ1)−(x−μ2)T(Σ2)−1(x−μ2)]
其中:
( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) = x T ( Σ 1 ) − 1 x − x T ( Σ 1 ) − 1 − ( μ 1 ) T ( Σ 1 ) − 1 x + ( μ 1 ) T ( Σ 1 ) − 1 μ 1 = x T ( Σ 1 ) − 1 x − 2 ( μ 1 ) T ( Σ 1 ) − 1 x + ( μ 1 ) T ( Σ 1 ) − 1 μ 1 (x-\mu^1)^T(\Sigma^1)^{-1}(x-\mu^1)=x^T(\Sigma^1)^{-1}x\textcolor{blue}{-x^T(\Sigma^1)^{-1}-(\mu^1)^T(\Sigma^1)^{-1}x}+(\mu^1)^T(\Sigma^1)^{-1}\mu^1= x^T(\Sigma^1)^{-1}x\textcolor{blue}{-2(\mu^1)^T(\Sigma^1)^{-1}x}+(\mu^1)^T(\Sigma^1)^{-1}\mu^1 (x−μ1)T(Σ1)−1(x−μ1)=xT(Σ1)−1x−xT(Σ1)−1−(μ1)T(Σ1)−1x+(μ1)T(Σ1)−1μ1=xT(Σ1)−1x−2(μ1)T(Σ1)−1x+(μ1)T(Σ1)−1μ1
同理:
( x − μ 2 ) T ( Σ 2 ) − 1 ( x − μ 2 ) = x T ( Σ 2 ) − 1 x − 2 ( μ 2 ) T ( Σ 2 ) − 1 x + ( μ 2 ) T ( Σ 2 ) − 1 μ 2 (x-\mu^2)^T(\Sigma^2)^{-1}(x-\mu^2)=x^T(\Sigma^2)^{-1}x\textcolor{blue}{-2(\mu^2)^T(\Sigma^2)^{-1}x}+(\mu^2)^T(\Sigma^2)^{-1}\mu^2 (x−μ2)T(Σ2)−1(x−μ2)=xT(Σ2)−1x−2(μ2)T(Σ2)−1x+(μ2)T(Σ2)−1μ2代入展开得:
z = l n ∣ Σ 2 ∣ 1 / 2 ∣ Σ 1 ∣ 1 / 2 − 1 2 ( x ) T ( Σ 1 ) − 1 x + ( μ 1 ) T ( Σ 1 ) − 1 x − 1 2 ( μ 1 ) T ( Σ 1 ) − 1 μ 1 + 1 2 ( x ) T ( Σ 2 ) − 1 x − ( μ 2 ) T ( Σ 2 ) − 1 x + 1 2 ( μ 2 ) T ( Σ 2 ) − 1 μ 2 + l n N 1 N 2 z=ln\frac{|\Sigma^2|^{1/2}}{|\Sigma^1|^{1/2}}-\frac12(x)^T(\Sigma^1)^{-1}x+(\mu^1)^T(\Sigma^1)^{-1}x-\frac12(\mu^1)^T(\Sigma^1)^{-1}\mu^1+\frac12(x)^T(\Sigma^2)^{-1}x-(\mu^2)^T(\Sigma^2)^{-1}x+\frac12(\mu^2)^T(\Sigma^2)^{-1}\mu^2+ln\frac{N_1}{N_2} z=ln∣Σ1∣1/2∣Σ2∣1/2−21(x)T(Σ1)−1x+(μ1)T(Σ1)−1x−21(μ1)T(Σ1)−1μ1+21(x)T(Σ2)−1x−(μ2)T(Σ2)−1x+21(μ2)T(Σ2)−1μ2+lnN2N1因为通过模型改进, Σ 1 = Σ 2 = Σ \Sigma^1=\Sigma^2=\Sigma Σ1=Σ2=Σ
化简得:
z = ( μ 1 − μ 2 ) T Σ − 1 x − 1 2 ( μ 1 ) T Σ − 1 μ 1 + 1 2 ( μ 2 ) T Σ − 1 μ 2 + l n N 1 N 2 z=\textcolor{blue}{(\mu^1-\mu^2)^T\Sigma^{-1}}x\textcolor{#228B22}{-\frac12(\mu^1)^T\Sigma^{-1}\mu^1+\frac12(\mu^2)^T\Sigma^{-1}\mu^2+ln\frac{N_1}{N_2}} z=(μ1−μ2)TΣ−1x−21(μ1)TΣ−1μ1+21(μ2)TΣ−1μ2+lnN2N1令 ( μ 1 − μ 2 ) T Σ − 1 \textcolor{blue}{(\mu^1-\mu^2)^T\Sigma^{-1}} (μ1−μ2)TΣ−1 = w T =w^T =wT;
− 1 2 ( μ 1 ) T Σ − 1 μ 1 + 1 2 ( μ 2 ) T Σ − 1 μ 2 + l n N 1 N 2 \textcolor{#228B22}{-\frac12(\mu^1)^T\Sigma^{-1}\mu^1+\frac12(\mu^2)^T\Sigma^{-1}\mu^2+ln\frac{N_1}{N_2}} −21(μ1)TΣ−1μ1+21(μ2)TΣ−1μ2+lnN2N1 = b =b =b
得到后验概率的表达式:
P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P(C_1|x)=\sigma(w\cdot x+b) P(C1∣x)=σ(w⋅x+b) -
结论
In generative model, we estimate 𝑁1, 𝑁2, 𝜇1, 𝜇2, Σ
Then we have w and b