朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的。所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好。
简化策略
它是目标是通过训练数据集学习联合概率分布$P(X, Y)$用来预测。书上说,具体是先学习到先验概率分布以及条件概率分布,分别如下:(但我认为,直接学习$P(X, Y)$就行了,它要多此一举算出这两个再乘起来变成$P(X, Y)$,但其实计算量差不多,可能这样更好理解吧)
$P(Y = c_k), k = 1, 2, 3, ..., K$
$P(X = x|Y = c_k) = P(X^{(1)} = x^{(1)}, ..., X^{(n)} = x^{(n)}|Y = c_k), k = 1, 2, 3, ..., K$
其中输入空间$mathcal{X} subseteq R^n$为$n$维向量的集合,输出空间为标记集合$mathcal{Y} = {c_1, c_2, ..., c_K}$。
上面提到了先验概率分布,这里记一下先验概率分布与后验概率分布。先验概率分布与后验概率分布是相对而言的量,通常是要放在一起讨论的。如:$P(Y)$是直接测量的,或是我们经验中所认为的$Y$的概率分布,而当我们测量$X$后,条件概率分布$P(Y|X)$就是发生$X$后$Y$的后验概率分布。
书中说,因为条件概率分布$P(X = x|Y = c_k)$有指数级数量的参数,它的估计实际不可行(实际上样本的数量也不够支撑那么多参数之间的潜在交叉关系)。事实上,假设$x^{(j)}$可取值有$S_j$个,j = 1, 2,… ,n , Y 可取值有K 个,那么参数个数就是$Kprodlimits_{j=1}^{n}S_j$。所以对输入的各个分量的分布进行了假设,假设各个分量之间相互独立(所以它们的联合分布就是直接乘起来),这是一个较强的假设,朴素贝叶斯因此得名。如下:
$P(X= x|Y = c_k) = P(X^{(1)} = x^{(1)}, ..., X^{(n)} = x^{(n)}|Y = c_k)$
$ = prodlimits_{j=1}^{n}P(X^{(j)} = x^{(j)}|Y = c_k)$
学习方式
那么如何学习呢?对于有限离散输入输出来说的表达,可以直接计算样本集的概率分布当做总体分布。
而对于连续的输入输出来说,通常要先假设$P(X, Y)$服从某个多维分布。然后,基于上面的独立性假设,$X$的各个分量是相互独立的,而各个分量和$Y$并不独立,所以可以分别拟合$P(X^{(j)}|Y), j = 1, 2, ..., n$(可以用极大似然估计拟合$P(X^{(j)}, Y)$,再计算$P(X^{(j)}|Y)$),然后把它们全都乘起来得$P(X|Y) = prodlimits_{j=1}^{n}P(X^{(j)}|Y)$(这里和上面不一样,因为是连续的,所以不能等于某个特定的值$x_j$),再拟合边缘分布$P(Y)$,然后与$P(X|Y)$相乘获得联合分布$P(X, Y)$。 当然也可以直接拟合$P(X, Y)$,因为$X$的分量之间相互独立,所以除了外协方差矩阵中除了对角线以及包含$Y$的协方差外,其它协方差$Cov(X^{(j)},X^{(i)})$都为0,所以要优化的参数也少了很多,形如:
$egin{bmatrix}Cov(X^{(0)}, X^{(0)})& 0 & . & . & . &Cov(X^{(0)}, Y) 0 &Cov(X^{(1)}, X^{(1)}) & . & .& . &Cov(X^{(1)}, Y) . & & . & & & . .& & & . && . .& & && . & . Cov(Y, X^{(0)}) & Cov(Y, X^{(1)}) & . & . & . &Cov(Y, Y)&end{bmatrix}$
分类的时候,通过贝叶斯公式计算后验概率分布,取后验概率最大的$Y$作为预测结果:
$y = f(x) = mathop{argmax}limits_{c_k} P(Y = c_k|X = x) $
$= mathop{argmax}limits_{c_k} frac{P(Y = c_k, X = x)}{sumlimits_{k}P(X = x|Y = c_k)P(Y = c_k)}$
因为分母对每个$Y$都是一样的,所以可以简化为:
$= mathop{argmax}limits_{c_k} P(Y = c_k, X = x)$
因此在这里最大后验概率的预测等价于最大联合概率。
后验最大化的含义
这里的后验概率最大化等价于机器学习中常用的期望风险最小化。如果用期望风险最小化来推出预测函数,就要定义损失函数,书上选择0-1损失函数(也可以是别的损失函数形式)。具体证明直接贴书上的图:
如果觉得《matlab贝叶斯判别后验概率 统计学习方法——朴素贝叶斯法 先验概率 后验概率(示例代码)...》对你有帮助,请点赞、收藏,并留下你的观点哦!