贝叶斯公式=贝叶斯定理
贝叶斯公式就是想用概率数学来表示事件发生依赖关系。 贝叶斯公式长下面这样:
P ( X = x ) P(X=x) P(X=x)就是X的面积。 P ( Y = y ) P(Y=y) P(Y=y)就是Y的面积。 P ( X = x ∣ Y = y ) P(X=x|Y=y) P(X=x∣Y=y)是什么? P ( X = x ∣ Y = y ) P(X=x|Y=y) P(X=x∣Y=y)是指Y发生的情况下X发生的概率。用图形表示就是,只看Y的情况下Y里面的X占比多少。这不就是相交部分除以Y的面积么?相交部分计算方式=X的面积*相交部分占X的比率。 再看看前面的公式就完全能理解了。
任何机器学习都是要套一个数学模型。那朴素贝叶斯分类器套的是什么模型呢? 它是想计算一个概率值。什么概率呢?就是当样本为x时,这个样本来自类A的概率是多少,来自类B的概率是多少。如果来自类A的概率>来自类B的概率。那就分类器输出样本属于类A。 用公式表示就是P(A|x)>P(B|x)=》x属于A .其中P(A|x)表示当样本取值是x时它来自类A的概率,P(B|x)表示当样本取值是x时它来自类B的概率。 这样咋看好像很有道理的样子。那么问题来了,我咋知道样本x属于A和B的概率,要我知道了那还用分嘛?
根据贝叶斯公式我们知道 P ( A ∣ x ) = P ( x ∣ A ) ∗ P ( A ) P ( x ) P(A|x)=\frac {P(x|A)*P(A)} {P(x)} P(A∣x)=P(x)P(x∣A)∗P(A)。其中P(A)表类A占比总数据中的比例。P(x)是指样本值等于x的数据占总数据的比例。P(x|A)表示在类A中,有多少个和x一样的数据。这三个概率我们都是知道的。那么或许你会问前面只有一个特征,那两个特征的样本怎么计算概率?答:假设一个样本有两个特征x,y。那么 P ( x , y ) = P ( x ) ∗ P ( y ) , P ( x , y ∣ A ) = P ( x ∣ A ) ∗ P ( y ∣ A ) , P ( A ) 和 只 有 一 个 特 征 时 计 算 方 法 一 样 P(x,y)=P(x)*P(y),P(x,y|A)=P(x|A)*P(y|A), P(A)和只有一个特征时计算方法一样 P(x,y)=P(x)∗P(y),P(x,y∣A)=P(x∣A)∗P(y∣A),P(A)和只有一个特征时计算方法一样。计算P(B|x)和计算P(A|x)同理。 举个例子:
数据格式为 (样本值x,样本值y,类标签) (1,0,A) (0,1,A) (1,1,B) (0,0,B)如果我们想知道样本(0,1)是属于类A的概率 P ( A ∣ 样 本 值 = ( 0 , 1 ) ) P(A|样本值=(0,1)) P(A∣样本值=(0,1))有多大,我们得先计算下这几个概率值:P(A),P(0,1|A),P(0,1)。
P ( A ) = 2 4 P(A)=\frac 2 4 P(A)=42,这个指的是标签为A的数据占总数据中的比例 P ( 0 , 1 ) = P ( 样 本 值 x = 0 ) ∗ P ( 样 本 值 y = 1 ) = 1 2 ∗ 1 2 = 1 4 P(0,1)=P(样本值x=0)*P(样本值y=1)=\frac 1 2 * \frac 1 2=\frac 1 4 P(0,1)=P(样本值x=0)∗P(样本值y=1)=21∗21=41;其中 P ( 0 , 1 ) P(0,1) P(0,1)指的是样本(0,1)占总数据中的比例是多少,这道题中我们直接可以看出来是 1 4 \frac 1 4 41,但是有些情况下无法直接统计和样本值完全相同那就得用公式 P ( x ) ∗ P ( y ) P(x)*P(y) P(x)∗P(y)计算 P ( x , y ) P(x,y) P(x,y)了。其中 P ( 样 本 值 x = 0 ) P(样本值x=0) P(样本值x=0)指的是样本第一个特征等于0的数据占总数据中的比例。其中 P ( 样 本 值 y = 1 ) P(样本值y=1) P(样本值y=1)指的是样本第二个特征等于1的数据占总数据中的比例。我们通过 P ( 样 本 值 x = 0 ) ∗ P ( 样 本 值 y = 1 ) P(样本值x=0)*P(样本值y=1) P(样本值x=0)∗P(样本值y=1)计算出来的值和我们直接观察到的(0,1)占总数据比例是相等的,都是 1 4 \frac 1 4 41证明我们计算没有问题。 P ( 0 , 1 ∣ A ) = P ( 样 本 x = 0 ∣ A ) ∗ P ( 样 本 y = 1 ∣ A ) = 1 4 P(0,1|A)=P(样本x=0|A)*P(样本y=1|A)=\frac 1 4 P(0,1∣A)=P(样本x=0∣A)∗P(样本y=1∣A)=41; 用乘法公式 P ( 样 本 x = 0 ∣ A ) ∗ P ( 样 本 y = 1 ∣ A ) P(样本x=0|A)*P(样本y=1|A) P(样本x=0∣A)∗P(样本y=1∣A)计算P(0,1|A)。你或许会发现明明P(0,1|A)就是等于 1 2 \frac 1 2 21嘛,为何用乘法公式计算出来是 1 4 \frac 1 4 41。这是因为乘法公式的前提是特征x和特征y时相互独立的。而在本例中乘法公式失效是因为在类A中的数据两个特征x,y是明显是相互干扰,x=1那么y不是1。通过举例子是想告诉大家,贝叶斯分类器它默认的前提是各个特征他们是相互独立的,这个特征的取值不会影响另一个特征的取值。其实主要原因是我们为了方便说明数据量太少所以不独立很正常,只有数据量足够大才能表现出独立性。答:用于参数估计。机器学习做的事情其实就是找到一个概率分布函数,输入一个数据输出是这个数据属于某个类的概率。 那么怎么找这个概率分布函数呢?一般是默认是高斯分布。
假设样本的概率分布是高斯分布。高斯分布长下面这样,有两个参数 u 和 σ u和\sigma u和σ。贝叶斯公式就是用来估计这两个参数。 那么贝叶斯公式怎么估计这两个参数你呢?将 u 和 σ u和\sigma u和σ记作为 θ \theta θ。也就是说我们需要估计 θ \theta θ的值是多少。 其中 P ( X = x ∣ θ = θ ^ ) = = f θ ^ ( x ) P(X=x|\theta=\hat {\theta})==f_{\hat \theta}(x) P(X=x∣θ=θ^)==fθ^(x)。上面那个公式的意思就是说, θ \theta θ有很多很多取值, θ ^ \hat \theta θ^是其中一个。那么怎么知道哪个最好呢?计算 θ ^ \hat \theta θ^是X的最好参数的可能性 P ( θ = θ ^ ∣ X = x ) P(\theta = \hat \theta |X=x) P(θ=θ^∣X=x),哪个可能性最大就选哪个参数。这就是极大似然法。,极大似然法就是现有有多个可能的参数取值,我不知道取哪个最好。为了知道取哪个最好。我要计算出各个参数为优参数的可能性。然后将可能性最大的那个参数作为目前的概率分布函数最优参数。 那假如 θ \theta θ取值无限种情况呢? θ \theta θ取值无限的情况下,需要用梯度下降优化极大似然法这个等式.下面这个等式。不懂梯度下降可以看看这两篇文章: https://www.zhihu.com/question/305638940/answer/670034343 https://blog.csdn.net/varyshare/article/details/89556131