2021人工智能领域新星创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。
概述
本篇文章重点要讲解的是朴素贝叶斯分类器
该算法同高斯判别分析一样,是一种概率生成模型,都是基于 P ( Y ∣ X ) P(Y|X)P(Y∣X) 做分析,但是与高斯判别分析不同的是,朴素贝叶斯多做了一个假设,就是数据的不同维度之间独立,每个维度之间没有任何关系。
这样做假设的目的没有别的就是方便计算,但是我们现实中的数据的特征往往不是独立,都是存在一定关联性的,所以朴素贝叶斯算法存在一定的局限性。
算法流程
本算法的目的和高斯线性判别一样,都是要概率 P ( Y ∣ X ) P(Y|X)P(Y∣X) 最大,利用条件概率可以将其写为:
P ( y ∣ x ) = p ( y ) p ( x ∣ y ) p ( x ) P(y|x)=\frac{p(y)p(x|y)}{p(x)}P(y∣x)=p(x)p(y)p(x∣y)
在高斯线性判别中我们分别对y和x建模,假设服从一定的分布:
其中y服从的是伯努利分布:
y ∼ B e r n o u l l i ( ϕ ) y \sim Bernoulli(\phi)y∼Bernoulli(ϕ)
数据X服从高斯分布:
x ∼ N ( μ , Σ ) x\sim N(\mu,\Sigma)x∼N(μ,Σ)
这里我们的X为高维数据,所以服从的方差应该用协方差矩阵来进行表示。
1 ( 2 π ) p 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − y ) ) \frac{1}{(2\pi)^{\frac{p}{2}}|\Sigma|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-y))(2π)2p∣Σ∣211exp(−21(x−μ)TΣ−1(x−y))
如果就x的一个维度来说,该特征的概率密度公式为:
p ( x i ) = 1 2 π σ e x p ( − ( x i − x ‾ i ) 2 2 σ 2 ) p(x_i)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x_i-\overline x_i)^2}{2\sigma^2})p(xi)=2πσ1exp(−2σ2(xi−xi)2)
这样就是我们熟悉的一维随机变量的概率密度公式,因为各个维度相互独立,所以目标函数可以进一步表示为:
P ( y ∣ x ) = p ( y ) p ( x ∣ y ) p ( x ) = p ( y ) ∏ i = 1 n p ( x i ∣ y ) p ( x ) P(y|x)=\frac{p(y)p(x|y)}{p(x)}\\=\frac{p(y)\prod_{i=1}^np(x_i|y)}{p(x)}P(y∣x)=p(x)p(y)p(x∣y)=p(x)p(y)∏i=1np(xi∣y)
然后我们再把各个维度服从的高斯密度函数带入计算即可,由于这个和高斯判别分析差不多,接下来的计算就不写了。
求解的参数就为各个维度服从正态分布的均值 μ \muμ 和方差 σ \sigmaσ