机器学习-贝叶斯

机器学习-贝叶斯

概率论基础知识

条件概率

  • 一个事件发生后另一个事件发生的概率
  • 一般的形式为 P(X|Y),表示 y 发生的条件下 x 发生的概率
  • 有时为了区分一般意义上的条件概率,也称似然概率

先验概率

  • 事件发生前的预判概率
  • 可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。
  • 一般都是单独事件发生的概率,如 P(A)P(B)

后验概率

  • 事件发生后求的反向条件概率;或者说,基于先验概率求得的反向条件概率
  • 基于先验概率求得的反向条件概率,形式上与条件概率相同(若 P(X|Y) 为正向,则 P(Y|X) 为反向)

贝叶斯

贝叶斯公式:

P(y|x) = ( P(x|y) * P(y) ) /P(x)
  • 该公式可由联合概率公式推导出来:P(A,B)=P(A|B)P(B)=P(B|A)P(A)
  • P(y|x)是后验概率,一般是我们求解的目标
  • P(x|y)是条件概率,又叫似然概率,一般是通过历史数据统计得到
  • P(y) 是先验概率,一般都是人主观给出的。贝叶斯中的先验概率一般特指它
  • P(x)其实也是先验概率,只是在贝叶斯的很多应用中不重要(因为只要最大后验不求绝对值),需要时往往用全概率公式计算得到

极大似然估计

极大似然估计可以拆成三个词,分别是“极大”、“似然”、“估计”,分别的意思如下:
极大:最大的概率
似然:看起来是这个样子的
估计:就是这个样子的
连起来就是,最大的概率看起来是这个样子的那就是这个样子的。

举个例子:
有两个妈妈带着一个小孩到了你的面前,妈妈A和小孩长得很像,妈妈B和小孩一点都不像,问你谁是孩子的妈妈,你说是妈妈A。好的,那这种时候你所采取的方式就是极大似然估计:妈妈A和小孩长得像,所以妈妈A是小孩的妈妈的概率大,这样妈妈A看来就是小孩的妈妈,妈妈A就是小孩的妈妈。

极大似然估计就是在只有概率的情况下,忽略低概率事件直接将高概率事件认为是真实事件的思想

朴素贝叶斯

设输入空间X⊆RnX\subseteq \mathbb{R}^nXRnnnn 维向量的集合,输出空间为类标记集合Y={c1,c2,...,cK}Y=\left \{ c_1,c_2,...,c_K \right \}Y={c1,c2,...,cK} ,输入特征向量x∈Xx \in XxX ,输出类标记为y∈Yy\in YyY ,P(X,Y) 是X 和Y 的联合概率分布,数据集

T={(x1,y1),(x2,y2),...,(xn,yn)}T = \left \{ (x_1,y_1),(x_2,y_2),...,(x_n,y_n) \right \}T={(x1,y1),(x2,y2),...,(xn,yn)}

P(X,Y)P(X,Y)P(X,Y)独立同分布产生。

朴素贝叶斯法就是通过训练集来学习联合概率分布P(X,Y).具体就是从先验概率分布和条件概率分布入手,俩概率相乘即可得联合概率。

称之为朴素是因为将条件概率的估计简化了,对条件概率分布作了条件独立性假设,这也是朴素贝叶斯法的基石,假设如下

P(X=x∣Y=ck)=P(X(1)=x(1),...,X(n)=x(n)∣Y=ck)P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_k)P(X=xY=ck)=P(X(1)=x(1),...,X(n)=x(n)Y=ck)

k=1,2,...,Kk=1,2,...,Kk=1,2,...,K
  这个公式在之前的假设条件下等价于
∏j=inP(X(j)=x(j)∣Y=ck)\prod \limits_{j=i}^n P(X^{(j)}=x^{(j)}|Y=c_k)j=inP(X(j)=x(j)Y=ck)
  对于给定的输入向量xxx ,通过学习到的模型计算后验概率分布P(Y=Ck∣X=x)P(Y=C_k|X=x)P(Y=CkX=x),后验分布中最大的类作为x 的输出结果,根据贝叶斯定理可知后验概率为

P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x∣Y=ck)P(Y=ck)P(Y=c_k|X=x)=\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_kP(X=x|Y=c_k)P(Y=c_k)}P(Y=ckX=x)=kP(X=xY=ck)P(Y=ck)P(X=xY=ck)P(Y=ck)

其中∑kP(X=x∣Y=ck)P(Y=ck)⇔P(X=x)\sum_kP(X=x|Y=c_k)P(Y=c_k)\Leftrightarrow P(X=x)kP(X=xY=ck)P(Y=ck)P(X=x)

所有ckc_kckP(X=x)P(X=x)P(X=x) 都是相同的,这样我们可以把输出结果化简成

y=argmax⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y = arg \max \limits_{c_k} P(Y=c_k) \prod_jP(X^{(j)}=x^{(j)}|Y=c_k)y=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

参数估计

极大似然估计

我们已经知道对于给定的输入向量xxx,其输出结果可以表示为

y=argmax⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y = arg \max \limits_{c_k} P(Y=c_k) \prod_jP(X^{(j)}=x^{(j)}|Y=c_k)y=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

可以使用极大似然估计法来估计相应的概率。先验概率P(Y=ck)P(Y=c_k)P(Y=ck)的极大似然估计是

P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,...,KP(Y=c_k)=\frac{\sum \limits_{i=1}^NI(y_i=c_k)} {N}, k=1,2,...,KP(Y=ck)=Ni=1NI(yi=ck),k=1,2,...,K

设第jjj个特征x(j)x^{(j)}x(j)可能的取值的集合为{aj1,aj2,...,ajsj}\left \{ a_{j1} ,a_{j2} ,...,a_{js_j} \right \}{aj1,aj2,...,ajsj},条件概率P(X(j)=ajl∣Y=ck)P(X^{(j)}=a_{jl}|Y=c_k)P(X(j)=ajlY=ck) 的极大似然估计是

P(X(j)=ajl,Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P(X^{(j)}=a_{jl},Y=c_k)=\frac{\sum \limits_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)} {\sum \limits_{i=1}^NI(y_i=c_k)}P(X(j)=ajl,Y=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)

j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,Kj=1,2,...,n;l=1,2,...,Sj;k=1,2,...,Kj=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K

学习与分类算法

学习与分类算法
  下面给出朴素贝叶斯法的学习与分类算法。

算法 (朴素贝叶斯算法)
输入: 训练数据 T={(x1,y1),(x2,y2),...,(xn,yn)}T = \left \{ (x_1,y_1),(x_2,y_2),...,(x_n,y_n) \right \}T={(x1,y1),(x2,y2),...,(xn,yn)}, 其中xi=(xi(1),xi(2),...,xi(n))Tx_i = (x_i^{(1)},x_i^{(2)},...,x_i^{(n)} )^Txi=(xi(1),xi(2),...,xi(n))T,xi(j)∈{aj1,aj2,...,ajsj}x_i^{(j)}\in \left \{ a_{j1} ,a_{j2} ,...,a_{js_j} \right \}xi(j){aj1,aj2,...,ajsj},j=1,2,...,nj=1,2,...,nj=1,2,...,n,l=1,2,...,Sjl=1,2,...,S_jl=1,2,...,Sj,yi∈{c1,c2,...,cK}y_i \in \left \{ c_1,c_2,...,c_K \right \}yi{c1,c2,...,cK};实例xxx

输出: 实例xxx的分类.

(1) 计算先验概率及条件概率

P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,...,KP(Y=c_k)=\frac{\sum \limits_{i=1}^NI(y_i=c_k)} {N}, k=1,2,...,KP(Y=ck)=Ni=1NI(yi=ck),k=1,2,...,K
P(X(j)=ajl,Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)P(X^{(j)}=a_{jl},Y=c_k)=\frac{\sum \limits_{i=1}^NI(x_i^{(j)}=a_{jl},y_i=c_k)} {\sum \limits_{i=1}^NI(y_i=c_k)}P(X(j)=ajl,Y=ck)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)
j=1,2,...,n;l=1,2,...,Sj;k=1,2,...,Kj=1,2,...,n; l=1,2,...,S_j;k=1,2,...,Kj=1,2,...,n;l=1,2,...,Sj;k=1,2,...,K
(2) 对于给定的实例x=(x(1),x(2),...,x(n))Tx = (x^{(1)},x^{(2)},...,x^{(n)} )^Tx=(x(1),x(2),...,x(n))T,计算

P(Y=ck)∏jP(X(j)=x(j)∣Y=ck),k=1,2,...,KP(Y=c_k) \prod_jP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...,KP(Y=ck)jP(X(j)=x(j)Y=ck),k=1,2,...,K

(3) 确定实例xxx 的类

y=argmax⁡ckP(Y=ck)∏jP(X(j)=x(j)∣Y=ck)y = arg \max \limits_{c_k} P(Y=c_k) \prod_jP(X^{(j)}=x^{(j)}|Y=c_k)y=argckmaxP(Y=ck)jP(X(j)=x(j)Y=ck)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值