贝叶斯定理

Bayes' theorem (贝叶斯定理)

99封情书 提交于 2020-03-30 04:04:59
前言   AI时代的到来一下子让人感觉到数学知识有些捉襟见肘,为了不被这个时代淘汰,我们需要不断的学习再学习。其中最常见的就是贝叶斯定理,这个定理最早由 托马斯·贝叶斯 提出。   贝叶斯方法的诞生源于他生前为解决一个“ 逆向概率 ”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。在贝叶斯写这篇论文之前,人们已经能够计算“正向概率”,如“袋子里N个白球,M个黑球,随机抓一个,抓到白球的概率”。而随之而来的另一个反过来的问题就是 “如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测”。这个问题,就是所谓的“逆概”问题。   实际上,贝叶斯当时的论文只是对这个问题的一个直接的求解尝试,并不清楚他当时是不是已经意识到这里面包含着的深刻的思想。然而后来,贝叶斯方法席卷了概率论,并将应用延伸到各个问题领域,所有需要作出概率预测的地方都可以见到贝叶斯方法的影子,特别需要提的是: 贝叶斯是机器学习的核心方法之一 。这背后的深刻原因在于,现实世界本身就是不确定的,人类的观察能力是有局限性的(否则有很大一部分科学就没有必要做了——设想我们能够直接观察到电子的运行,还需要对原子模型争吵不休吗?),我们日常所观察到的只是事物表面上的结果,沿用刚才那个袋子里面取球的比方

贝叶斯、概率分布与机器学习

浪子不回头ぞ 提交于 2020-03-21 06:39:35
本文由LeftNotEasy原创,可以转载,但请保留出处和此行,如果有商业用途,请联系作者 wheeleast@gmail.com 一. 简单的说贝叶斯定理: 贝叶斯定理用数学的方法来解释生活中大家都知道的常识 形式最简单的定理往往是最好的定理,比如说中心极限定理,这样的定理往往会成为某一个领域的理论基础。机器学习的各种算法中使用的方法,最常见的就是贝叶斯定理。 贝叶斯定理的发现过程我没有找到相应的资料,不过我相信托马斯.贝叶斯(1702-1761)是通过生活中的一些小问题去发现这个对后世影响深远的定理的,而且我相信贝叶斯发现这个定理的时候,还不知道它居然有这么大的威力呢。下面我用一个小例子来推出贝叶斯定理: 已知:有N个苹果,和M个梨子,苹果为黄色的概率为20%,梨子为黄色的概率为80%,问,假如我在这堆水果中观察到了一个黄色的水果,问这个水果是梨子的概率是多少。 用数学的语言来表达,就是已知P(apple) = N / (N + M), P(pear) = M / (N + M), P(yellow|apple) = 20%, P(yellow|pear) = 80%, 求P(pear|yellow). 要想得到这个答案,我们需要 1. 要求出全部水果中为黄色的水果数目。 2. 求出黄色的梨子数目 对于1) 我们可以得到 P(yellow) * (N + M), P

5.机器学习之朴素贝叶斯详解

强颜欢笑 提交于 2020-03-18 01:11:41
本篇博客主要详细介绍朴素贝叶斯模型。首先贝叶斯分类器是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类器。而朴素贝叶斯分类器是贝叶斯分类器中最简单,也是最常见的一种分类方法。并且,朴素贝叶斯算法仍然是流行的十大挖掘算法之一,该算法是有监督的学习算法,解决的是分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提(这个假设在实际应用中往往是不成立的),就会导致算法精度在某种程度上受影响。 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,是经典的机器学习算法之一。最为广泛的两种分类模型是决策树(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。 历史背景解读: 18世纪英国数学家托马斯·贝叶斯(Thomas Bayes,1702~1761)提出过一种看似显而易见的观点:

jieba分词库的安装与使用

為{幸葍}努か 提交于 2020-03-16 19:53:38
Anaconda安装wordcloud GitHub: wordcloud 直接在Anaconda Prompt输入: conda install -c conda-forge wordcloud Anaconda安装jieba GitHub: jieba 方式一: 直接在Anaconda Prompt输入: conda install -c conda-forge jieba 。 方式二: 1.下载jieba压缩包: jieba 2. 将压缩包解压到anaconda下的pkgs目录下, 3. 进入pkgs目录下的jieba-0.39(或其他版本),打开命令行窗口(shift+右键),输入python setup.py install即可完成安装。 其他: 添加下载渠道, Anaconda 安装jieba 库报错 使用jieba分词库 jieba分词的原理 Jieba分词依靠中文词库 利用一个中文词库,确定汉字之间的关联概率 汉字间概率大的组成词组,形成分词结果 除了分词,用户还可以添加自定义的词组 jieba分词的三种模式 精确模式:把文本精确的切分开,不存在冗余单词 全模式:把文本中所有可能的词语都扫描出来,有冗余 搜索引擎模式:在精确模式基础上,对长词再次切分 jieba库常用函数 jieba.cut(s):精确模式,返回一个可迭代的数据类型 jieba.cut(s,cut

朴素贝叶斯算法

大兔子大兔子 提交于 2020-03-08 08:59:55
朴素贝叶斯法是一种基于贝叶斯定定理和特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入$x$,利用贝叶斯定理求出后验概率最大输出的$y$。朴素贝叶斯法对条件概率分布作了条件独立假设,朴素贝叶斯法因为这个较强的假设而得名。 一、基本方法 假设输入空间$x\in \mathbb{R}^{n}$是n维向量的集合,输出空间为类别标签的集合$y= \left \{ c_{1},c_{2},...,c_{k} \right \}$,输入为特征向量$x\in \chi $,输出为类别标签$y\in \gamma$。$X$是定义在输入空间$\chi$上的随机向量。$Y$是定义在输出空间$\gamma$上的随机变量。$P\left ( X,Y \right )$是X和Y的联合概率分布。训练数据集: $T=\left \{ \left ( x_{1}, y_{1} \right ), \left ( x_{2}, y_{2} \right ),...,\left ( x_{N}, y_{N} \right ) \right \}$ 由$P\left ( X,Y \right )$独立同分布产生。 来源: https://www.cnblogs.com/xjlearningAI/p/12437028.html

朴素贝叶斯分类的原理与流程

北城以北 提交于 2020-03-06 23:52:39
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想 真 的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。 朴素贝叶斯分类的正式定义如下: 1、设 为一个待分类项,而每个a为x的一个特征属性。 2、有类别集合 。 3、计算 。 4、如果 ,则 。 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做: 1、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2、统计得到在各类别下各个特征属性的条件概率估计。即 。 3、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导: 因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有: 根据上述分析,朴素贝叶斯分类的流程可以由下图表示(暂时不考虑验证): 可以看到,整个朴素贝叶斯分类分为三个阶段: 第一阶段——准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性

贝叶斯先验概率和后验概率

陌路散爱 提交于 2020-03-02 07:23:28
前言: 贝叶斯公式究竟是什么意思,在现实中的含义是什么,什么是先验概率,什么是后验概率? 问题: 如下图所示:在一个群体中,有20个人。感冒5人,流感6人,脑膜炎4人,脑瘫3人,正常2人。 以B为例,解释一下。B表示感冒,感冒人数是5人,其中2人头疼。 现在问题是:当一个人头疼,判断这个人是感冒的概率? 解答: 1:(ABCDEF都表示事件),A表示头疼,B是感冒,C表示流感,D表示脑膜炎,E表示脑瘫,F是正常 2:因此,我们的问题就是求解 ,由贝叶斯定理我们知道: 其中: 表示在事件A发生的情况下,事件B发生的概率。 3:一个人头疼肯定是由上述5中情况导致的,因此由全概率公式,我们知道: 即: 4:从上面的图可以统计出来 , , , , 以 为例,它表示在感冒时头疼的概率,共5人感冒,2人头疼,则 , , , , , , , 则 其中,P(A)还有一个算法,就是用(总的头疼人数)除以(总的人数),同样也是0.5 5: ,因此我们知道当一个人头疼的时候,这个人感冒的概率是0.2 同样的方式计算 , , , 所以,当一个人头疼时,他感冒的概率是0.2,流感的概率是0.4,脑膜炎的概率是0.3,脑瘫的概率是0.1,正常的概率是 0,就是说只有这个人头疼,他就不可能是正常人,一定是患病的,这很好解释,因为正常人不会头疼。 总结: 通过这个例子可以发现,当我们要解答“一个人头疼

2.2:监督学习的基本分类模型(KNN、决策树、朴素贝叶斯)

 ̄綄美尐妖づ 提交于 2020-02-12 19:33:28
K近邻分类器(KNN) KNN:通过计算待分类数据点,与已有数据集中的所有数据点的距离。取距离最小的前K个点,根据“少数服从多数“的原则,将这个数据点划分为出现次数最多的那个类别。 sklearn中的K近邻分类器 在sklearn库中,可以使用sklearn.neighbors.KNeighborsClassifier创建一个K近邻分类器,主要参数有: • n_neighbors:用于指定分类器中K的大小( 默认值为5,注意与kmeans的区别 ) • weights:设置选中的K个点对分类结果影响的权重( 默认值为平均权重“uniform”,可以选择“distance”代表越近的点权重越高,或者传入自己编写的以距离为参数的权重计算函数 ) • algorithm:设置用于计算临近点的方法,因为当数据量很大的情况下计算当前点和所有点的距离再选出最近的k各点,这个计算量是很费时的,所以( 选项中有ball_tree、kd_tree和brute,分别代表不同的寻找邻居的优化算法,默认值为auto,根据训练数据自动选择 ) K近邻分类器的使用 创建一组数据 X 和它对应的标签 y: >>> X = [[0], [1], [2], [3]] >>> y = [0, 0, 1, 1] 使用 import 语句导入 K 近邻分类器: >>> from sklearn.neighbors

机器学习11:贝叶斯分析

我的未来我决定 提交于 2020-02-06 02:21:46
集成学习 贝叶斯分析 原理 数理统计学处理的信息 总体信息:当前总体样本符合某种分布。比如抛硬币,二项分布。学生的某一科的成绩符合正态分布。 样本信息:通过抽样得到的部分样本的某种分布。 抽样信息=总体信息+样本信息 基于抽样信息进行统计推断的理论和方法称为经典统计学。 先验信息:抽样之前,有关推断问题中未知参数的一些信息,通常来自于经验或历史资料。 基于总体信息+样本信息+先验信息进行统计推断的方法和理论,称为贝叶斯统计学。 贝叶斯定理 贝叶斯定理告诉我们如何交换条件概率中的条件与结果,即如 果已知P(X|H),要求P(H|X),那么可以使用下面的计算方法: 朴素贝叶斯(Naive Bayes) 假设:特征X1,X2,X3……之间都是相互独立的 四个模型 高斯模型 有些特征可能是连续型变量,比如说人的身高,物体的长度,这些特征可以转换成离散型的值,比如如果身高在160cm以下,特征值为1;在160cm和170cm之间,特征值为2;在170cm之上,特征值为3。也可以这样转换,将身高转换为3个特征,分别是f1、f2、f3,如果身高是160cm以下,这三个特征的值分别是1、0、0,若身高在170cm之上,这三个特征的值分别是0、0、1。不过这些方式都不够细腻,高斯模型可以解决这个问题。 词袋模型(Bag of Words) TF-IDF 提取词频 (Term Frequency

机器学习——朴素贝叶斯

家住魔仙堡 提交于 2020-01-30 21:59:43
参考 : https://cuijiahua.com/blog/2017/11/ml_4_bayes_1.html https://cuijiahua.com/blog/2017/11/ml_5_bayes_2.html https://www.jianshu.com/p/5953923f43f0 一、朴素贝叶斯简介 1.1、朴素贝叶斯算法简介 朴素贝叶斯算法(Naive Bayesian algorithm) ,朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化, 即假定给定目标值时属性之间相互条件独立 。 1.2 贝叶斯定理 贝叶斯决策理论:选择具有高概率的发生情况为最终判断。 根据已知的基础条件概率和部分概率,推断出在某种条件下下的概率。 1.3、条件概率推断 全部事件的概率是 S A 事件的概率是 A B 事件的概率是 B A 的对立事件概率是 A’ A 与 B 共同事件概率是 A∩B 说明:A 与 A‘ 对立且共同构成 S。 我们可以推断出在 B 条件下发生 A 事件的概率,然后一步步把 A∩B 改变成另一个表示 这就是条件概率的计算公式。 如果考虑到下面的全概率公式和上面图片只考虑 A 和 A‘ 条件概率公式可改为: 1.4、全概率推断 若事件 A 1 、 A 2 、……A n 构成一个完备事件组即 且都有正概率,那么对于任意一个事件A,有如下全概率公式: 1.5