Generative Model
Classification
输入一些属性(input sth),经过一个function处理,输出一个结果(output sth);
包括二分类(Credit sorting)或者多分类(Handwritten character recognition,face recognition).
how to do classification?
Binary classification as example:
traning : 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.
理想情况下,我们要做的是找到Loss最小的function作为分类器,Loss根据具体情况定义.
Generative model
生成模型的做法,要求p(Y|X)得先从数据中学习联合概率分布p(Y,X),然后利用贝叶斯公式求:
$$
p(Y|X)={p(Y,X)\over \sum p(Y_i,X)}\tag{1}
$$
举个例子,假设我们现在有两个类,Class 1和Class 2,已知P(C1),P(C2),P(x|C1),P(x|C2).现在如果有x,那它属于某一类别的可能性,可由下面的公式算出:
$$
p(C_1|x) =\frac {p(C_1,x)}{p(C_1,x)+p(C_2,x)} \ = \frac{p(x|C_1)p(C_1)}{p(x|C_1)p(C_1)+p(x|C_2)p(C_2)}\tag{2}
$$
Maximum Likelihood
假设样本点均来自高斯分布,我们首先根据训练数据推导出这个高斯分布,然后就可以根据这个分布计算新样本来自于这个分布的概率了.比如说有,
$$
f_{\mu,\Sigma}(x)=\frac{1}{(2\pi)^{1/2}}\frac{1}{|\Sigma|^{1/2}}\exp \left \lbrace -\frac12(x-\mu)^T \Sigma^{-1} (x-\mu) \right\rbrace\tag{3}
$$
$$
\mathrm {the\ function\ determines\ by\ mean\ \mu \ and\ covariance\ matrix\ \Sigma}
$$
其实任何一个高斯分布都可以产生这些样本点,只是可能性的大小不同罢了(Diffierent Likelyhood.我们的目标是,找到最可能产生这些样本点的分布(即求出参数).
其中Likelyhood of a Gaussian = the probability of the Gaussian samples x1,x2,…,xN,记作:
$$
L(\mu,\Sigma)=\prod_{i=1}^Nf(x^i)\tag{4}
$$
根据maximum likelyhood有:
$$
{\mu^*,\Sigma^*}=arg \max_{\mu,\Sigma} L(\mu,\Sigma)\tag{5}
$$
计算时,根据下面的式子求解:
$$
\mu^*=\frac1N \sum_{i=1}^{N}x^i\tag{6}
$$
$$
\Sigma^*=\frac1N \sum_{i=1}^{N}{(x^i-\mu^*)(x^i-\mu^*)^T}\tag{7}
$$
Now we can do classification
现在我们有了:
$$
f_{\mu^1,\Sigma^1}(x) = p(x|C_1)\tag{8.1}
$$
$$
f_{\mu^2,\Sigma^2}(x) = p(x|C_2)\tag{8.2}
$$
$$
p(C1)=\frac{count(C1)}{count(C1)+count(C2)}\tag{8.3}
$$
$$
p(C2)=\frac{count(C2)}{count(C1)+count(C2)}\tag{8.4}
$$
将(8)式代入(2)式就得到了p=P(C1|x),如果p>0.5,x属于class 1,反之属于class 2.
这里我们假设数据分布满足高斯分布,当然也可以是其它分布!!
Posterior Probability
在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。
下面是比较有趣的一件事:
$$
p(C_1|x)={p(x|C_1)p(C_1)\over p(x|C_1)p(C_1)+p(x|C_2)p(C_2)}=\frac{1}{1+\frac{P(x|C_2)P(C_2)}{P(x|C_1)(C_1)}}=\frac{1}{1+\exp(-z)}=\sigma(z),这里有z=\ln \frac{P(x|C_1)P(C_1)}{P(x|C_2)P(C_2)}
\tag{9}
$$
Sigmoid函数!我确实是在学机器学习!
将(3)(8)带入(9)中,有
$$
z=\ln \frac{P(x|C_1)}{P(x|C_2)}+\ln \frac{P(C_1)}{P(C_2)}=\ln \frac{|\Sigma^2|^{0.5}}{|\Sigma^1|^{0.5}}-\frac12x^T(\Sigma^1)^{-1}x+\frac12x^T(\Sigma^2)^{-1}x-\frac12(\mu^1)^T(\Sigma^1)^{-1}\mu^1+\frac12(\mu^2)^T(\Sigma^2)^{-1}\mu^2+\ln \frac{count(C_1)}{count(C_1)}
$$
如果covariance matrix相同,则有,
$$
z=(\mu^1-\mu^2)^T\Sigma^{-1}x-\frac12(\mu^1)^T\Sigma^{-1}\mu^1+\frac12(\mu^2)^T\Sigma^{-1}\mu^2+\ln \frac{count(C_1)}{count(C_1)}=\omega^Tx+b,其中,\omega^T=(\mu^1-\mu^2)^T\Sigma^{-1},b=-\frac12(\mu^1)^T\Sigma^{-1}\mu^1+\frac12(\mu^2)^T\Sigma^{-1}\mu^2+\ln \frac{count(C_1)}{count(C_1)}
\tag{10}
$$
$$
\left[\ \mathbf {in \ generative \ model \ , we \ estimate\ count(C_1),\ count(C_2),\mu^1,\mu^2,\Sigma,then\ we\ have \ \omega \ and\ b}\ \right]
$$
直接求w和b会怎么样?也就是所谓的Logistic Regression模型了!