不建模算法与最大后验估计

0. 前言

上一篇博客中,举了一个例子,通过10个带有标签的样本,对提出的某个问题进行了预测。但是在整个过程中,感觉是直接就算出了结果,没有通过训练集建立模型,再通过模型来预测的过程。这些疑问将在本篇博客中进一步说明。

1. 不建模算法

朴素贝叶斯是一个不建模的算法。在上一篇博客中,表格中的数据就是我们所说的训练集,而“没房、单身的人”就是没有标签的测试集。因为,训练集和测试集都是抽样于同一个不可获得的大样本,并且在这个大样本下的各种属性所表现处的规律应该是一致的,因此训练出来的各种概率可以直接放到测试集来使用。即不建模也能完成分类。

2. 最大后验估计

在实际的贝叶斯决策过程中是比较复杂的:标签和特征都会有很多,每一个特征下也有很多不同的取值。
在这里插入图片描述
对于上述公式而言,我们从训练集中求解P(Y=1)比较容易,但求解P(X)和P( x i x_i xi|Y=1)就比较复杂了。在求解P(X)时,使用的是全概率公式,上一篇博文例子中的两个特征就需要求解4项概率,特征数目一旦很大,计算量就会很大,P( x i x_i xi|Y=1)也会很难计算。
但实际上,以二分类问题为例,我们一般是判断在同一个样本下,更接近0还是更接近1,即

在这里插入图片描述

且:P(Y=1|**X**) + P(Y=0|**X**) = 1

即在实际的计算过程中,两个概率的分母是相同的,因此可以不计算分母,即无需计算难于计算的P(X)。可以只计算分子,即分别求解P(Y=1|X)和P(Y=0|X),再把这两个结果相加的和作为分母。这就是“最大后验估计”(MAP),主要求解的就是每个样本在每个特征取值下的P( x i x_i xi|Y= y i y_i yi),再连乘。分子更大的Y所对应的类别就是样本更靠近的那一类。

虽然,上述过程使得我们求解的过程变得没那么困难了,但是还是存在一些问题。① 比如,在测试集中出现的某个特征是我们训练集中没有的。对于上一篇博客中的那个预测是否拖欠贷款的例子,假如我们要判断的是某个“没房、丧偶的人”是否拖欠贷款。我们需要计算的是下面的式子:

P(拖欠贷款|没房,丧偶) = P ( 没 房 , 丧 偶 ∣ 拖 欠 贷 款 ) ∗ P ( 拖 欠 贷 款 ) P ( 没 房 , 丧 偶 ) {P(没房,丧偶|拖欠贷款)*P(拖欠贷款)}\over{P(没房,丧偶)} P()P()P()

           = P ( 没 房 ∣ 拖 欠 贷 款 ) ∗ P ( 丧 偶 ∣ 拖 欠 贷 款 ) ∗ P ( 拖 欠 贷 款 ) P ( 拖 欠 贷 款 ) ∗ P ( 没 房 , 丧 偶 ∣ 拖 欠 贷 款 ) + P ( 不 拖 欠 贷 款 ) ∗ P ( 没 房 , 丧 偶 ∣ 不 拖 欠 贷 款 ) {P(没房|拖欠贷款)*P(丧偶|拖欠贷款)*P(拖欠贷款)}\over{P(拖欠贷款)*P(没房,丧偶|拖欠贷款)+P(不拖欠贷款)*P(没房,丧偶|不拖欠贷款)} P()P()+P()P()P()P()P()

上面我们说了,无需计算分母,所以我们需要算的是P(没房|拖欠贷款)、P(丧偶|拖欠贷款)以及P(拖欠贷款)。而对于P(丧偶|拖欠贷款),丧偶这个特征值是我们的训练集中没有的,所以P(丧偶|拖欠贷款)结果是0。分子是连乘的,所以会导致最终结果为0,这就使得概率预测没有意义了。所以不能让它等于0,这是一个需要解决的问题。除此之外,② 对于现实中标签是连续型的变量,就没法用样本个数占比这种方法来计算了。

上述问题,将在下一篇博客中继续说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值