zoukankan      html  css  js  c++  java
  • 贝叶斯学习小结

    贝叶斯学习小结

    朴素贝叶斯和贝叶斯信念网络学习,知识点以及个人一些理解的小结。

    概率论只不过是把常识用数学公式表达了出来。 ——拉普拉斯

    1.本文思路分析

    (1)基本概率公式:条件概率,全概率,贝叶斯定理

    (2)朴素贝叶斯算法:极大似然估计,判定准则,拉普拉斯平滑

    (3)半朴素贝叶斯

    (4)贝叶斯信念网络:结构学习,参数学习

    2 基本概率公式

    (1)条件概率:百度百科:条件概率

    [P(A|B) = frac{P(A)*P(B|A)}{P(B)} ]

    (2)联合概率:表示两个事件共同发生的概率;
    边缘概率:某个事件发生的概率,与其他事件无关。

    (3)全概率公式:若事件B1,B2,…构成一个完备事件组且都有正概率,则对任意一个事件A,有如下公式成立:$$P(A)=P(AB_1)+P(AB_2)+cdots+P(AB_n)$$

    (4)贝叶斯公式:设B1,B2,…Bn…是一完备事件组,则对任一事件A,P(A)>0,有

    [P(B_i|A)=frac{P(AB_i)}{P(A)} = frac{P(AB_i)}{P(A)} = P(B_i) frac{P(A|B_i)}{$sum P(B_i)P(A|B_i} ]

    3朴素贝叶斯算法

    (1)极大似然估计:参考:极大似然估计详解;朴素贝叶斯算法的参数的最大似然估计

    (2)朴素贝叶斯:参考:从贝叶斯方法谈到贝叶斯网络 ;带你搞懂朴素贝叶斯分类算法 ;深入理解朴素贝叶斯(Naive Bayes)

    贝叶斯公式:$$P(类别|特征) = frac{P(特征|类别)P(类别)}{P(特征)} $$

    朴素思想:属性条件独立性假设——假设每个属性独立地对分类结果发生影响。

    朴素贝叶斯算法优点:算法逻辑简单,易于实现;分类过程中时空开销小
    缺点:朴素假设,在属性个数比较多或者属性之间相关性较大时,分类效果不好。

    (P(x))的计算取对数计算:防止数值连乘过小,取对数计算时,可以防止向下溢出;

    (3)拉普拉斯平滑:处理零概率问题。参考贝叶斯网络、拉普拉斯平滑

    正则化:本质是将约束条件添加到目标函数中(拉格朗日乘子法),对优化参数的限制,目的是防止过拟合问题。参考谈谈自己对正则化的一些理解~

    在计算概率时,若某个属性在样本中没有出现,则(P(x_i))为零,由于连乘关系,会清除其他属性的信息,解决办法就是拉普拉斯平滑。
    具体来说,令N表示训练集D中可能的类别数,(N_i)表示第i个属性可能的取值数,则

    [hat{P} (c) = frac{|D_c|+1}{|D|+N} \ hat{P}(x_i|c) = frac{|D_{c,x_i}|+1}{|D_c|+N_i} ]

    如此,拉普拉斯修正(平滑)可以避免因训练样本不充分而导致概率估计为零的问题。

    4半朴素贝叶斯

    基本思想:考虑部分属性间的相互依赖信息——既不需要进行完全联合概率计算,有不至于彻底忽略所有的属性依赖关系,朴素贝叶斯和贝叶斯信念网络的折中。
    (1)ODE:one-dependent estimator,独依赖估计, 假设每个属性在类别之外最多仅依赖于其他一个属性。
    (2)SPODE:super-parent ODE,假设所有属性都依赖于同一个属性,可通过交叉验证的方法来确定超父属性。
    (3)TAN:tree Augmented naive bayes,在最大带权生成树算法的基础上,计算任意两个属性之间的条件互信息,以属性为节点构建完全图,并构建此完全图的最大带权生成树,挑选根变量,将边置为有向边,,,实质上是仅保留了强相关属性之间的依赖关系。
    (4)AODE: Averaged One-Dependent Estimator,基于集成学习更为强大的独依赖分类器,ADOE尝试将每个属性作为超父构建SPODE,然后选取足够训练数据支撑的SPOED集成起来,作为最终结果。
    (5)高阶依赖:从属性相互独立假设到独依赖估计,可以提升泛化性能,思考将独依赖转化成多依赖,即高阶依赖。需要更多样本来准确估计概率(P(x_i|y,Pa_i)),若是有限样本,高阶联合概率求解问题会很麻烦。

    5贝叶斯信念网络:结构学习,参数学习

    (1)参考1:从贝叶斯方法谈到贝叶斯网络
    参考2:贝叶斯网络、拉普拉斯平滑

    (2)基本思想:借助有向无环图来刻画属性之间的依赖关系,并使用条件概率来描述属性的联合概率分布,也能有效地表达属性件的条件独立性。
    贝叶斯网B由结构G和参数(Theta)构成,每个节点对应于一个属性,每条边表示两个属性间有依赖关系,参数(Theta)定量描述其依赖关系。 $$B = <G,Theta>$$

    (3)贝叶斯网中,三个变量之间的典型依赖关系:同父结构,V型结构,顺序结构。分析网中变量间的条件独立性,使用"moral graph":找出有向图中的V型结构,在两个父节点之间加一条无向边,再将所有有向边改成无向边。

    (4)评分函数:评估贝叶斯网与训练数据的契合程度,找出结构最恰当的贝叶斯网络。根据信息论准则,以最短长度编码描述训练数据模型,包括描述模型自身所需的字节长度和使用该模型描述数据所需的字节长度,选择综合编码长度(描述网络和编码数据)最短的贝叶斯网(剃刀原则,选取最简单的模型),最小描述准则。

    (5)贝叶斯网训练好后,理想情况是字节根据贝叶斯网定义的联合概率分布来精确计算后验概率,但是在网络节点较多时,难以精确计算,通过降低要求,在有限时间内求得近似解。常使用吉布斯采样。

    (6)吉布斯采样:先随机产生初始点,后在子空间中随机漫步(random work),形成马尔科夫链,最后收敛于一个平稳分布。
    吉布斯采样缺点:马尔科夫链需要长时间才能平稳,故吉布斯采样算法的收敛速度较慢;贝叶斯网中存在0和1的极端概率,不能保证马尔科夫链存在平稳分布,此时吉布斯采样会给出错误的估计结果。

  • 相关阅读:
    Java 过滤器的作用
    TreeView的绑定
    设计模式(一)工厂模式Factory(创建型)
    【剑指offer】员工年龄排序
    Spring3.0 AOP 具体解释
    IT行业新名词--透明手机/OCR(光学字符识别)/夹背电池
    MYSQL C API 记录
    Hibernate的介绍
    数据绑定(八)使用Binding的RelativeSource
    一、ExtJS下载使用
  • 原文地址:https://www.cnblogs.com/HZL2017/p/9252542.html
Copyright © 2011-2022 走看看