2019年秋季数据挖掘与机器学习课程学习笔记

第一节课

第二节课

第三节课

第四节课 density estimation

介绍:

X1,X2,...,XnX_1,X_2,...,X_n是来自分布PP的密度为pp的样本,非参数密度估计目标就是在最少的关于密度pp的假设的情况对pp进行估计。我们用p^\hat p来表示pp的估计。这个估计会依赖一个光滑的参数hh,小心的选择hh是关键的。为了强调这个对hh的依赖,我们使用p^h\hat p_h记号。

密度估计可被用于:回归、分类、聚类、无监督预测。举例而言:如果p^(x,y)\hat p(x,y)p(x,y)p(x,y)的一个估计,那么我们可以得到回归函数的以下估计:
m^(x)=y(^yx)dy \hat m(x)=\int y\hat (y|x)dy
其中p^(yx)=p^(y,x)p^(x)\hat p(y|x)=\hat p(y,x)\hat p(x).对于分类问题而言,我们回忆Bayes rule:
h(x)=I(p1(x)π1>p0(x)π0) h(x)=I(p_1(x)\pi_1>p_0(x)\pi_0)
其中π1=P(Y=1),π0=P(Y=0),p1(x)=p(xy=1)\pi_1=\mathbb{P}(Y=1),\pi_0=\mathbb{P}(Y=0),p_1(x)=p(x|y=1),p0(x)=p(xy=0)p_0(x)=p(x|y=0).输入样本对于π1,π0\pi_1,\pi_0的估计,对p1,p0p_1,p_0的密度估计则会产生一个基于Bayes rule的预测。很多你熟悉的分类器可以被用这种方式重新表述。

损失函数

最常使用的损失函数是L2L_2损失:
(p^p(x))2dx=p^2(x)dx2p^(x)p(x)+p2(x)dx\int(\hat p-p(x))^2dx=\int\hat p^2(x)dx-2\int\hat p(x)p(x)+\int p^2(x)dx
风险是 R(p,p^)=E(L(p,p^))R(p,\hat p)=\mathbb{E}(L(p,\hat p))
Devroye and Gyorfi(1985) 强烈推荐使用 L1L_1范数
p^p1p^(x)p(x)dx\|\hat p-p\|_1\equiv\int|\hat p(x)-p(x)|dx
作为L2L_2范数的代替。L1L_1损失有以下的良好解释:如果P,QP,Q是分布,定义全变差度量:
dTV(P,Q)=supAP(A)Q(A)d_{TV}(P,Q)=sup_A|P(A)-Q(A)|
上确界取遍所有的可测集。如果P,QP,Q有密度p,qp,q那么有:
dTV(P,Q)=12pq=12pq1d_{TV}(P,Q)=\frac{1}{2}\int|p-q|=\frac{1}{2}\|p-q\|_1
因此,如果pq<δ\int|p-q|<\delta那么我们知道P(A)Q(A)<δ2|P(A)-Q(A)|<\frac{\delta}{2}对于所有的AA。同样的,L1L_1范数是一个变形不变量(transformation invariant)。假设TT是一个一对一的光滑映射,令Y=T(X)Y=T(X)。令ppqqXX的密度,令p^,q^\hat p,\hat q是相应的YY的密度,那么:
p(x)q(x)dx=p^(y)q^(y)dy\int|p(x)-q(x)|dx=\int|\hat p(y)-\hat q(y)|dy
因此在此定义下的距离不会因为一一映射而改变,但无论如何我们还是聚焦于L2L_2损失。

Histograms直方图

Perhaps the simplest density estimators are histograms. For convenience, assume that the data X1,...,XnX_1,...,X_n are contained in the unit cube X=[0,1]dX = [0,1]^d (although this assumption is not crucial). Divide X\mathcal X into bins, or sub-cubes, of size hh. We discuss methods for choosing hhlater.
2019年秋季数据挖掘与机器学习课程学习笔记
2019年秋季数据挖掘与机器学习课程学习笔记
2019年秋季数据挖掘与机器学习课程学习笔记
2019年秋季数据挖掘与机器学习课程学习笔记

Kernel Density Estimation核密度估计

一个以为的光滑核(smoothing kernel)是任意的一个光滑函数(其定义域内无穷阶数连续可导的函数)KK满足K(x)dx=1,\int K(x)dx=1,xK(x)dx=0,σk2x2K(x)dx>0x\int K(x)dx=0,\sigma_k^2\equiv\int x^2K(x)dx>0。一些常用的核函数如下所示:
Boxcar:K(x)=12I(x)K(x)=\frac{1}{2}I(x)
Gaussian:K(x)=12πex22K(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}
Epanechnikov :K(x)=34(1x2)I(x)K(x)=\frac{3}{4}(1-x^2)I(x)
Tricube:K(x)=7081(1x3)3I(x)K(x)=\frac{70}{81}(1-|x|^3)^3I(x)
其中I(x)=1I(x)=1如果x1|x|\leq 1。否则I(x)=0I(x)=0.这些核的图像如下,常用的多维的核是j=1dK(xj),K(x)\prod_{j=1}^dK(x_j),K(\|x\|)
2019年秋季数据挖掘与机器学习课程学习笔记
2019年秋季数据挖掘与机器学习课程学习笔记
给定一个XRdX\in\mathcal{R}^d。给定一个核KK和一个正数hh,称之为窗宽(bandwidth),核密度的估计定义为:
p^(x)=1ni=1nhdK(xXih)\hat p(x)=\frac{1}{n}\sum_{i=1}^ n{h^dK(\frac{\|x-X_i\|}{h})}
更一般的我们定义:
p^H(x)=12i=1nKH(xXi)\hat p_H(x)=\frac{1}{2}\sum_{i=1}^nK_H(x-X_i)
其中HH是一个正数定义了窗宽矩阵(bandwidth matrix)以及KH=H12K(H12x)K_H=|H|^{-\frac{1}{2}}K(H^{-\frac{1}{2}}x),为了简化表达,我们令H=h2IH=h^2I,然后我们得到先前的公式。

有时我们使用记号p^h\hat p_h来表达p^\hat p对width hh的依赖性。在多元的情况下,每个样本的坐标XiX_i应当被标准化来使每个样本是同方差的,因为范数 xXi\|x-X_i\|把所有的坐标看做它们是在同一度量下。

核估计对于每个数据点XiX_i都放置了一个size是1n\frac{1}{n}的质量块,见图3。核的形式选择没有hh的选择关键。一个较小的hh会带来一个粗糙的估计,一个较大的hh会带来一个更光滑的估计。

4.1Risk Analysis

在这节中我们测试核密度的准确性,首先我们需要一些定义:
假设XiXRdX_i\in\mathcal{X}\subset\mathbb{R}^d其中X\mathcal{X}是紧集。令β,L\beta,L是正数。给定一个向量s=(s1,...,sd)s=(s_1,...,s_d),定义s=s1+...+sd|s|=s_1+...+s_ds=s1!...sd!s!=s_1!...s_d!xs=x1s1...xdsdx^s=x_1^{s_1}...x_d^{s_d}并且
Ds=s1+...+sdx1s1...xdsdD^s=\frac{\partial^{s_1+...+s_d}}{\partial x_1^{s_1}...\partial x_d^{s_d}}
β\beta是一个正整数。定义 Holder class:
(β,L)={g:Dsg(x)Dsg(y)Lxy,for all s such thats=β1,and all x,y}\sum(\beta,L)=\{g:|D^sg(x)-D^sg(y)|\leq L\|x-y\|,for\ all\ s\ such\ that |s|=\beta-1,and\ all\ x,y\}
举例而言,如果d=1,β=2d=1,\beta=2也就意味着:
g(x)g(y)Lxy,for all x,y|g'(x)-g'(y)|\leq L|x-y|,for\ all\ x,y
最常见的情况就是β=2\beta=2,粗略来说这意味着函数被二阶导数限制。
如果g(β,L)g\in\sum(\beta,L)那么g(x)g(x)和他的泰勒级数展开是接近的:
g(u)gx,β(u)Luxβ|g(u)-g_{x,\beta}(u)|\leq L\|u-x\|^\beta
现在假设核KK有形式K(x)=G(x1)...G(xd)K(x)=G(x_1)...G(x_d)其中GG定义在[1,1],G=1,Gp<[-1,1],\int G=1,\int|G|^p<\infty对任意的p>1p>1都成立,tβK(t)dt<,tsK(t)=0\int|t|^\beta|K(t)|dt<\infty,\int t^sK(t)=0对于所有的sβs\leq\lfloor\beta\rfloor
一个核函数的例子在β=2\beta=2的情况下满足这些条件的是G(x)=(3/4)(1x2)G(x)=(3/4)(1-x^2)对所有的x<1|x|<1。构造一个满足tsK(t)dt=0\int t^sK(t)dt=0对所有β>2\beta>2的核函数需要这个核函数可以取负值。
ph(x)=E[p^h(x)]p_h(x)=\mathbb{E}[\hat p_h(x)]。下一个引理提供了一个偏差ph(x)p(x)p_h(x)-p(x)的界限。

引理 3

p^\hat p的偏差满足:
supp(β,L)ph(x)p(x)chβsup_{p\in\sum(\beta,L)}|p_h(x)-p(x)|\leq ch^\beta
对于某个c
证明:我们有:
2019年秋季数据挖掘与机器学习课程学习笔记
第一项被LhβK(s)sβLh^{\beta}\int K(s)|s|^\beta限制因为p(β,L)p\in\sum(\beta,L)。第二项是0因为K的性质 px,β(x+hv)p(x)p_{x,\beta}(x+hv)-p(x)是一个阶数为β\lfloor\beta\rfloor的多项式(没有常数项)。
下面,我们来限制方差:

引理 4

p^h\hat p_h的方差满足:
supp(β,L)Var(p^h(x))cnhdsup_{p\in\sum(\beta,L)}Var(\hat p_h(x))\leq \frac{c}{nh^d}
对于某个c
2019年秋季数据挖掘与机器学习课程学习笔记

阅读资料:

Density Estimation 10/36-702
https://blog.****.net/weixin_37801695/article/details/84918980
https://blog.****.net/liangzuojiayi/article/details/78152180
https://blog.****.net/unixtch/article/details/78556499