首页 > 编程语言 >简单易学的机器学习算法——朴素贝叶斯

简单易学的机器学习算法——朴素贝叶斯

时间:2023-06-14 21:02:42浏览次数:63  
标签:概率 分类 贝叶斯 算法 事件 先验概率 易学 朴素


一、贝叶斯定理

    1、条件概率


B发生的情况下,事件A发生的概率,用

表示。

    2、全概率公式


        


含义是:如果


构成样本空间的一个划分,那么事件B的概率,就等于


的概率分别乘以B对这两个事件的条件概率之和。

    3、贝叶斯推断


        


其中

称为先验概率,即在事件B发生之前,我们对事件A的概率的一个判断。

称为后验概率,即在事件B发生之后,我们对事件A的概率的重新估计。

称为调整因子,使得预估概率更接近真实概率。

    贝叶斯推断告诉我们,先预估计一个“先验概率”,然后加入实验结果,看这个实验到底是增强还是削弱了“先验概率”,由此得到更接近事实的“后验概率”。


二、朴素贝叶斯

    1、朴素贝叶斯的概述


        朴素贝叶斯是基于贝叶斯决策理论的分类方法,朴素贝叶斯之所以成为“朴素”,是因为在整个过程中都假设特征之间是相互独立的以及每一个特征都是同等重要的。


    2、朴素贝叶斯的原理


        朴素贝叶斯是使用条件概率来分类的,假设有一个二分类问题,二分类是指分成两个类的问题,如

类和

类。假设样本有两个特征


,则需要分别求解条件概率


。而

可以表述为


由于特征之间是相互独立的的,所以


此时要做分类,贝叶斯分类准则为:


    如果

,那么属于

类;

    如果

,那么属于

类。

标签:概率,分类,贝叶斯,算法,事件,先验概率,易学,朴素
From: https://blog.51cto.com/u_16161414/6481102

相关文章

  • 简单易学的机器学习算法——极限学习机(ELM)
    一、极限学习机的概念    极限学习机(ExtremeLearningMachine)ELM,是由黄广斌提出来的求解单隐层神经网络的算法。    ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),在保证学习精度的前提下比传统的学习算法速度更快。二、极限学习机的原理EL......
  • 简单易学的机器学习算法——Logistic回归
    一、Logistic回归的概述  Logistic回归是一种简单的分类算法,提到“回归”,很多人可能觉得与分类没什么关系,Logistic回归通过对数据分类边界的拟合来实现分类。而“回归”也就意味着最佳拟合。要进行最佳拟合,则需要寻找到最佳的拟合参数,一些最优化方法就可以用于最佳回归系数的确......
  • 优化算法——遗传算法
    与遗传算法的第一次接触遗传算法是我进入研究生阶段接触的第一个智能算法,从刚开始接触,到后来具体去研究,再到后来利用遗传算法完成了水利水电的程序设计比赛,整个过程中对遗传算法有了更深刻的理解,在此基础上,便去学习和研究了粒子群算法,人工蜂群算法等等的群体智能算法。想利用这个时......
  • 简单易学的机器学习算法——因子分解机(Factorization Machine)
    一、因子分解机FM的模型    因子分解机(FactorizationMachine,FM)是由SteffenRendle提出的一种基于矩阵分解的机器学习算法。1、因子分解机FM的优势    对于因子分解机FM来说,最大的特点是对于稀疏的数据具有很好的学习能力。现实中稀疏的数据很多,例......
  • 优化算法——模拟退火算法
    模拟退火算法原理爬山法是一种贪婪的方法,对于一个优化问题,其大致图像(图像地址)如下图所示:其目标是要找到函数的最大值,若初始化时,初始点的位置在处,则会寻找到附近的局部最大值点处,由于点出是一个局部最大值点,故对于爬山法来讲,该算法无法跳出局部最大值点。若初始点选择在处,根据爬......
  • 挑战数据结构和算法面试题——最大间隔
    分析:本题首先需要理解清楚最大间隔的最小:最初的间隔为:[1,1,4,1],此时最大间隔为4删除2后的间隔为:[2,4,1],此时最大间隔为4删除3后的间隔为:[1,5,1],此时最大间隔为5删除7后的间隔为:[1,1,5],此时最大间隔为5在删除元素后的间隔为:[4,5,5],最小值为:4方法:intget_min_max_margin(int*a,constintn){......
  • 挑战数据结构和算法——栈的push、pop序列
    题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。问题分析:本题考查栈的基本操作,栈是一种“先进后出”的数据结构。判断一个序列是否是栈的pop序列是一种常见的问题,可以通过模拟push和pop的过程,push和pop总是成对出现的,如:方法:#definepush1#def......
  • 【数据结构和算法面试题】跳台阶问题
    题目来源“数据结构与算法面试题80道”。问题分析:假设为跳台阶的总跳法,当时,;当时,;当时,如果先跳1级台阶,有种方法,如果先跳2级台阶,有种方法,依次类推,可以得到下面的递推公式:方法:intget_kind(intn){ if(n<=0)return0; intresult; int*cal=(int*)malloc(sizeof(int)*n);......
  • 挑战数据结构和算法——整数的二进制表示中1的个数
    题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。问题分析:本题涉及到二进制的处理,在本题使用到&操作和>>操作。方法:intget_num(intn){intnum=0;if(n<0){num+=1;n=n*(-1);}while(n!=0){......
  • 推荐系统中的常用算法——Wide & Deep
    1.概述在前DeepLearning时代,以LogisticRegression(LR)为代表的广义线性模型在CTR,CVR中得到了广泛的应用,主要原因包括:模型足够简单,相当于不包括隐含层的神经网络;可扩展性强;可解释性强,因为是线性的模型,可以很方便的显现出特征对最终结果的强弱。虽然线性模型有如上的优点,但同时也存在......