• 朴素贝叶斯


    数学基础

    朴素贝叶斯的数学理论非常简单,俩公式,三板斧

    条件概率

    贝叶斯定理,也叫贝叶斯公式,由条件概率直接推出

    三板斧,先有P(A),称为先验概率,再有P(A|B),称为似然性,最终得到P(B|A),称为后验概率

    先验概率:通过经验来判断事情发生的概率,比如说“贝叶死”的发病率是万分之一,就是先验概率。
    后验概率:后验概率就是发生结果之后,推测原因的概率。比如说某人查出来了患有“贝叶死”,那么患病的原因可能是 A、B 或 C。**患有“贝叶死”是因为原因 A 的概率就是后验概率。**它是属于条件概率的一种

    模型原理

    朴素贝叶斯是一个分类模型,

    假设有N个样本 Xi = [x1,x2,...xd],每个样本有 d 个属性,m个类别为 cm,那么朴素贝叶斯就是计算 P(cm|X),然后取 最大的 P 即可

    模型假设

    在计算 P(cm|X) 时,需要计算 P(X|cm) = P([xi]|cm),显然这是一个联合概率分布,在d很大时,联合概率分布的计算是非常麻烦的,甚至是不可能的;

    为了简化这一步的运算,模型假设 xi 之间相互独立,即属性之间是完全独立事件,此时 P(AB)=P(A)P(B),于是 P(cm|X)可以很容易计算出来

    这个假设也是 为什么 朴素贝叶斯 叫 朴素 的原因

    计算实例 

    现有训练数据如下

    当 c = 嫁时,P(c) = 6/12 = 1/2 ;

     

    具体就不算了,但是我们发现,分母上是一个固定值,对所有样本都一样,故可取消 ;

    于是朴素贝叶斯模型变成

    拉普拉斯平滑

    接着上面的例子讲,如果有个人 不帅,性格不好,不上进,身高=中,显然是不可以嫁的,

    但照上面的公式计算

    P(嫁|不帅,性格不好,中,不上进) > 0

    P(不嫁|不帅,性格不好,中,不上进) = 0

    结果却是嫁,显然不对;

    原因是 不嫁 类中 身高的属性 没有 取值为 中的,故 P(中|不嫁)=0,导致 P(不帅,性格不好,中,不上进|不嫁) = 0;

    为了避免这种问题发生,采用 拉普拉斯平滑 进行修正,具体操作如下

    假设 N 表示类别数,Ni 表示第 i 个属性的可能取值数

    这个思想在很多其他地方也有应用

    连续属性的处理

    上面的理论和例子都是针对离散属性的,但 朴素贝叶斯 也适用于连续属性,只需在计算概率时采用概率密度即可;

    如高斯分布

    连续属性和离散属性可以同时存在 

    不同场景下的应用策略

    预训练:适用场景预测频率较高,响应较快;具体策略是根据训练数据计算所有概率,事先存储起来,预测时查表即可

    惰性训练:适用场景为动态训练数据,比如训练数据为从当天开始过去三个月的历史数据;具体策略是在收到预测请求时,临时训练,再预测

    增量学习:适用场景训练数据不断增加;具体策略为计算并存储已经存在的训练数据的相关统计量,收到新的训练样本后修正该统计量

    模型进阶

    生成式模型

    所有的机器学习模型本质上都是在计算 P(c|X),但现实中这个概率往往很难获得,于是形成了两种策略:

    给定 x,直接通过建模来预测 c,如决策树、神经网络等,这样得到的是 判别式模型;

    通过 各种方式 来计算不同类别的 先验概率分布,从而得到每个类别的后验概率,这样得到的是 生成式模型;

    朴素贝叶斯就属于 生成式模型;

    判别式模型举例:要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。
    生成式模型举例:利用生成模型是根据山羊的特征首先学习出一个山羊的模型,然后根据绵羊的特征学习出一个绵羊的模型,然后从这只羊中提取特征,放到山羊模型中看概率是多少,在放到绵羊模型中看概率是多少,哪个大就是哪个。

    贝叶斯深度学习

    贝叶斯是统计概率学派的代表,几乎可以认为 概率=贝叶斯,那贝叶斯深度学习是什么呢?

    其实贝叶斯深度学习很早就提出了,一直在演变过程中,简单介绍下:

    我们知道传统的神经网络或者深度学习 可 表达为 f(wx+b),这里 w b 都是 固定值,而 贝叶斯深度学习就是把 w b 改成了概率,类似下图

    贝叶斯深度学习的难点是如何训练和预测呢?可以采用 蒙特卡罗 思想,有兴趣的可以深入研究下

    参考资料:

    https://blog.csdn.net/qq_31073871/article/details/81077386  条件概率/全概率/贝叶斯公式

    https://www.zhihu.com/question/29155526  如何形象地理解条件概率及运算公式?

    https://www.zhihu.com/question/51448623/answer/747656479  怎么简单理解贝叶斯公式?

    https://www.cnblogs.com/wuliytTaotao/p/10281766.html  贝叶斯深度学习(bayesian deep learning)

    https://www.zhihu.com/question/352295592  贝叶斯深度学习是什么,和传统神经网络有何不同?

    周志华 《机器学习》

  • 相关阅读:
    The Problem Came Up when we upgrade from KingDee K3 to SAP R3(FI module)
    小代码 OpenFileDialog() Windows下Upload & rewrite 文件
    [Note]CodeSmith 4.0 Lesson One
    正则表达式 运算 常见
    SAP function overview & instruction
    CodeSmith NetTier 保存主从表实例,当然,至于3级关联的问题还是类似做法,依靠Relationship做级联更新
    CodeSmith NetTier模板生成的代码框架用法 (转)
    [Notes] Demo The practice about how to using SAP XI components to build up the mapping bridge cross the application layer
    6260/7610/6670/3230 蓝牙 共享PC 宽带 无须代理
    [ALE in SAP]BAPI Introduction
  • 原文地址:https://www.cnblogs.com/yanshw/p/14848319.html
Copyright © 2020-2023  润新知