机器学习 西瓜书 Day07 贝叶斯分类器(上)

p147- p156
今天来看第七章。同时,今天心情不错:)


2018.5.16 凌晨0:51
不行了不行了,这一章感觉比SVM还烧脑,困了困了:( 所以这一章分两天看吧。
明天补上今天少看的6页


第七章 贝叶斯分类器

7.1 贝叶斯决策论

假设有N种可能的类别标记 c1,c2..cN。
λij :将cj分成ci所带来的损失。

则:将x分为ci所带来的期望损失:
R(ci|x) = ∑j=1~N λij ·P(cj | x)
解释:分为Ci带来的损失 = 求和(他是j的概率 * 将j分为i带来的损失)

现在我们要找一个判定准则,能够最小化总体风险
即对每个样本x,若h能最小化R(h(x)|x),那么总体风险也最小。

这就产生了贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择哪个能使条件风险最小的类别标记。

即 h(x) = arg min R(c|x)
称h
为贝叶斯最优分类器,R(h)为贝叶斯风险。
1-R(h
)反映了分类器所能达到的最好性能。

具体地:如果目标是最小化错误率,可认为λij 非0即1.
此时R(c|x) = 1 - P(c|x)。(用笔算一算)
此时,分类器便是
h* (x) = arg max P(c | x)

所以能看出,要用贝叶斯,必须要获得后验概率P(c|x)
但难以直接获得。
一般有两种策略:
1)给定x,直接建模P(c | x)来预测c ——判别式模型
2)先对P(x,c)建模,再得到p(c | x)。 —— 生成式模型

根据贝叶斯定理, p(c |x ) =( p(c) * p(x|c) ) / p(x)
P(c):成为类先验概率,可由频率来确定。
p(x|c):x相对于c的类条件概率,称为“似然”

p(x|c)直接通过频率来估计显然不行,因为很多x的值在现实中都不会出现。

7.2 极大似然估计

估计类条件概率(“似然”)的一种常用策略:
先假定其具有某种确定的概率分布形式,再基于样本对概率分布的参数进行估计。

比如假设概率密度函数服从正态分布。
具体结论见p150

参数化方法方法可以使似然估计变得简单,但准确性严重依赖所假设的概率分布是否符合潜在的真实数据分布。

7.3 朴素贝叶斯分类器

从7.1中就提到,p(c|x)难计算。

为了避开这个问题,朴素贝叶斯分类器认为,属性都是相互独立的,即每个属性独立地对分类结果发生影响。

即p(c|x) = p(c) · p(x|c) / p(x) = p(c) * p(x1|c) * p(x2|c) * .../ p(x)
这样目的便变成了h(x) = arg max p(c) * p(x1|c) * p(x2|c) * ...
这便是朴素贝叶斯分类器的表达式。

以西瓜数据集举例说明p151-153:举例子好啊

在这个过程中,如果某个p(xi|c)没出现过,就是0,显然不合理。
拉普拉斯修正 来进行平滑处理

现实任务中朴素贝叶斯有好多应用形式:
若预测速度较高,就将所有概率估值事先存好
若任务数据更替频繁,使用“懒惰学习”
若数据不断增加,使用“增量学习”

7.4 半朴素贝叶斯分类器

朴素贝叶斯分类器太理想
半朴素:“独依赖估计原则”(ODE)
每个属性最多只依赖其他一个属性

那么如何确定每个属性的父属性?
方法一:SPODE。
假设所有属性都依赖一个,试一遍最后交叉验证。

方法二:TAN。
算法见P155

方法三:AODE
算法见p155-156

显然,把独立性假设放松可以带来泛化性能的提升。
ODE - KDE(一个依赖k个属性)?

你可能感兴趣的:(机器学习 西瓜书 Day07 贝叶斯分类器(上))