NB主要用于解决有监督分类问题。相比于其他模型,其具备简单(不需要复杂的迭代式参数估计,由此方便处理大数据)、可解释性强(生成模型)、效果佳的特点。
针对二分类问题,利用训练集数据学习一个判断阈值α,对于新来的数据做判定,大于α的数据属于正类,小于α的数据属于负类。有监督分类中存在两大流派 diagnostic paradigm 和 sampling paradigm ,前者注重于发现类间的区别,后者注重于发现类本身的分布形式,NB兼而有之。
从sampling paradigm角度出发,定义 P(i|x) 为样本 x=(x1,x2...xp) 属于类别 i 的概率; f(x|i) 为条件为 i 类样本的分布; P(i) 为在没有任何已知数据情况下,样本属于 i 类的先验概率; f(x) 是样本的总体分布,有 f(x)=f(x|1)P(1)+f(x|0)P(0) 。显然, P(i|x)∈[0,1] 就是我们要找的阈值计算公式,一个典型的情况是设置阈值为 0.5。
由Bayes公式,
根据上述算法描述,可以得知,如果对 P(i|x) 作任意的严格单调性变换,并相应地改变阈值α,分类结果将保持不变。即
独立性假设是NB中的一个核心观点,但是很明显在现实中,这个假设通常都是不合理的,偏偏NB又能产生很好的效果。由“不合理”的假设得到合理的结果,这看起来是违背常理。下面我们讨论具体原因
独立单变量模型的复杂度远低于相关多变量模型,在估计时少量数据即可达到较好的精度。
先验概率 nj/N 修正为 (nj+cj−1)/(N+1) ,这样可以对具备新特征的样本进行处理
引入特征的两两相关
与NB很相似,但是参数估计不能用直接简单的概率完成,而需要通过迭代的方法。因此更为复杂
Time with Emp(T) | Size of Loan(S) | Homeowner(H) | Default(D) |
---|---|---|---|
5 | 10000 | 1 | N |
20 | 10000 | 1 | N |
1 | 25000 | 1 | N |
1 | 15000 | 3 | N |
15 | 2000 | 2 | N |
6 | 12000 | 1 | N |
1 | 5000 | 2 | Y |
12 | 8000 | 2 | Y |
3 | 10000 | 1 | Y |
1 | 5000 | 3 | Y |
我们注意到,这里的T,S都是毕竟分散的连续型数据,因此我们可以通过设定阈值的方法使其离散化。
T 我们设定阈值为10, S 我们设定阈值为10000
由此可得:
f(T<10|D=N)=4/6
f(T≥10|D=N)=2/6
f(T<10|D=Y)=3/4
f(T≥10|D=Y)=1/4
f(S<10000|D=N)=5/6
f(S≥10000|D=N)=1/6
f(S<10000|D=Y)=3/4
f(S≥10000|D=Y)=1/4
f(H=1|D=N)=4/6
f(H=2|D=N)=1/6
f(H=3|D=N)=1/6
f(H=1|D=Y)=1/6
f(H=2|D=Y)=2/6
f(H=3|D=Y)=1/6
现在,有一个新用户申请信用卡,他的 T=5, S=7000,H=1
则, P(Y|x)P(N|x)=P(1)f(T|1)f(S|1)f(H|1)P(0)f(T|0)f(S|0)f(H|1)=0.422
又根据 P(1|x)=1−P(0|x) , 可得 P(0|x)=0.703 , P(1|x)=0.296
如果我们设定阈值为0.5,则该用户是可以被授信的
(完)