一、贝叶斯网络
1.(补充)先验概率和后验概率
先验概率:指以往的经验和分析。 可以在实验或采样前获得概率
后验概率:指某件事已经发生,想要计算这件事发生的原因是个因素引起的概率。
2.(补充)估计很大
很明显,一般来说,就是利用已知的样本结果信息来反推最有可能(最大概率)导致这些样本结果出现的模型参数值!
example:
假如有一个罐子,里面有黑白两种颜色的球,数量不知道,两种颜色的比例也不知道。我 我们想知道罐子里白球和黑球的比例,但我们不能把罐子里的球都拿出来。现在我们可以每次从摇匀的罐子里拿出一个球来记录球的颜色,然后把球拿出来 把它放回罐子里。这个过程可以重复,我们可以用记录球的颜色来估计罐中黑白球的比例。如果前面的100次重复记录中有70次是白球,罐中白球最有可能占多大比例?
假设罐中白球的比例是p,那么黑球的比例是1-p。因为每次抽出一个球,记录颜色后,我们把抽出的球放回罐子里摇匀,
在这里,我们称一次抽出球的颜色为一次抽样。题目中,在100次抽样中,70次是白球,30次是黑球事件的概率是P(样本结果|Model)。
如果第一次抽象的结果被记录为x1.第二次抽样的结果记录为x2...所以样本结果是(x1,x2...,x100)。这样,我们就可以得到以下表达式:
P(样本结果|Model)
= P(x1,x2,…,x100|Model)
= P(x1|Mel)P(x2|M)…P(x100|M)
= p^70(1-p)^30.
嗯,我们已经有了观察样本结果的概率表达式。然后我们要求的模型参数,即所需模型中的参数p。
那我们怎样才能求这个p呢?
不同的p,直接导致P(样本结果|Model)的不同。
好的,我们的p实际上有无数的分布。
那么求出 p^70(1-p)^30为 7.8 * 10^(-31)
p也可分布如下:
也可以求出p^70(1-p)^30为2.95* 10^(-27)
所以既然事情发生了,为什么不让结果最有可能呢?
p^70(1-p)^最大的30,太简单了,只有一个未知数p,如果我们把它的导数给0,我们可以找到p的70%,这与我们一开始认为的70%是一致的。它包含了我们的数学思想。
3.概念
贝叶斯网络,又称向无环图,是一种概率图模型。根据概率图的拓扑结构,检查一组即时变量{X1、X2、X3...Xn}n组条件概率分布的性质。
4.贝叶斯网络的结点和箭头
一般来说,贝叶斯网络向无环图中的结点表示随机变量,它们可以观察到变量、隐藏变量、未知参数等。连接两个结点的箭头意味着这两个随机变量具有因果关系(或非条件独立性)。如果两个结点与一个单箭头连接在一起,一个结点是原因,另一个结点是水果,两个结点将产生一个条件概率值。
箭头表示,本质不是因果关系,而是非条件独立。
5.一个简单的贝叶斯网络
简单:全连接的贝叶斯网络,每一对结点之间都有边连接。
模型建立非常复杂,不利于推导甚至产生拟合问题。
6.贝叶斯网络正常
正常:部分边缘缺失
7.贝叶斯网络实例
参数为1 1 4 2 2=10个
计算:John与Mary都告诉,Alarm响起,但没有盗窃或地震的可能性?
8.特殊贝叶斯网络-马尔可夫模型
还有一阶马尔可夫模型和二阶马尔可夫模型...
伪随机,伪随机数发生器 是 马尔可夫模型
本质上,斐波那契数列 不是 马尔可夫模型(因为数列中的每个数字都是确定的)
9.通过贝叶斯网络判断条件的独立性
1)tail-to-tail模型(在C 给定 的条件下,ab被阻断,是独立的)
2)head-to-tail模型(在C 给定 的情况下,ab被阻断,是独立的)
3)head-to-head模型(在C 未知 的情况下,ab被阻断,是独立的)
10.有向分离的举例
在给定Battery的前提下,Gas和Radio是否独立? 独立
在给定Ignition的前提下,Gas和Radio是否独立? 独立
在给定Starts的前提下,Gas和Radio是否独立? 不独立
在给定Moves的前提下,Gas和Radio是否独立? 不独立
11.隐马尔可夫模型(HMM)与马尔可夫毯(单独板块)
隐马尔可夫模型(可用于标注问题,在语音识别,NLP,生物信息,模式识别等领域被实践证明是有效的算法)是关于时间序列的概率模型,描述由一个隐藏的马尔科夫链随机生成的不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。
一个结点的马尔科夫毯是一个集合,在这个集合中的结点都给定的条件下,。
12.贝叶斯网络的用途
在贝叶斯网络确定的结点拓扑结构和条件概率分布的前提下,可以使用该网络对未知数据计算条件概率或者后验概率,从而达到诊断、预测或者分类的目的。
诊断(例:P(病因|症状)),
预测(例:P(症状|病因)),
分类(例:MAXclassP(类别|数据))。
通过给定的样本数据,建立贝叶斯网络的拓扑结构和结点的条件概率分布参数。往往需要借助先验知识和极大似然法估计来完成。
13.贝叶斯网络的构建
先确定结点,在确定每一个结点之间是否应该有边的问题(中看不中用)
模型要按照信息流动的方向构建,要有实际的业务联系(数据、业务、逻辑相结合),即使业务中没有绝对独立,或独立原因不明确,可以靠感觉。
得到的模型不见得是最好的,要学会不断优化贝叶斯网络。
14.贝叶斯网络的推理
二、朴素贝叶斯分类器
曾被称为十大数据挖掘算法之一,往往用于文本处理中(因为文本处理特征较多)
是一个较为简单的模型,基本不会出现过拟合
【用深度学习做图像处理已经慢慢做的比较的精确了,自然语言出口是这些年比较热门的方面,有一些坑还没有填上,社会需求也非常大】
1.朴素贝叶斯的假设
1)一个特征出现的概率与其他特征(条件)独立(对于给定分类的条件下,特征独立)。
(特征独立假设要求太严了,很多时候的有些特征并不是完全独立的。但为了简化公式而做出假设,最终得出的结果拟合度还算比较高。——>为了得到更好的结果,可能还需要在算法和模型上做出更多的改进。)
2)每个特征同等重要(特征均衡性)
2.朴素贝叶斯的推导
朴素贝叶斯是基于这一朴素的假设,应用贝叶斯定理做出的监督学习算法。
最后一个公式表示:哪一个算的概率最大,哪一个y就是给定的结果。
3.高斯朴素贝叶斯
PS:高斯分布即正态分布,只是相同的分布不相同的叫法。
假设认为每一个特征符合高斯分布,则可以得到以下公式:
4.多项分布朴素贝叶斯
二项分布:假设某个试验是伯努利试验,成功概率用p表示,那么失败的概率为1-p。(现在进行了N次这样的试验,成功了x次,失败了N-x次,发生这种情况的概率是多少)
多项分布:多项分布是二项分布的扩展,其中随机试验的结果不是两种状态,而是K种互斥的离散状态,每种状态出现的概率为pi,p1 + p1 + … + pK = 1,在这个前提下共进行了N次试验,用x1~xK表示每种状态出现次数,x1 + x2 + …+ xK = N,称X=(x1, x2, …, xK)服从多项分布,记作X~PN(N:p1, p2,…,pn)。
5.朴素贝叶斯的参数估计
极大似然估计+贝叶斯估计(即上述的MLE估计的改进)
5.实例:以文本分类为例
1)分析
(词汇表建立最好方法:对所有邮件所有的词汇进行分开后形成邮件的单词词典)
可以使用jieba(结巴)中文分词,之后使用TF-IDF算法建立词汇表。
(隐马尔可夫模型可以进行中文分词)
在计算P(x|c)时应该使用:
在某一个类别当中某一个单词出现的次数很有可能出现0次(即n1=0),导致P(x|c)=0
N:代表所有单词的数目,即特征的个数。(修正分母是为了保证概率和为1)
6.实例:一个简单的例子
现在给我们的问题是:如果一对男女朋友,男生想女生求婚,男生的四个特点分别是不帅,性格不好,身高矮,不上进,请你判断一下女生是嫁还是不嫁?
这是一个典型的分类问题,,谁的概率大,我就能给出嫁或者不嫁的答案!
这里我们联系到朴素贝叶斯公式:
我们需要求p(嫁|(不帅、性格不好、身高矮、不上进),这是我们不知道的,但是通过朴素贝叶斯公式可以转化为好求的三个量,p(不帅、性格不好、身高矮、不上进|嫁)、p(不帅、性格不好、身高矮、不上进)、p(嫁)(至于为什么能求,后面会讲,那么就太好了,将待求的量转化为其它可求的值,这就相当于解决了我们的问题!)
是根据已知训练数据统计得来,下面详细给出该例子的求解过程。
回忆一下我们要求的公式如下:
那么我只要求得、、即可,好的,下面我分别求出这几个概率,最后一比,就得到最终结果。
那么我就要分别统计后面几个概率,也就得到了左边的概率!
等等,为什么这个成立呢?学过概率论的同学可能有感觉了,这个等式成立的条件需要特征之间相互独立吧!
1)我们这么想,假如没有这个假设,那么我们对右边这些概率的估计其实是不可做的,这么说,我们这个例子有4个特征,其中帅包括{帅,不帅},性格包括{不好,好,爆好},身高包括{高,矮,中},上进包括{不上进,上进},
2)假如我们没有假设特征之间相互独立,那么我们统计的时候,就需要在整个特征空间中去找,比如统计p(不帅、性格不好、身高矮、不上进|嫁),
根据上面俩个原因,朴素贝叶斯法对条件概率分布做了条件独立性的假设,由于这是一个较强的假设,朴素贝叶斯也由此得名!这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
好的,上面我解释了为什么可以拆成分开连乘形式。那么下面我们就开始求解!
我们将上面公式整理一下如下:
下面我将一个一个的进行统计计算()。
性格不好统计如上红色所示,占4个,那么p(性格不好) = 4/12 = 1/3
身高矮统计如上红色所示,占7个,那么p(身高矮) = 7/12
不上进统计如上红色所示,占4个,那么p(不上进) = 4/12 = 1/3
= (1/2*1/6*1/6*1/6*1/2)/(1/3*1/3*7/12*1/3)
下面我也一个一个来进行统计计算,这里与上面公式中,分母是一样的,于是我们分母不需要重新统计计算!
则p(不嫁)=6/12 = 1/2
则p(不帅|不嫁) = 1/6
则p(性格不好|不嫁) =3/6 = 1/2
则p(矮|不嫁) = 6/6 = 1
则p(不上进|不嫁) = 3/6 = 1/2
p (不嫁|不帅、性格不好、身高矮、不上进) = ((1/6*1/2*1*1/2)*1/2)/(1/3*1/3*7/12*1/3)
7.朴素贝叶斯分类器的优缺点
1)优点:
- 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。
- 对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
- 对缺失数据不太敏感,算法也比较简单,常用于文本分类。
2)缺点:
- 理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。
- 需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
- 由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率
- 对输入数据的表达形式很敏感。
而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有。