机器学习笔记13-降维

机器学习笔记13-降维

  1. 低维嵌入
    在高维情形下数据样本会出现稀疏、距离计算困难等问题,称为“维数灾难”,缓解维数灾难的一个重要途径是降维,即通过数学变换将原始高维属性空间转变为一个低维子空间,在这个子空间中样本密度大幅提高,距离计算也变得更为容易。若要求原始空间中样本之间的距离在低维空间中得以保持,即得到“多维缩放”(MDS)这一经典的降维方法。
    MDS算法
    假定m个样本在原始空间的距离矩阵为 D ∈ R m × m D \in {R^{m \times m}} DRm×m,其第i行第j列的元素 d i s t i j dist_{ij} distij为样本 x i x_i xi x j x_j xj的距离。我们的目标是获得样本在 d ′ d' d维空间的表示 Z ∈ R d ′ × m Z \in {R^{d' \times m}} ZRd×m d ′ ≤ d d' \le d dd,且任意两个样本在 d ′ d' d维空间中的欧式距离等于原始空间中的距离,即 ∥ z i − z j ∥ = d i s t i j \left\| {{z_i} - {z_j}} \right\| = dis{t_{ij}} zizj=distij。令 B = Z T Z ∈ R m × m B = {Z^T}Z \in {R^{m \times m}} B=ZTZRm×m,其中 B B B为降维后样本的内积矩阵, b i j = z i T z j b_{ij}=z_i^Tz_j bij=ziTzj,有
    d i s t i j 2 = ∥ z i ∥ 2 + ∥ z j ∥ 2 − 2 z i T z j = b i i + b j j − 2 b i j dist_{ij}^2 = {\left\| {{z_i}} \right\|^2} + {\left\| {{z_j}} \right\|^2} - 2z_i^T{z_j} = {b_{ii}} + {b_{jj}} - 2{b_{ij}} distij2=zi2+zj22ziTzj=bii+bjj2bij令降维后的样本 Z Z Z被中心化,即 ∑ i = 1 m z i = 0 \sum\limits_{i = 1}^m {{z_i} = 0} i=1mzi=0,可得
    b i j = − 1 2 ( d i s t i j 2 − d i s t i ⋅ 2 − d i s t ⋅ j 2 + d i s t ⋅ ⋅ 2 ) {b_{ij}} = - \frac{1}{2}(dist_{ij}^2 - dist_{i \cdot }^2 - dist_{ \cdot j}^2 + dist_{ \cdot \cdot }^2) bij=21(distij2disti2distj2+dist2)其中, d i s t i ⋅ 2 = 1 m ∑ j = 1 m d i s t i j 2 dist_{i \cdot }^2 = \frac{1}{m}\sum\limits_{j = 1}^m {dist_{ij}^2} disti2=m1j=1mdistij2 d i s t ⋅ j 2 = 1 m ∑ i = 1 m d i s t i j 2 dist_{ \cdot j}^2 = \frac{1}{m}\sum\limits_{i = 1}^m {dist_{ij}^2} distj2=m1i=1mdistij2 d i s t ⋅ ⋅ 2 = 1 m 2 ∑ i = 1 m ∑ j = 1 m d i s t i j 2 dist_{ \cdot \cdot }^2 = \frac{1}{{{m^2}}}\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^m {dist_{ij}^2} } dist2=m21i=1mj=1mdistij2。由此即可通过降维前后保持不变的距离矩阵 D D D求取内积矩阵 B B B。对矩阵 B B B做特征值分解, B = V Λ V T B = V\Lambda {V^T} B=VΛVT,其中 Λ = d i a g ( λ 1 , λ 2 , . . . , λ d ) \Lambda = diag({\lambda _1},{\lambda _2},...,{\lambda _d}) Λ=diag(λ1,λ2,...,λd)为特征值构成的对角矩阵, λ 1 ≥ λ 2 ≥ . . . ≥ λ d {\lambda _1} \ge {\lambda _2} \ge ... \ge {\lambda _d} λ1λ2...λd V V V为特征向量矩阵。假定有 d ∗ d^* d个非零特征值,他们构成对角矩阵 Λ ∗ = d i a g ( λ 1 , λ 2 , . . . , λ d ∗ ) {\Lambda _*} = diag({\lambda _1},{\lambda _2},...,{\lambda _{d*}}) Λ=diag(λ1,λ2,...,λd),令 V ∗ V_* V表示相应的特征向量矩阵,则 Z Z Z可表示为:
    Z = Λ ∗ 1 / 2 V ∗ T ∈ R d ∗ × m Z = \Lambda _*^{1/2}V_*^T \in {R^{d* \times m}} Z=Λ1/2VTRd×m在现实应用中,为了有效降维,往往仅需降维后的距离与原始空间中的距离尽可能接近,而不必严格相等。此时可取 d ′ ≤ d d' \le d dd个最大特征值构成对角矩阵。

    一般来说,获得低维子空间最简单的方法时对高维空间进行线性变换。d维空间中的样本 X = ( x 1 , x 2 , . . . , x m ) ∈ R d × m X=(x_1,x_2,...,x_m) \in R^{d \times m } X=(x1,x2,...,xm)Rd×m,变换到 d ′ ≤ d d' \le d dd维中,
    Z = W T X Z=W^TX Z=WTX其中 W ∈ R d × d ′ W \in R^{d \times d'} WRd×d是变换矩阵, Z ∈ R d ′ × m Z \in R^{d' \times m} ZRd×m是样本在新空间中的表达。基于这种线性变换来进行降维的方法称为线性降维方法。

  2. 主成分分析(PCA)
    PCA是最常用的一种降维方法。对于正交属性空间中样本点,若想要用一个超平面对所有样本进行恰当表达,这种超平面需满足两点:(1)最近重构性:样本点到这个超平面的距离都足够近;(2)最大可分性:样本点在这个超平面上的投影能尽可能分开。而这两个条件会得到等价的优化目标:
    max ⁡ W t r ( W T X X T W ) \mathop {\max }\limits_W {\rm{ }}tr({W^T}X{X^T}W) Wmaxtr(WTXXTW) W T W = I {W^T}W=I WTW=I对上式使用拉格朗日乘子法可得:
    X X T w i = λ i w i X{X^T}{w_i} = {\lambda _i}{w_i} XXTwi=λiwi于是只需对协方差矩阵 X X T XX^T XXT进行特征值分解,将求得的特征值排序: λ 1 ≥ λ 2 ≥ , . . . , ≥ λ d {\lambda _1} \ge {\lambda _2} \ge ,..., \ge {\lambda _d} λ1λ2,...,λd,再取前 d ′ d' d个特征值对应的特征向量构成 W ∗ = ( w 1 , w 2 , . . . , w d ′ ) {W^*} = ({w_1},{w_2},...,{w_{d'}}) W=(w1,w2,...,wd)。这就是主成分分析的解。其具体过程如下:
    (1)对所有样本进行中心化: x i ← x i − 1 m ∑ i = 1 m x i {x_i} \leftarrow {x_i} - \frac{1}{m}\sum\limits_{i = 1}^m {{x_i}} xixim1i=1mxi
    (2)计算样本的协方差矩阵 X X T XX^T XXT
    (3)对协方差矩阵 X X T XX^T XXT做特征值分解
    (4)取最大的 d ′ d' d个特征值所对应的特征向量 ( w 1 , w 2 , . . . , w d ′ ) ({w_1},{w_2},...,{w_{d'}}) (w1,w2,...,wd)
    (5)输出投影矩阵 W ∗ = ( w 1 , w 2 , . . . , w d ′ ) {W^*} = ({w_1},{w_2},...,{w_{d'}}) W=(w1,w2,...,wd)
    降维后低维空间的维数 d ′ d' d通常是由用户事先指定,或通过交叉验证来选取最佳 d ′ d' d值。对PCA,还可以从重构的角度设置一个重构阈值,例如 t = 95 % t=95\% t=95%,使下式成立:
    ∑ i = 1 d ′ λ i ∑ i = 1 d λ i ≥ t \frac{{\sum\limits_{i = 1}^{d'} {{\lambda _i}} }}{{\sum\limits_{i = 1}^d {{\lambda _i}} }} \ge t i=1dλii=1dλitPCA仅需保留 W ∗ W^* W与样本均值向量即可通过简单的向量减法和矩阵-向量乘法将新样本投影到低维空间中。运算过程中, d ′ − d d'-d dd个特征值向量会被舍弃。这样做一方面可以使样本的采样密度增大,这正是降维的重要动机;另一方面,当数据受到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,舍弃这些可达到去噪的目的。

  3. 核化线性降维
    在不少任务中,需要非线性映射才能找到恰当的低维嵌入。非线性降维的一种常用方法,是基于核技巧对线性降维方法进行核化。以下介绍核主成分分析(KPCA)。
    假定将数据投影到 W = ( w 1 , w 2 , . . . , w d ) W = ({w_1},{w_2},...,{w_d}) W=(w1,w2,...,wd)确定的超平面上,对于 w j w_j wj
    ( ∑ i = 1 m z i z T ) w j = λ j w j (\sum\limits_{i = 1}^m {{z_i}{z^T}} ){w_j} = {\lambda _j}{w_j} (i=1mzizT)wj=λjwj其中 z i z_i zi是样本点 x i x_i xi在高维空间中的像。易知
    w j = 1 λ j ( ∑ i = 1 m z i z i T ) w j = ∑ i = 1 m z i z i T w j λ j = ∑ i = 1 m z i α i j {w_j} = \frac{1}{{{\lambda _j}}}(\sum\limits_{i = 1}^m {{z_i}z_i^T} ){w_j} = \sum\limits_{i = 1}^m {{z_i}\frac{{z_i^T{w_j}}}{{{\lambda _j}}}} = \sum\limits_{i = 1}^m {{z_i}\alpha _i^j} wj=λj1(i=1mziziT)wj=i=1mziλjziTwj=i=1mziαij其中 α i j = z i T w j λ j {\alpha _i^j = \frac{{z_i^T{w_j}}}{{{\lambda _j}}}} αij=λjziTwj α i \alpha_i αi的第j个分量。假定 z i z_i zi是由原始属性空间中的样本点 x i x_i xi通过映射 ϕ \phi ϕ产生,即 z i = ϕ ( x i ) z_i=\phi(x_i) zi=ϕ(xi)。若 ϕ \phi ϕ能够被显示地表达出来,则通过它将样本映射至高维空间,再在高维空间中实施PCA即可。有:
    ( ∑ i = 1 m ϕ ( x i ) ϕ ( x i ) T ) w j = λ j w j (\sum\limits_{i = 1}^m {\phi ({x_i})\phi {{({x_i})}^T}} ){w_j} = {\lambda _j}{w_j} (i=1mϕ(xi)ϕ(xi)T)wj=λjwj于是 w j w_j wj可写为 w j = ∑ i = 1 m ϕ ( x i ) α i j {w_j} = \sum\limits_{i = 1}^m {\phi ({x_i})\alpha _i^j} wj=i=1mϕ(xi)αij。一般情形下,并不清楚 ϕ \phi ϕ的具体形式,于是引入核函数
    κ ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) \kappa ({x_i},{x_j}) = \phi {({x_i})^T}\phi ({x_j}) κ(xi,xj)=ϕ(xi)Tϕ(xj)于是有
    K α j = λ j α j {\rm{K}}{\alpha ^j} = {\lambda _j}{\alpha ^j} Kαj=λjαjK是 κ \kappa κ对应的核矩阵, K i j = κ ( x i , x j ) K_{ij}=\kappa(x_i,x_j) Kij=κ(xi,xj) α j = ( α 1 j ; α 2 j ; . . . ; α m j ) \alpha^j=(\alpha_1^j;\alpha_2^j;...;\alpha_m^j) αj=(α1j;α2j;...;αmj)。显然上式是特征值分解问题,取K最大的 d ′ d' d个特征值对应的特征向量即可。对新样本 x x x,其投影后的第j维坐标为
    z j = w j T ϕ ( x ) = ∑ i = 1 m α i j ϕ ( x i ) T ϕ ( x ) = ∑ i = 1 m α i j κ ( x i , x ) {z_j} = w_j^T\phi (x) = \sum\limits_{i = 1}^m {\alpha _i^j\phi {{({x_i})}^T}\phi (x)} = \sum\limits_{i = 1}^m {\alpha _i^j\kappa ({x_i},x)} zj=wjTϕ(x)=i=1mαijϕ(xi)Tϕ(x)=i=1mαijκ(xi,x)因此为了获得投影后的坐标,KCPA需对所有样本求和,因此它的计算开销很大。

参考:
周志华《机器学习》

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值