当我们用概率对一个问题进行建模后,最重要的就是如何求解其中的概率参数。
例如在朴素贝叶斯 中,我们通过X事件的相互独立假设,削减了参数量。那么如何求解这些参数(在简单的邮件分类问题中,我们直觉上通过统计计算,即可获得各个参数项的解,实际上这种直觉的方法,本身就是计算了其概率的极大似然)
一、Maximum Likelihood Estimate,MLE
从最根本的定义上来讲,我们要求的是P(theta|D)最大,即在当前数据集上,参数theta的概率,并求得这个概率最大的theta。但是P(theta|D)很难计算,由posterior=likelihood * prior / evidence 。prior和evidence我们设为常数,则最大化这个后验概率就是最大化likelihood ie:P(D| theta),在假设所有样本独立同分布后,对P(X|theta)进行建模,则当前样本上的likelihood就是下面的似然函数。
0、朴素贝叶斯的参数估计:
P(Y=c) =Sum( I(yi=c) )/N
c为分类(比如垃圾邮件以及非垃圾邮件),N为样本总数,I为指示函数
即P(Y=c)这个参数的值(为垃圾,非垃圾邮件的概率)在当前N个样本的知识下,最大似然的估计为: (非)垃圾邮件总数 / 邮件总数。
同理,P(Xi = b | Y = c) 的概率也可以通过这样的统计得出其在当前N个样本知识下的最大似然的估计
在这里,最大似然从直觉上确实也等于相应特征词出现的期望。
如果用MLE来解释也是可以的,对垃圾邮件而言,建模出现sex字眼的概率为theta,则不出现的概率为1-theta,对于数据集D,n个样本中有m个样本有sex,
Likelihood 可以写为theta^m * theta^ (n-m)
取log可以解得theta=m/n
1、通用的解法描述:
a.写出似然函数
b.带入当前样本,求解theta使其值最大
例如离散型变量X1,X2....Xn,Y,简记为X,Y
则建模:P(X,Y; theta) = p(x,y;theta)
对于m个样本(x1,y1).....(xm,ym)来说,假设这m个样本独立同分布于我们建模的概率P,那么其联合概率分布则为其概率的乘积:p1*p2...*pm
对其取log,Likelihood = Sigma{1,m} (pi)
最大似然概率就是求argmax {theta} Likelihood(theta)
对于连续型变量,将建模的概率P改为其概率密度函数f(x,y;theta)(PDF)即可
由于概率密度函数在区间的积分的意义才为概率,所以其联合概率密度函数为:
f(x1,y1)dx1 * f(x2,y2)dx2 ....* f(xm,ym)dxm
其物理意义为:当前m个样本落在(x1,y1),..(xm,ym)的邻边(边长为dx1,dx2...dxm的m维立方体)内的概率
但在求其似然函数的时候,则直接将p替换为f即可。但是其物理含义并不像离散变量的似然那么易于理解。[1]
[1]:概率密度函数PDF在某个点x的取值没有实际的物理含义,不像离散的概率质量函数PMF在某点的取值代表其概率。相关概念:measure theroy,Radon-Nikodym derivative,likelihood ratio
https://math.stackexchange.com/questions/1373806/intuition-for-probability-density-function-as-a-radon-nikodym-derivative
更深入需要测度理论以及实分析的学习