机器学习算法--贝叶斯分类器(一)

1. 贝叶斯决策论

 定义: 贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务来说,在所有概率都已知的理想情形下,贝叶斯决策考虑如何基于这些概率和误判损失来选择最优的类别标记,下面以多分类任务为例来解释其基本原理。

条件风险:假设有N中可能的类别标记,即 Y={c1,c2,...,cN}, λij 是将一个真实标记为 cj 的样本误分类为 ci 所产生的损失。基于后验概率 P(ci|x) 可获得样本x分类为ci所产生的期望损失,即在样本x上的“条件风险”

这是单个样本的条件风险,若对每个样本的风险最小化了,那么所有样本的总体风险也将被最小化,这就产生了贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险 R(ci|x) 最小的类别标记,即

 注:此时h*称为贝叶斯最优分类器,与之对应的总体风险R(h*)称为贝叶斯风险,当风险最小的时候,分类器的性能达到最好。

具体来说,若目标是最小化分类错误率,则误判损失 λij 可写为:

此时条件风险 R(c|x)=1-P(c|x),于是最小化分类错误率的贝叶斯最优分类器为

即对每个样本x,选择能使后验概率P(c|x)最大的类别标记。

欲使用贝叶斯判定准则来最小化决策风险,首先要获得后验概率 P(c|x),然而在现实生活中是很难直接获得的。从这个角度来看,机器学习所要实现的是基于有限的训练样本尽可能准确地估计出后验概率 P(c|x).大体来说,有两种策略:

(1)给定x,直接建模 P(c|x)来预测 c,这样得到“判别式模型”;

(2)先对联合概率P(x,c)建模,再由此得到 P(c|x),得到的是“生成式模型”(注:决策树、BP神经网络、支持向量机等都可归入判别式模型的范畴)。对于生成式模型来说,考虑

注:P(c)是“先验”概率;P(x|c)是样本 x 相对于类标记 c 的类条件概率,或称为“似然”;P(x) 是归一化的因子。给定样本 x,P(x) 与类标记无关,

因此估计 P(c|x) 问题就转化为如何基于训练数据 D 来估计先验 P(x) 和似然 P(x|c),P(c) 可通过各类样本出现的频率来进行估计,而类条件概率不能直接估计,下一篇说明类条件概率该怎么估计。

时间: 2024-10-05 11:18:59

机器学习算法--贝叶斯分类器(一)的相关文章

机器学习算法--贝叶斯分类器(二)

该文章参考周志华老师著的<机器学习>一书 1.  朴素贝叶斯分类器 朴素贝叶斯分类器采用了"属性条件独立性假设":对已知类别,假设所有属性相互独立,即假设每个属性独立的对分类结果发生影响. d为属性数目,xi 为 x 在第 i 个属性上的取值,朴素贝叶斯分类器的表达式为: 令 Dc 表示训练集 D 中第 c 类样本的集合,例如西瓜数据集有两个类别:好瓜和坏瓜,若有充足的独立同分布样本,则 对于离散属性:,Dc,xi 表示 Dc 在第 i 个属性上取值为 xi 的样本组成的集

机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)

朴素贝叶斯分类器是一组简单快速的分类算法.网上已经有很多文章介绍,比如这篇写得比较好:https://blog.csdn.net/sinat_36246371/article/details/60140664.在这里,我按自己的理解再整理一遍. 在机器学习中,我们有时需要解决分类问题.也就是说,给定一个样本的特征值(feature1,feature2,...feauren),我们想知道该样本属于哪个分类标签(label1,label2,...labeln).即:我们想要知道该样本各个标签的条件概

机器学习:贝叶斯分类器(二)——高斯朴素贝叶斯分类器代码实现

一 高斯朴素贝叶斯分类器代码实现 网上搜索不调用sklearn实现的朴素贝叶斯分类器基本很少,即使有也是结合文本分类的多项式或伯努利类型,因此自己写了一遍能直接封装的高斯类型NB分类器,当然与真正的源码相比少了很多属性和方法,有兴趣的可以自己添加.代码如下(有详细注释): class NaiveBayes(): '''高斯朴素贝叶斯分类器''' def __init__(self): self._X_train = None self._y_train = None self._classes

贝叶斯分类器学习笔记

我们知道,对于人类来说学习通常是指通过经验获得知识从而导致可度量的行为变化.也就是说我们通过经验获得了知识,然后这些知识又对我们未来的行为产生了影响.而机器学习则是让机器来进行学习,因此我们也可以认为机器学习同样是让机器通过经验(在计算机中表现为数据)获得知识(知识即为我们的模型),然后基于这些知识(模型)来对我们未来的行为产生影响(即不同的模型在接收到未来的新数据可能会得到不同的label).对于人类来说最重要的是正确知识的获取,这对于机器来说也是一样的,最重要的是获得合适的模型.对于人类来说

【机器学习算法-python实现】扫黄神器-朴素贝叶斯分类器的实现

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去.嗯,现在终于用到了.朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到.核心思想就是找出特征值对结果影响概率最大的项.公式如下: 什么是朴素贝叶斯,就是特征值相互独立互不影响的情况.贝叶斯可以有很多变形,这里先搞一个简单的,以后遇到复杂的再写. 2.数据集 摘自机器学

【原创】.NET平台机器学习组件-Infer.NET连载(二)简单贝叶斯分类器的例子—【附源码和自制帮助文档】

Infer.NET机器学习翻译系列文章将进行连载,感兴趣的朋友请收藏或关注 你还可以参考本博客其他.NET开源项目的相关文章: [原创]彩票预测算法:离散型马尔可夫链模型          Newlife XCode组件资源目录汇总[2013年版] [原创]开源.NET下的XML数据库介绍及入门          [原创].NET开源压缩组件介绍与入门 [开源].NET开源表达式计算组件介绍与使用          [原创]开源Word读写组件DocX介绍与入门 [原创]Matlab.NET混编

基于朴素贝叶斯分类器的文本分类算法

源代码下载:NaviveBayesClassify.rar Preface 文本的分类和聚类是一个比较有意思的话题,我以前也写过一篇blog<基于K-Means的文本聚类算法>,加上最近读了几本数据挖掘和机器学习的书籍,因此很想写点东西来记录下学习的所得. 在本文的上半部分<基于朴素贝叶斯分类器的文本分类算法(上)>一文中简单介绍了贝叶斯学习的基本理论,这一篇将展示如何将该理论运用到中文文本分类中来,具体的文本分类原理就不再介绍了,在上半部分有,也可以参见代码的注释. 文本特征向量

数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes

贝叶斯分类器 贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类.眼下研究较多的贝叶斯分类器主要有四种,各自是:Naive Bayes.TAN.BAN和GBN. 贝叶斯网络是一个带有概率凝视的有向无环图,图中的每个结点均表示一个随机变量,图中两结点 间若存在着一条弧,则表示这两结点相相应的随机变量是概率相依的,反之则说明这两个随机变量是条件独立的.网络中随意一个结点X 均有一个对应的条件概率表(Con

十大经典数据挖掘算法(9) 朴素贝叶斯分类器 Naive Bayes

贝叶斯分类器 贝叶斯分类分类原则是一个对象的通过先验概率.贝叶斯后验概率公式后计算.也就是说,该对象属于一类的概率.选择具有最大后验概率的类作为对象的类属.现在更多的研究贝叶斯分类器,有四个,每间:Naive Bayes.TAN.BAN和GBN. 贝叶斯网络是一个带有概率凝视的有向无环图.图中的每个结点均表示一个随机变量,图中两结点 间若存在着一条弧.则表示这两结点相相应的随机变量是概率相依的,反之则说明这两个随机变量是条件独立的.网络中随意一个结点X 均有一个对应的条件概率表(Conditio