前言

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

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

一、问题描述

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

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

二、解决方案

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

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

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

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

其中$ \mu^0 $ 和 $ \Sigma^0 $为$ C_0 $的均值和协方差矩阵,由$C_0$确定。

同理,$ P(x | C_1) = f_{\mu^1, \Sigma^1}(x) $

而$P(C_0)$代表随机取一组数据在$C_0$的概率,即$ P(C_0) = \frac{m_0}{m_0 + m_1} $

同理,$ P(C_1) = \frac{m_1}{m_0 + m_1} $

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

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

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

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

3. 公式整理

对1中表达式做变形,令

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

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

令$ z = \omega x + b$,则有

三、总结

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

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