本文是在看书的基础上,个人的一丢丢思考,君莫笑!
问题描述(参考李航教授的《统计学习方法》)
-
朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。
-
假设选择0-1分布,则损失函数为
- L ( Y , f ( X ) ) = { 1 Y ≠ f ( X ) 0 Y = f ( X ) L(Y,f(X))=\left\{ \begin{aligned} 1 & & Y \neq f(X)\\ 0 & & Y = f(X) \\ \end{aligned} \right. L(Y,f(X))={10Y=f(X)Y=f(X) ( 1 ) (1) (1)
-
式中 f ( X ) f(X) f(X)是分类决策函数,即若分类正确则该样本点的损失为 0 0 0,若分类错误则该样本点的损失为 1 1 1;
-
因为 X , Y X,Y X,Y遵循联合分布,所以期望风险函数为
- R e x p ( f ) = E [ L ( Y , f ( X ) ) ] = E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k | X ) R_{exp}(f)=E[L(Y,f(X))]=E_X\sum\limits_{k=1}^{K}[L(c_k,f(X))]P(c_k|X) Rexp(f)=E[L(Y,f(X))]=EXk=1∑K[L(ck,f(X))]P(ck|X) ( 2 ) (2) (2)
-
对每一个样本点的损失和概率的乘积进行求和就是期望风险;由于遵循联合分布,所以可以写成后面的形式:
- E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k | X ) = ∑ i = 1 N ∑ k = 1 K [ L ( c k , f ( X i ) ) ] P ( c k | X i ) P ( X i ) ( 3 ) = ∑ i = 1 N ∑ k = 1 K [ L ( c k , f ( X i ) ) ] P ( c k , X i ) E_X\sum\limits_{k=1}^{K}[L(c_k,f(X))]P(c_k|X)\\=\sum\limits_{i=1}^{N}\sum\limits_{k=1}^{K}[L(c_k,f(X_i))]P(c_k|X_i)P(X_i) (3)\\=\sum\limits_{i=1}^{N}\sum\limits_{k=1}^{K}[L(c_k,f(X_i))]P(c_k,X_i) EXk=1∑K[L(ck,f(X))]P(ck|X)=i=1∑Nk=1∑K[L(ck,f(Xi))]P(ck|Xi)P(Xi)(3)=i=1∑Nk=1∑K[L(ck,f(Xi))]P(ck,Xi)
-
根据公式(3),应该可以清楚的看到公式(2)原来的样貌,公式(3)的最后一行也许是大家最常见的形式,每一个样本点 ( c k , X i ) (c_k,X_i) (ck,Xi)或者 ( X i , c k ) (X_i,c_k) (Xi,ck)对应着它的损失值和出现的概率 P ( c k , X i ) ( P ( c k , X i ) = P ( X i , c k ) ) P(c_k,X_i)(P(c_k,X_i)=P(X_i,c_k)) P(ck,Xi)(P(ck,Xi)=P(Xi,ck))这里的 c k c_k ck就是 Y Y Y,两个求和公式则是遍历所有样本点,所有样本点出现的概率与对应的损失值的和就是期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)。
-
理解了公式(2)的含义之后,我们可以将公式进一步简化,我们的目标是让期望风险最小化,要想让期望风险最小化,那么我们只需要让每个 X = x X=x X=x 时 E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k | X ) E_X\sum\limits_{k=1}^{K}[L(c_k,f(X))]P(c_k|X) EXk=1∑K[L(ck,f(X))]P(ck|X)最小化;令 g ( X ) = E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k | X ) g(X)=E_X\sum\limits_{k=1}^{K}[L(c_k,f(X))]P(c_k|X) g(X)=EXk=1∑K[L(ck,f(X))]P(ck|X)
-
因为不同的 X = x X=x X=x取值之间是相互独立的,没有影响的,所以我们可以说最小化 R e x p ( f ) R_{exp}(f) Rexp(f)就是最小化每一个 g ( X = x ) g(X=x) g(X=x);对于 g ( X = x ) g(X=x) g(X=x)内部的求和来说,因为每个取值 P ( c k , X i ) P(c_k,X_i) P(ck,Xi)之间是相互影响的,因为 ∑ k = 1 K P ( c k , X i ) = 1 \sum\limits_{k=1}^{K}P(c_k,X_i)=1 k=1∑KP(ck,Xi)=1所以我们不能说最小化 R e x p ( f ) R_{exp}(f) Rexp(f)等价于最小化每一个样本点的加权损失 [ L ( c k , f ( X = x ) ) ] P ( c k | X = x ) [L(c_k,f(X=x))]P(c_k|X=x) [L(ck,f(X=x))]P(ck|X=x)
-
那现在我们的目标就是最小化 g ( X = x ) g(X=x) g(X=x)下面将解释为什么最小化期望风险就是将后验概率 P ( c k | X = x ) P(c_k|X=x) P(ck|X=x)最大对应的类别作为输出(将实例分到后验概率最大的类中)
-
两个方式解释:
- 首先是我自己的理解,俗称瞎扯: 我们使用0-1损失函数为例(参考公式(1));根据其输出值,我们知道 P ( c k | X = x ) P(c_k|X=x) P(ck|X=x)要么与1相乘保全自身,要么与0相乘灰飞烟灭;我们还知道,我们会把输入的实例分配到唯一的一个类别中(如果将实例分配到多个类别中,那将是个悲伤的故事);所以这也就是说,只有一个不幸的 P ( c k ∣ X = x ) P(c_k|X=x) P(ck∣X=x)会与0相乘,其他的k-1一个就只能与1相乘。所以谈到这里,你恍然大悟,只有我胡汉三才能拯救世界;所以让最大的 P ( c k ∣ X = x ) P(c_k|X=x) P(ck∣X=x)去乘以0,才能是的整个 g ( X ) g(X) g(X)最小。因为只有 Y = f ( X ) Y=f(X) Y=f(X)的才能与0相乘,所以 P ( c k ∣ X = x ) P(c_k|X=x) P(ck∣X=x)最大的,也就对应着 Y = f ( X ) Y=f(X) Y=f(X),也就对应着输出的类别。所以将实例分配到后验概率最大的类别中就等价于最小化期望风险。
- 书上通过公式推导:
- f ( x ) = arg min y ∈ Y ∑ k = 1 K L ( c k , y ) P ( c k ∣ X = x ) = arg min y ∈ Y ∑ k = 1 K P ( y ≠ c k ∣ X = x ) = arg min y ∈ Y ( 1 − P ( y = c k ∣ X = x ) ) = arg max y ∈ Y P ( y = c k ∣ X = x ) f(x)= \mathop{\arg\min}_{y \in Y}\sum\limits_{k=1}^KL(c_k,y)P(c_k|X=x)\\=\mathop{\arg\min}_{y \in Y}\sum\limits_{k=1}^KP(y \neq c_k|X=x)\\=\mathop{\arg\min}_{y \in Y}(1-P(y=c_k|X=x))\\=\mathop{\arg\max}_{y \in Y}P(y=c_k|X=x) f(x)=argminy∈Yk=1∑KL(ck,y)P(ck∣X=x)=argminy∈Yk=1∑KP(y=ck∣X=x)=argminy∈Y(1−P(y=ck∣X=x))=argmaxy∈YP(y=ck∣X=x)
-
以上就是两个解释方式。
闲话
- 鬼知道我敲这些公式敲了多久(写博客把Latex语法顺便学了也不错)
- 今天我发现博客有一键三连的操作,不信你试试!