机器学习笔记——概率生成模型

本文介绍了如何使用贝叶斯公式处理概率生成模型,通过正态分布和最大似然估计求解给定数据的类别概率。最后,将这些概念与逻辑回归中的线性组合联系起来,解释了逻辑回归假设中的sigmoid函数应用。
摘要由CSDN通过智能技术生成

前言

吴恩达的视频里没提到概率生成模型,在李宏毅的作业2看到了,感觉挺有必要理解的,可以很自然而然地引出逻辑回归的模型。

参考:李宏毅机器学习中文课程 - 网易云课堂:分类:概率生成模型

一、问题描述

已知m组数据 x ( 1 ) , x ( 2 ) , . . . , x ( m ) x^{(1)}, x^{(2)}, ..., x^{(m)} x(1),x(2),...,x(m),每组数据表示n个特征,可写为一个n维的向量
即: ( x ( i ) ) T = ( x 1 ( i ) , . . . , x n ( i ) ) (x^{(i)})^T = ( x^{(i)}_1, ..., x^{(i)}_n) (x(i))T=(x1(i),...,xn(i))
且每组数据的真实值 y ( i ) y^{(i)} y(i)只能为0或1

给定一个数据 x x x,预测 x x x对应的 y y y值。

二、解决方案

1. 贝叶斯公式求概率表达式

由题可知,我们根据真实值将 m m m组数据分为两类 C 0 C_0 C0 C 1 C_1 C1,其中 C 0 C_0 C0代表真实值为 0 0 0的数据的集合,一共有 m 0 m_0 m0组, C 1 C_1 C1代表真实值为 1 1 1的数据的集合,一共有 m 1 m_1 m1

那么给定数据 x x x,由贝叶斯公式, x x x出现在 C 0 C_0 C0的概率为

P ( C 0 ∣ x ) = P ( x ∣ C 0 ) P ( C 0 ) P ( x ∣ C 0 ) P ( C 0 ) + P ( x ∣ C 1 ) P ( C 1 ) P(C_0 | x) = \frac{P(x | C_0) P(C_0)} { P(x | C_0) P(C_0) + P(x | C_1) P(C_1) } P(C0x)=P(xC0)P(C0)+P(xC1)P(C1)P(xC0)P(C0)

P ( C 0 ∣ x ) = 1 1 + P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 0 ) P ( C 0 ) P(C_0 | x) = \frac{1} { 1 + \frac{P(x | C_1) P(C_1)}{P(x | C_0) P(C_0)} } P(C0x)=1+P(xC0)P(C0)P(xC1)P(C1)1

其中, P ( x ∣ C 0 ) P(x | C_0) P(xC0)代表给定集合 C 0 C_0 C0,出现数据为 x x x的概率,即

P ( x ∣ C 0 ) = f μ 0 , Σ 0 ( x ) P(x | C_0) = f_{\mu^0, \Sigma^0}(x) P(xC0)=fμ0,Σ0(x)

其中 μ 0 \mu^0 μ0 Σ 0 \Sigma^0 Σ0 C 0 C_0 C0的均值和协方差矩阵,由 C 0 C_0 C0确定。

同理, P ( x ∣ C 1 ) = f μ 1 , Σ 1 ( x ) P(x | C_1) = f_{\mu^1, \Sigma^1}(x) P(xC1)=fμ1,Σ1(x)

P ( C 0 ) P(C_0) P(C0)代表随机取一组数据在 C 0 C_0 C0的概率,即 P ( C 0 ) = m 0 m 0 + m 1 P(C_0) = \frac{m_0}{m_0 + m_1} P(C0)=m0+m1m0

同理, P ( C 1 ) = m 1 m 0 + m 1 P(C_1) = \frac{m_1}{m_0 + m_1} P(C1)=m0+m1m1

2. 由数据集求概率密度函数

当数据足够大时,由中心极限定理, C 0 C_0 C0服从正态分布

f μ 0 , Σ 0 ( x ) = 1 ( 2 π ) n 2 ∣ Σ 0 ∣ 1 2 e x p ( − 1 2 ( x − μ 0 ) T ( Σ 0 ) − 1 ( x − μ 0 ) ) f_{\mu^0, \Sigma^0}(x) = \frac{1}{ (2\pi)^{\frac{n}{2}} |\Sigma^0|^{ \frac{1}{2}}} exp(-\frac{1}{2} (x - \mu^0)^T (\Sigma^0)^{-1} (x - \mu^0)) fμ0,Σ0(x)=(2π)2nΣ0211exp(21(xμ0)T(Σ0)1(xμ0))

由已有数据求 μ 0 \mu^0 μ0 Σ 0 \Sigma^0 Σ0的最大似然估计为

μ 0 = 1 m 0 ∑ i : y ( i ) = 0 x ( i ) \mu^0 = \frac{1}{m_0} \sum_{i: y^{(i)} = 0} x^{(i)} μ0=m01i:y(i)=0x(i)

Σ 0 = 1 m 0 ∑ i : y ( i ) = 0 ( x ( i ) − μ 0 ) ( x ( i ) − μ 0 ) T \Sigma^0 = \frac{1}{m_0} \sum_{i: y^{(i)} = 0} (x^{(i)} - \mu^0) (x^{(i)} - \mu^0)^T Σ0=m01i:y(i)=0(x(i)μ0)(x(i)μ0)T

同理,由 C 1 C_1 C1确定的概率分布函数、均值、协方差矩阵为

f μ 1 , Σ 1 ( x ) = 1 ( 2 π ) n 2 ∣ Σ 1 ∣ 1 2 e x p ( − 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) ) f_{\mu^1, \Sigma^1}(x) = \frac{1}{ (2\pi)^{\frac{n}{2}} |\Sigma^1|^{ \frac{1}{2}}} exp(-\frac{1}{2} (x - \mu^1)^T (\Sigma^1)^{-1} (x - \mu^1)) fμ1,Σ1(x)=(2π)2nΣ1211exp(21(xμ1)T(Σ1)1(xμ1))

μ 1 = 1 m 1 ∑ i : y ( i ) = 1 x ( i ) \mu^1 = \frac{1}{m_1} \sum_{i: y^{(i)} = 1} x^{(i)} μ1=m11i:y(i)=1x(i)

Σ 1 = 1 m 1 ∑ i : y ( i ) = 1 ( x ( i ) − μ 1 ) ( x ( i ) − μ 1 ) T \Sigma^1 = \frac{1}{m_1} \sum_{i: y^{(i)} = 1} (x^{(i)} - \mu^1) (x^{(i)} - \mu^1)^T Σ1=m11i:y(i)=1(x(i)μ1)(x(i)μ1)T

3. 公式整理

对1中表达式做变形,令

P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 0 ) P ( C 0 ) = e − z \frac{P(x | C_1) P(C_1)}{P(x | C_0) P(C_0)} = e^{-z} P(xC0)P(C0)P(xC1)P(C1)=ez


P ( C 0 ∣ x ) = 1 1 + e − z = g ( z ) P(C_0 | x) = \frac{1} { 1 + e^{-z} } = g(z) P(C0x)=1+ez1=g(z)

z = − ln ⁡ P ( x ∣ C 1 ) P ( C 1 ) P ( x ∣ C 0 ) P ( C 0 ) = ln ⁡ P ( x ∣ C 0 ) P ( x ∣ C 1 ) + ln ⁡ P ( C 0 ) P ( C 1 ) z = -\ln {\frac{P(x | C_1) P(C_1)}{P(x | C_0) P(C_0)} } = \ln {\frac{P(x | C_0) }{ P(x | C_1)} } + \ln { \frac{ P(C_0) }{ P(C_1) } } z=lnP(xC0)P(C0)P(xC1)P(C1)=lnP(xC1)P(xC0)+lnP(C1)P(C0)

将2中概率分布函数代入到表达式中,得

z = ln ⁡ ∣ Σ ∣ 1 ∣ Σ ∣ 0 − 1 2 ( x − μ 0 ) T ( Σ 0 ) − 1 ( x − μ 0 ) + 1 2 ( x − μ 1 ) T ( Σ 1 ) − 1 ( x − μ 1 ) ) + ln ⁡ m 0 m 1 z = \ln{\frac{ |\Sigma|^1}{ | \Sigma|^0 } } - \frac{1}{2} (x - \mu^0)^T (\Sigma^0)^{-1} (x - \mu^0) + \frac{1}{2} (x - \mu^1)^T (\Sigma^1)^{-1} (x - \mu^1)) + \ln{ \frac{m_0}{m_1}} z=ln∣Σ0∣Σ121(xμ0)T(Σ0)1(xμ0)+21(xμ1)T(Σ1)1(xμ1))+lnm1m0

若将 Σ 0 \Sigma^0 Σ0 Σ 1 \Sigma^1 Σ1等同为一个值 Σ \Sigma Σ(未考究),可继续化简得:

z = ( μ 0 − μ 1 ) T Σ − 1 x − 1 2 ( μ 0 ) T Σ − 1 μ 0 + 1 2 ( μ 1 ) T Σ − 1 μ 1 + ln ⁡ m 0 m 1 z = (\mu^0 - \mu^1)^T \Sigma^{-1} x - \frac{1}{2} (\mu^0)^T \Sigma^{-1} \mu^0 + \frac{1}{2} (\mu^1)^T \Sigma^{-1} \mu^1 + \ln{ \frac{m_0}{m_1}} z=(μ0μ1)TΣ1x21(μ0)TΣ1μ0+21(μ1)TΣ1μ1+lnm1m0

z = ω x + b z = \omega x + b z=ωx+b,则有

ω = ( μ 0 − μ 1 ) T Σ − 1 \omega = (\mu^0 - \mu^1)^T \Sigma^{-1} ω=(μ0μ1)TΣ1

b = − 1 2 ( μ 0 ) T Σ − 1 μ 0 + 1 2 ( μ 1 ) T Σ − 1 μ 1 + ln ⁡ m 0 m 1 b = - \frac{1}{2} (\mu^0)^T \Sigma^{-1} \mu^0 + \frac{1}{2} (\mu^1)^T \Sigma^{-1} \mu^1 + \ln{ \frac{m_0}{m_1}} b=21(μ0)TΣ1μ0+21(μ1)TΣ1μ1+lnm1m0

三、总结

既然预测 x x x在一个分类中的概率 P ( C 0 ∣ x ) P(C_0 | x) P(C0x),能被关于 x x x与某一向量的线性组合的函数,即 ω x + b \omega x+ b ωx+b g ( ω x + b ) = 1 1 + e ω x + b g(\omega x + b) = \frac{1}{1+ e^{\omega x+ b}} g(ωx+b)=1+eωx+b1,我们不妨假设向量

θ T x = ω x + b \theta^T x = \omega x + b θTx=ωx+b

这就很好的解释了为什么要引入 g ( θ T x ) g(\theta^T x) g(θTx)作为逻辑回归的假设。

一文讲清楚线性回归(Linear Regression)、逻辑回归(Logistic Regression) | Andrew的个人博客 (andreww1219.github.io)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值