前言
吴恩达的视频里没提到概率生成模型,在李宏毅的作业2看到了,感觉挺有必要理解的,可以很自然而然地引出逻辑回归的模型。
参考:李宏毅机器学习中文课程 - 网易云课堂:分类:概率生成模型
一、问题描述
已知m组数据x(1),x(2),...,x(m),每组数据表示n个特征,可写为一个n维的向量
即:(x(i))T=(x1(i),...,xn(i))
且每组数据的真实值y(i)只能为0或1
给定一个数据x,预测x对应的y值。
二、解决方案
1. 贝叶斯公式求概率表达式
由题可知,我们根据真实值将m组数据分为两类C0和C1,其中C0代表真实值为0的数据的集合,一共有m0组,C1代表真实值为1的数据的集合,一共有m1组
那么给定数据x,由贝叶斯公式,x出现在C0的概率为
P(C0∣x)=P(x∣C0)P(C0)+P(x∣C1)P(C1)P(x∣C0)P(C0)
P(C0∣x)=1+P(x∣C0)P(C0)P(x∣C1)P(C1)1
其中,P(x∣C0)代表给定集合C0,出现数据为x的概率,即
P(x∣C0)=fμ0,Σ0(x)
其中μ0 和 Σ0为C0的均值和协方差矩阵,由C0确定。
同理,P(x∣C1)=fμ1,Σ1(x)
而P(C0)代表随机取一组数据在C0的概率,即P(C0)=m0+m1m0
同理,P(C1)=m0+m1m1
2. 由数据集求概率密度函数
当数据足够大时,由中心极限定理,C0服从正态分布
fμ0,Σ0(x)=(2π)2n∣Σ0∣211exp(−21(x−μ0)T(Σ0)−1(x−μ0))
由已有数据求μ0和 Σ0的最大似然估计为
μ0=m01∑i:y(i)=0x(i)
Σ0=m01∑i:y(i)=0(x(i)−μ0)(x(i)−μ0)T
同理,由C1确定的概率分布函数、均值、协方差矩阵为
fμ1,Σ1(x)=(2π)2n∣Σ1∣211exp(−21(x−μ1)T(Σ1)−1(x−μ1))
μ1=m11∑i:y(i)=1x(i)
Σ1=m11∑i:y(i)=1(x(i)−μ1)(x(i)−μ1)T
3. 公式整理
对1中表达式做变形,令
P(x∣C0)P(C0)P(x∣C1)P(C1)=e−z
得
P(C0∣x)=1+e−z1=g(z)
z=−lnP(x∣C0)P(C0)P(x∣C1)P(C1)=lnP(x∣C1)P(x∣C0)+lnP(C1)P(C0)
将2中概率分布函数代入到表达式中,得
z=ln∣Σ∣0∣Σ∣1−21(x−μ0)T(Σ0)−1(x−μ0)+21(x−μ1)T(Σ1)−1(x−μ1))+lnm1m0
若将Σ0和Σ1等同为一个值Σ(未考究),可继续化简得:
z=(μ0−μ1)TΣ−1x−21(μ0)TΣ−1μ0+21(μ1)TΣ−1μ1+lnm1m0
令z=ωx+b,则有
ω=(μ0−μ1)TΣ−1
b=−21(μ0)TΣ−1μ0+21(μ1)TΣ−1μ1+lnm1m0
三、总结
既然预测x在一个分类中的概率P(C0∣x),能被关于x与某一向量的线性组合的函数,即ωx+b,g(ωx+b)=1+eωx+b1,我们不妨假设向量
θTx=ωx+b
这就很好的解释了为什么要引入g(θTx)作为逻辑回归的假设。
一文讲清楚线性回归(Linear Regression)、逻辑回归(Logistic Regression) | Andrew的个人博客 (andreww1219.github.io)