西瓜书《机器学习》课后答案——chapter10 降维与度量学习

来源:互联网 发布:fastdfs nginx 400 编辑:程序博客网 时间:2024/06/04 20:05

10.1 西瓜书《机器学习》课后答案——chapter10 _10.1 KNN算法

10.2 令err,err∗分别表示最近邻分类器与贝叶斯最优分类器的期望错误率,试证明:

errerrerr(2|Y||Y|1×err).(1)

解答:
不知道这里所谓的期望错误率是指什么。在原论文Nearest Neighbor Pattern Classification. 1967.中,定义的是NN条件风险r(x,xn)与NN总体风险R,以及贝叶斯条件风险r(x)与贝叶斯总体风险R。在书中定义的P(err)其实是NN条件风险。事实上,条件风险和总体风险都满足(1)。

贝叶斯条件风险与贝叶斯风险:
假设已知条件分布P(C|X)与损失函数L(i,j)L(i,j)表示把i类实例误分为j类的损失。定义实例x上的条件风险为

r(C=j|X=x)=iP(i|x)L(i,j).(2)

这个式子可以这样理解:实例的类别并不是唯一确定的,而是在所有类别上有一个分布。如果把实例划分为类别j,那么损失为L(i,j)的期望损失。

贝叶斯决策规则会把实例x分类到条件风险最小的类别,对应的条件风险称为Bayes条件风险:

r(x)=minjr(j|x).(3)

Bayes条件风险的期望称为Bayes风险:

R=E[r(x)],(4)

这是所有的分类器所能达到的最小风险。

如果损失函数为0-1损失函数,则

r(C=j|X=x)=iP(i|x)L(i,j)=1P(j|x).(5)

r(x)=minjr(j|x)=minj{1P(j|x)}=1maxjP(j|x).(6)

NN条件风险与NN风险:
给定训练数据{(x1,θ1),(x2,θ2),,(xn,θn)}。对实例x,可以得到训练集中距离x最近的样本,记作xn。如果x的真实类别是θ,则NN算法的损失为L(θ,θn),下面我们会考虑0-1损失函数。
如果所有的训练样本对都是随机变量,可以定义NN条件风险为:

r(x,xn)=E[L(θ,θn)|x,xn]=ijP(i,j|x,xn)=ijP(i|x)P(j|xn)

n+时,有xnx,所以

r(x,xn)r(x)=ijP(i|x)P(j|x)=1iP2(i|x).(7)

maxjP(j|x)写作P(k|x),则Bayes条件风险(6)为

r(x)=1P(k|x).(8)

根据柯西-施瓦兹不等式:

(inxiyi)2(inx2i)(iny2i)

可知

(inxi)2n(ix2i)

所以

ikP2(i|x)1|Y|1(ikP(i|x))2=1|Y|1(1P(k|x))2=1|Y|1(r(x))2,

代入(7)中得:

r(x)=1P2(k|x)ikP2(i|x)1(1r(x))21|Y|1(r(x))2=2r(x)|Y||Y|1(r(x))2.(9)

定义n-samples NN风险:

Rn=E[r(x,xn)],

NN风险:

R=limn+Rn,

R=limn+E[r(x,xn)]=E[limn+r(x,xn)]=E[r(x)]E[2r(x)|Y||Y|1(r(x))2]=2E[r(x)]|Y||Y|1E[(r(x))2]=2E[r(x)]|Y||Y|1(E[r(x)])2|Y||Y|1Var(r(x))2E[r(x)]|Y||Y|1(E[r(x)])2=2R|Y||Y|1(R)2.

不等式右边得证。

因为

iP2(i|x)iP(i|x)P(k|x)=P(k|x),

所以

r(x)r(x),

所以

R(x)R(x).

不等式左边得证。

10.3 在对高维数据降维前应该先进行“中心化”,常见的方法是将协方差矩阵XXT转换为XHHTXT,其中H=I1m11T。试分析其效果。
解答:
为什么题目中非得说对协方差矩阵做变换,为什么不直接说对X做变换XH
对X做变换XH,相当于让X中的所有实例减去实例均值。下面给出变换推导过程:

x¯=1mX1,

X¯=Xx1T=X1mX11T=X(I1m11T)=XH.

10.4 在实践中,协方差阵XXT的特征值分解常由中心化后的样本矩阵X的奇异值分解代替,试讲述原因。
解答:
(1)首先可以这样做,肯定是因为两者确实等价
假设A是一个m×n阶实矩阵,则存在一个分解使得:

A=UDVT,(1)

称为A的奇异值分解,其中D是对角矩阵和全零矩阵拼接一起。URm×mVRn×n都是单位正交方阵:

UTU=I,VTV=I.

可以推出U的列向量ui是AA^T的特征向量:

(AAT)U=(UDVTVDTUT)U=(UDDTUT)U=UDDT,(2)

DDTRm×m是对角矩阵。

  • m<n时:

    (AAT)[u1,u2,,um]=[σ21u1,σ22u2,,σ2mum],

    于是有
    (AAT)ui=σ2iui,i=1,2,,m,(3)

    所以U的列向量ui,i=1,,m是AA^T的特征向量。

  • m>n时:

    (AAT)[u1,u2,,um]=[σ21u1,σ22u2,,σ2nun,0,,0],

    于是有
    (AAT)ui=σ2iui,i=1,2,,n,(4)

    所以U的列向量ui,i=1,,nAAT的非零特征值对应的特征向量,ui,i=n+1,,mAAT的零特征值对应的特征向量。

综上,U的列是AAT的特征向量,特征值由D的对角元素的平方以及0值确定。

类似地,可以证明V的列是ATA的特征向量,特征值由D的对角元素的平方以及0值确定。

(2)这样做节省计算和存储成本

协方差矩阵XXTRd×d,我们以200*200的图片为例,计算存储协方差矩阵需要的内存大小。将图片按列展开成向量,有d=4104,于是协方差矩阵的大小为(4104)×(4104)。再假设浮点数占4字节,则协方差矩阵共战416108=6.4109字节,也就是6.4G字节。

可以看到协方差矩阵随随便便就占了几个G,如果特征空间维数再高一点,那么占用的内存远远超过我们的计算机拥有的内存。这个矩阵都存不下,怎么求特征分解呢?

X的SVD分解,其实也是需要存储一个和协方差矩阵大小相同的矩阵的。

应该采用以下方法求协方差矩阵的特征值和特征向量。我们知道,矩阵XTXRN×N,其中N为样本数。XTX的大小一般情况下是远远小于XXT的。我们可以求XTX的特征值和特征向量:

XTXv=λv,

左右两边同时乘以X,得到

XXT(Xv)=λ(Xv),

XXT的特征值等于XTX的特征值,XXT的特征向量等于X右乘XTX的特征向量。

所以可以先求出XTX的特征值和特征向量,然后再得到XXT的特征值和特征向量。

10.5 降维中涉及的投影矩阵通常要求是正交的,试述正交、非正交投影矩阵用于降维的优缺点。
解答:
正交投影矩阵可以保证投影到的低维特征空间的每个维度是不相关的,降低特征之间的耦合性。

10.6 西瓜书《机器学习》课后答案——chapter10_10.6 PCA

10.7 试述核化线性降维与流形学习之间的联系以及优缺点。
解答:
核化线性降维与流形学习都是非线性降维手段。
核化线性降维首先把数据映射到高维空间中,然后在高维空间应用PCA,得到降维投影矩阵。对于新的样本点,可以直接代入表达式中计算其低维表示;
流形学习通过保持数据在高维空间中的流形结构进行降维,比如Isomap算法保持的是数据点之间的测地距离,LLE算法保持的是局部线性结构。但是Isomap算法无法直接应用到新样本中。

10.8 k近邻图和ϵ近邻图存在的短路和断路问题会给Isomap造成困扰试设计一个方案缓解该问题。

10.9 设计一个方法为新样本找到LLE降维后的低维坐标。
解答:
对于新样本,首先计算其高维空间中的k个近邻,然后通过最小重构误差,得到线性重组系数。然后在低维空间中,对近邻应用同样的线性组合,得到新样本在低维空间中的表示。

10.10 试述如何确保度量学习产生的距离能满足距离度量的四条基本性质。
解答:
这个是想让证明度量矩阵M必须是半正定对称矩阵,得到的距离满足距离度量的基本性质,还是想问在优化问题中怎么保证得到的解是半正定对称矩阵?应该是第二个。
目前暂时不知道。

阅读全文
0 0
原创粉丝点击