西瓜书机器学习笔记——朴素贝叶斯

机器学习笔记——朴素贝叶斯

引例

问题:现在周同学想购买一杯奶茶,如何判断奶茶是好喝(Y)还是不好喝(N)。

概念

  • 为了判断奶茶好不好喝,引入四个特征:甜度、牛奶、冰块、茶叶。与几个概念
    后验概率:给定观测向量X(x1=甜度,x2=牛奶…),观察特定类别的概率P(y|x),类别:Y={y0=好喝,y1=不好喝},特征:X(x1=甜度,x2=牛奶,x3=茶叶,x4=冰块),抽象化如下。
    P(类别|特征)=P(特征|类别)P(类别)/P(特征)
    风险:决策为Y时实际情况却为N。如:误诊,判断病人得肺炎,而实际上没有。
    误判损失:λ为损失,假设损失的权重为0和1(0-1条件风险),
    将肺炎呈阳性的人判断为阳性则λ=0(i=j),
    将肺炎呈阳性的人判断为阴性则λ=1 (i!=j)。
    贝叶斯分类器
    最小化分类错误率(风险)的贝叶斯分类器:
    贝叶斯分类器
    最大后验概率(MAP)
    MAP

训练集

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
2无糖牛奶乌龙茶N
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
6无糖奶精一半绿茶N
7半糖牛奶红茶Y
8少糖奶精绿茶N
9全糖牛奶红茶Y
10无糖牛奶绿茶N
11无糖奶精红茶Y
12无糖牛奶绿茶N
13全糖奶精一半红茶N
14半糖奶精红茶Y
15半糖牛奶一半红茶Y
16无糖奶精乌龙茶N
  • 假设周同学现在选择了全糖,牛奶,无冰块,红茶,则判断好不好喝即判断p(好喝|全糖、牛奶、无冰块、红茶)和p(不好喝|全糖、牛奶、无冰块、红茶),何者的概率更大?
    由上述公式可得MAP为:
    似然
    对于似然概率我们假设甜度、牛奶、冰和茶叶之间是相互独立的,即X1,X2,X3,X4之间是各自独立的向量。在条件独立性的假设下可以得到:
    特征相乘
    注:若没有条件独立性的假设,则甜度、牛奶、冰和茶叶为4维空间,可能性便有3x2x3x3=54种,计算量会呈指数型增长;其次,若假设不存在,若要判断P(半糖,奶精,无冰,乌龙茶|Y),需要从整个特征空间寻找,如果找不到,则会产生0的情况。

在条件独立的假设下,MAP可以改成下式:

P ( 类 别 ∣ 特 征 ) = P ( 类 别 ) P ( 特 征 ) ∏ i = 1 d P ( 特 征 i ∣ 类 别 ) P(类别|特征)=\frac{P(类别)}{P(特征)}\prod_{i=1}^{d}P(特征_{i}^{}|类别) P()=P()P()i=1dP(i)
由于对所有类别来说分母P(特征)是相同的,因此贝叶斯分类器可转化如下:
贝叶斯分类器

回到问题判断p(好喝|全糖、牛奶、无冰块、红茶)和p(不好喝|全糖、牛奶、无冰块、红茶),何者的概率更大?

解答如下:
P ( Y ∣ 全 糖 、 牛 奶 、 无 冰 块 、 红 茶 ) = P ( 全 糖 ∣ Y ) P ( 牛 奶 ∣ Y ) P ( 无 冰 块 ∣ Y ) P ( 红 茶 ∣ Y ) P ( Y ) P ( 全 糖 ) P ( 牛 奶 ) P ( 无 冰 块 ) P ( 红 茶 ) P(Y|全糖、牛奶、无冰块、红茶)=\frac{P(全糖|Y)P(牛奶|Y)P(无冰块|Y)P(红茶|Y)P(Y)}{P(全糖)P(牛奶)P(无冰块)P(红茶)} P(Y)=P()P()P()P()P(Y)P(Y)P(Y)P(Y)P(Y)
分子求解如下:

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
7半糖牛奶红茶Y
9全糖牛奶红茶Y
11无糖奶精红茶Y
14半糖奶精红茶Y
15半糖牛奶一半红茶Y

P(全糖|Y)=4/9

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
7半糖牛奶红茶Y
9全糖牛奶红茶Y
11无糖奶精红茶Y
14半糖奶精红茶Y
15半糖牛奶一半红茶Y

P(牛奶|Y)=5/9

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
7半糖牛奶红茶Y
9全糖牛奶红茶Y
11无糖奶精红茶Y
14半糖奶精红茶Y
15半糖牛奶一半红茶Y

P(无冰块|Y)=6/9

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
7半糖牛奶红茶Y
9全糖牛奶红茶Y
11无糖奶精红茶Y
14半糖奶精红茶Y
15半糖牛奶一半红茶Y

P(红茶|Y)=8/9

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
2无糖牛奶乌龙茶N
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
6无糖奶精一半绿茶N
7半糖牛奶红茶Y
8少糖奶精绿茶N
9全糖牛奶红茶Y
10无糖牛奶绿茶N
11无糖奶精红茶Y
12无糖牛奶绿茶N
13全糖奶精一半红茶N
14半糖奶精红茶Y
15半糖牛奶一半红茶Y
16无糖奶精乌龙茶N

P(Y)=9/16

代入原式得:
P ( Y ∣ 全 糖 、 牛 奶 、 无 冰 块 、 红 茶 ) = P ( 全 糖 ∣ Y ) P ( 牛 奶 ∣ Y ) P ( 无 冰 块 ∣ Y ) P ( 红 茶 ∣ Y ) P ( Y ) = ( 4 / 9 ) ∗ ( 5 / 9 ) ∗ ( 6 / 9 ) ∗ ( 8 / 9 ) ∗ ( 9 / 16 ) ≈ 0.082 P(Y|全糖、牛奶、无冰块、红茶) \\={P(全糖|Y)P(牛奶|Y)P(无冰块|Y)P(红茶|Y)P(Y)} \\={(4/9)*(5/9)*(6/9)*(8/9)*(9/16)} \\\approx0.082 P(Y)=P(Y)P(Y)P(Y)P(Y)P(Y)=(4/9)(5/9)(6/9)(8/9)(9/16)0.082

同理可得

P ( N ∣ 全 糖 、 牛 奶 、 无 冰 块 、 红 茶 ) = P ( 全 糖 ∣ N ) P ( 牛 奶 ∣ N ) P ( 无 冰 块 ∣ N ) P ( 红 茶 ∣ N ) P ( N ) = ( 1 / 7 ) ∗ ( 3 / 7 ) ∗ ( 4 / 7 ) ∗ ( 1 / 7 ) ∗ ( 7 / 16 ) ≈ 0.0021 P(N|全糖、牛奶、无冰块、红茶) \\={P(全糖|N)P(牛奶|N)P(无冰块|N)P(红茶|N)P(N)} \\={(1/7)*(3/7)*(4/7)*(1/7)*(7/16)} \\\approx0.0021 P(N)=P(N)P(N)P(N)P(N)P(N)=(1/7)(3/7)(4/7)(1/7)(7/16)0.0021
P(Y|全糖、牛奶、无冰块、红茶)>P(N|全糖、牛奶、无冰块、红茶)
因此在特征为全糖、牛奶、无冰块、红茶的情况下,有较大的可能性选择好喝的判断。

拉普拉斯修正

为了避免未出现的特征在训练集中被抹去,常采用拉普拉斯修正。

测试组数甜度牛奶冰块茶叶好喝(Y)/不好喝(N)
1全糖奶精红茶Y
2无糖牛奶乌龙茶N
3全糖牛奶红茶Y
4无糖牛奶绿茶Y
5全糖奶精红茶Y
6无糖奶精一半绿茶N
7半糖牛奶红茶Y
8少糖奶精绿茶N
9全糖牛奶红茶Y
10无糖牛奶绿茶N
11无糖奶精红茶Y
12无糖牛奶绿茶N
13全糖奶精一半红茶N
14半糖奶精红茶Y
15半糖牛奶一半红茶Y
16无糖奶精乌龙茶N

可以从训练集中很容易发现,P(乌龙茶|Y)=0/9,因此很容易使得概率为0,显然不合适,由此引入拉普拉斯修正。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值