| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 李航统计学习方法 Chapter4 朴素贝叶斯法 -> 正文阅读 |
|
[人工智能]李航统计学习方法 Chapter4 朴素贝叶斯法 |
如果想了解更多的知识,可以去我的机器学习之路 The Road To Machine Learning通道 第4章 朴素贝叶斯法1.朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布 2.朴素贝叶斯法的基本假设是条件独立性, P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ? ? , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} P(X&=x | Y=c_{k} )=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \\ &=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \end{aligned} P(X?=x∣Y=ck?)=P(X(1)=x(1),?,X(n)=x(n)∣Y=ck?)=j=1∏n?P(X(j)=x(j)∣Y=ck?)? 这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。 3.朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。
P
(
Y
∣
X
)
=
P
(
X
,
Y
)
P
(
X
)
=
P
(
Y
)
P
(
X
∣
Y
)
∑
Y
P
(
Y
)
P
(
X
∣
Y
)
P(Y | X)=\frac{P(X, Y)}{P(X)}=\frac{P(Y) P(X | Y)}{\sum_{Y} P(Y) P(X | Y)}
P(Y∣X)=P(X)P(X,Y)?=∑Y?P(Y)P(X∣Y)P(Y)P(X∣Y)?
y
=
arg
?
max
?
c
k
P
(
Y
=
c
k
)
∏
j
=
1
n
P
(
X
j
=
x
(
j
)
∣
Y
=
c
k
)
y=\arg \max _{c_{k}} P\left(Y=c_{k}\right) \prod_{j=1}^{n} P\left(X_{j}=x^{(j)} | Y=c_{k}\right)
y=argck?max?P(Y=ck?)j=1∏n?P(Xj?=x(j)∣Y=ck?) 模型:
朴素贝叶斯法与贝叶斯估计(Bayesian estimation)是不同的概念。 后验概率最大化的含义朴素贝叶斯将实例分到后验概率最大的类中,等价于期望风险最小化。假设我们选择了
0
?
1
0-1
0?1损失函数 极大似然估计为了估计状态变量的条件分布,利用贝叶斯法则,有
贝叶斯估计对于x的某个特征的取值没有在先验中出现的情况 ,如果用极大似然估计就会出现所要估计的概率值为0的情况。这样会影响后验概率的计算结果,使分类产生偏差 为了解决这一问题,我们就采用贝叶斯估计
GaussianNB 高斯朴素贝叶斯特征的可能性被假设为高斯 概率密度函数: 方差: σ 2 = ∑ ( X ? μ ) 2 N \sigma^2=\frac{\sum(X-\mu)^2}{N} σ2=N∑(X?μ)2? 高斯模型接着我们利用朴素贝叶斯的方法来解决iris分类问题 首先对我们的数据进行处理,取出前100个数据进行分类,并且分为训练集和测试集,测试集占30%
接着可以用我们朴素贝叶斯的方法来解决这个分类问题
在编写程序的时候,我们有一些小技巧,第一个技巧是使用 zip ()函数,它将从每个提供的参数中聚合元素。我们使用 * 操作符将数据集传递给 zip ()函数,该操作符将数据集(即列表列表)分离到每一行的单独列表中。函数的作用是: 遍历每一行的每一个元素,并从数据集中返回一列数字,一个聪明的小把戏 scikit-learn实现除此之外,我们可以利用scikit-learn实现我们的模型,除了高斯模型,还有伯努利模型,多项式模型等等
例4.1我们同样可以用高斯模型来解决我们的例题4.1
我们可以看到我们的结果是-1,并且这里给出了 { ? 1 , 1 } \{-1,1\} {?1,1}的概率,大约是0.75和0.25。 第4章朴素贝叶斯法-习题习题4.1??用极大似然估计法推出朴素贝叶斯法中的概率估计公式(4.8)及公式 (4.9)。 解答: **第2步:**证明公式(4.9):
P
(
X
(
j
)
=
a
j
l
∣
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
∑
i
=
1
N
I
(
y
i
=
c
k
)
\displaystyle P(X^{(j)}=a_{jl}|Y=c_k) = \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\displaystyle \sum_{i=1}^N I(y_i=c_k)}
P(X(j)=ajl?∣Y=ck?)=i=1∑N?I(yi?=ck?)i=1∑N?I(xi(j)?=ajl?,yi?=ck?)? 习题4.2??用贝叶斯估计法推出朴素贝叶斯法中的慨率估计公式(4.10)及公式(4.11) 贝叶斯估计和传统的极大似然估计的区别就是,参数值是固定的还是也当做随机变量。传统的极大似然估计,把参数 θ \theta θ当做固定的一个值,不变的,只是目前还不知道,通过最大化 L L L求出 θ \theta θ;贝叶斯估计认为参数 θ \theta θ也是随机变量,它也服从一个分布(β分布) 解答: 加入先验概率,在没有任何信息的情况下,可以假设先验概率为均匀概率(即每个事件的概率是相同的)。 **第2步:**证明公式(4.10):
P
λ
(
X
(
j
)
=
a
j
l
∣
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
+
λ
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
S
j
λ
\displaystyle P_{\lambda}(X^{(j)}=a_{jl} | Y = c_k) = \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + S_j \lambda}
Pλ?(X(j)=ajl?∣Y=ck?)=i=1∑N?I(yi?=ck?)+Sj?λi=1∑N?I(xi(j)?=ajl?,yi?=ck?)+λ? P ( x ( j ) = a j l ∣ Y = c k ) = P ( Y = c k , x ( j ) = a j l ) P ( y i = c k ) = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ N + K S j λ ∑ i = 1 N I ( y i = c k ) + λ N + K λ = ( λ 可 以 任 意 取 值 , 于 是 取 λ = S j λ ) = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ N + K S j λ ∑ i = 1 N I ( y i = c k ) + λ N + K S j λ = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ ∑ i = 1 N I ( y i = c k ) + λ ( 其 中 λ = S j λ ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ \begin{aligned} P(x^{(j)}=a_{jl} | Y=c_k) &= \frac{P(Y=c_k, x^{(j)}=a_{j l})}{P(y_i=c_k)} \\ &= \frac{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{N+K S_j \lambda}}{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K \lambda}} \\ &= (\lambda可以任意取值,于是取\lambda = S_j \lambda) \\ &= \frac{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{N+K S_j \lambda}}{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K S_j \lambda}} \\ &= \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda} (其中\lambda = S_j \lambda)\\ &= \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + S_j \lambda} \end{aligned} P(x(j)=ajl?∣Y=ck?)?=P(yi?=ck?)P(Y=ck?,x(j)=ajl?)?=N+Kλi=1∑N?I(yi?=ck?)+λ?N+KSj?λi=1∑N?I(yi?=ck?,xi(j)?=ajl?)+λ??=(λ可以任意取值,于是取λ=Sj?λ)=N+KSj?λi=1∑N?I(yi?=ck?)+λ?N+KSj?λi=1∑N?I(yi?=ck?,xi(j)?=ajl?)+λ??=i=1∑N?I(yi?=ck?)+λi=1∑N?I(yi?=ck?,xi(j)?=ajl?)+λ?(其中λ=Sj?λ)=i=1∑N?I(yi?=ck?)+Sj?λi=1∑N?I(xi(j)?=ajl?,yi?=ck?)+λ?? 公式(4.11)得证。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/2 22:54:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |