题目描述

试用极大似然法估计西瓜数据集3.0中前3个属性的类条件概率。

解答

如果不用极大似然法,直接根据

\[P(x_i,c)=\frac{|D_{c,x_i}|}{|D|} \]

也可以求出条件概率,和用极大似然估计做出一样。但题目要求用极大似然估计,那还是套用一下极大似然法。
这里需要估计的参数就是类条件概率。以“敲声”属性为例,数据统计如下:

敲声 好瓜数 坏瓜数
浊响 6 5
沉闷 2 3
清脆 0 2

下面用极大似然法估计坏瓜敲声属性的条件概率,好瓜敲声属性及其他属性的概率用类似的方法可求。
\(p_{敲声=浊响|坏瓜}=p_1, p_{敲声=沉闷|坏瓜}=p_2, p_{敲声=清脆}=p_3\)\(p_3=1-p_1-p_2\)
因为当前两种属性给定时,第三种属性出现的概率也就确定了,即上面三个变量不是独立的,事实上,它们的和必须为 \(1\),如果没有这个约束,就无法求解。所以下面以 \([p_1,p_2]\) 为参数求解。

根据西瓜书式(7.9),这些属性在给出的数据集上发生的概率为

\[\begin{aligned} P(D_{坏瓜}|[p_1,p_,p_3]) &= \prod_{x\in D_{坏瓜}}(x|[p_1,p_2]) \\ &= p_1^5 p_2^3 (1-p_1-p_2)^2 \end{aligned} \]

对数似然为

\[\begin{aligned} LL([p_1,p_2]) &= ln\ P(D_{坏瓜}|[p_1,p_2]) \\ &= 5ln(p_1) + 3ln(p_2) + 2ln(1-p_1-p_2) \\ \end{aligned} \]

\(\frac{\partial LL}{\partial p_1}=0,\frac{\partial LL}{\partial p_2}=0\),得 \(p_1=\frac{1}{2},p_2=\frac{3}{10}\)
其余值可以用类似方法求得。可以看出直接用某类属性对应样本数和该类样本数的比值得到的结果一致。