统计模式识别学习笔记(十一)

密度估计的非参数法

在参数法中,我们事先规定了密度函数的结构形式。然而,在很多情况下,我们无法用一组参数来刻画密度函数,这时就需要借助密度估计的非参数法了。

1. 密度估计的基本性质

  • 无偏性

    如果 X 1 , . . . , X n X_1,...,X_n X1,...,Xn 是独立同分布的 d d d 维随机变量,其连续密度为 p ( x ) p(x) p(x)
    p ( x ) ⩾ 0 , ∫ R d p ( x ) d x = 1 p(x)\geqslant 0,\int_{R^d}p(x)dx=1 p(x)0,Rdp(x)dx=1
    既然这些随机变量的测量值已知,如何估计 p ( x ) p(x) p(x) 呢?如果估计量 p ^ ( x ) \hat{p}(x) p^(x) 满足上式,那么它就是有偏的,特别的:
    E [ p ^ ( x ) ] ≠ p ( x ) E[\hat{p}(x)]\ne p(x) E[p^(x)]=p(x)
    其中,
    E [ p ^ ( x ) ] = ∫ p ^ ( x ∣ x 1 . . . x n ) p ( x 1 ) . . . p ( x n ) d x 1 . . . d x n E[\hat{p}(x)]=\int \hat{p}(x|x_1...x_n)p(x_1)...p(x_n)dx_1...dx_n E[p^(x)]=p^(xx1...xn)p(x1)...p(xn)dx1...dxn
    当样本足够大,即 n → ∞ n\rightarrow \infty n 时,可以认为估计值是无偏的。

  • 一致性

    M S E x ( p ^ ) = E [ ( p ^ ( x ) − p ( x ) ) ] 2 = v a r ( p ^ ( x ) ) + { b i a s ( p ^ ( x ) ) } 2 MSE_x(\hat{p})=E[(\hat{p}(x)-p(x))]^2\\=var(\hat{p}(x))+\lbrace bias(\hat{p}(x))\rbrace^2 MSEx(p^)=E[(p^(x)p(x))]2=var(p^(x))+{ bias(p^(x))}2
    其中
    v a r ( p ^ ( x ) ) = E [ ( p ^ ( x ) − E [ p ^ ( x ) ] ) 2 ] b i a s ( p ^ ( x ) ) = E [ p ^ ( x ) ] − p ( x ) var(\hat{p}(x))=E[(\hat{p}(x)-E[\hat{p}(x)])^2]\\bias(\hat{p}(x))=E[\hat{p}(x)]-p(x) var(p^(x))=E[(p^(x)E[p^(x)])2]bias(p^(x))=E[p^(x)]p(x)
    积分平方误差 ( I S E ) (ISE) (ISE) 和均值积分平方误差 ( M I S E ) (MISE) (MISE) 的内容就不再说明了。

2. k k k 近邻法

k k k 近邻法是一种非常简单并且直观的方法。给定一个训练数据集,将测量值 x x x 分配到 C C C 个类中之一的 k k k 近邻分类过程如下:

  • 用适当的距离度量确定 k k k 个距测量值 x x x 最近的训练数据向量。
  • x x x 归入 k k k 个近邻向量投票最多的那个类。

需要实现准备的是近邻数量 k k k 、距离度量和训练数据集。

接下来,让我们来看一下数学的表现形式:

训练数据集为: T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\lbrace (x_1,y_1),(x_2,y_2),...,(x_N,y_N) \rbrace T={ (x1,y1),(x2,y2),...,(xN,yN)} 其中, x i x_i xi 是特征向量, y i y_i yi 是特征向量的类别,而测量值仍为 x x x

也就是说,根据给定的距离度量,在训练集中找到与测量值最近的 k k k 个点,然后再根据这 k k k 个点中 x 1 , . . . , x k x_1,...,x_k x1,...,xk 的类别数量判断出测量值 x x x 的类别。有时候,可能会出现多解的情况,可以在通过平均向量再次刻画距离的度量。就好比,两组数据平均值相同,但是方差及标准差不同,为了稳定性我们往往会选择标准差小的。

y = a r g m a x c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , . . . , N ; j = 1 , 2 , . . . , K y=argmax_{c_j}\sum_{x_i\in N_k(x)}I(y_i=c_j),i=1,2,...,N;j=1,2,...,K y=argmaxcjxiNk(x)I(yi=cj),i=1,2,...,N;j=1,2,...,K

对于公式,不再做任何解释。 k k k 近邻法的特殊情况是 k = 1 k=1 k=1 的情形,也被称为最近邻算法。

L p ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p ) 1 / p L_p(x_i,x_j)=(\sum_{l=1}^n|x_i^{(l)}-x_j^{(l)}|^p)^{1/p} Lp(xi,xj)=(l=1nxi(l)xj(l)p)1/p

p = 2 p=2 p=2时,是我们熟知的欧氏距离;

p = 1 p=1 p=1时,称为曼哈顿距离;

p = ∞ p=\infty p= 时,它是各个坐标距离的最大值,形式如下:
L ∞ ( x i , x j ) = m a x i ∣ x i ( l ) − x j ( l ) ∣ L_{\infty}(x_i,x_j)=\mathop{max}\limits_i|x_i^{(l)}-x_j^{(l)}| L(xi,xj)=imaxxi(l)xj(l)

k k k 值的选择通常会对结果产生极大的影响。在应用中,一般选取一个比较小的数值,最优解通过交叉验证法来选取。

3. 题外话

差不多一周的时间没有更新博客了,这一段时间里我也在反思,应该以一个怎样的视角来学习手中的这几本资料。那么在下一篇博客中,会继续介绍 k d kd kd 树的概念,也是 k k k 近邻法的一种实现。浏览量破2k了,谢谢各位。

猜你喜欢

转载自blog.csdn.net/qq_44868018/article/details/108355893