机器学习基础---降维方法---T分布随机近邻嵌入(TSNE)推导

T-SNE(T-Stochastic Neighbor Embedding)

核心思想:

  • 对无监督聚类问题:

    • PCA目的是在样本空间内找到子空间,以变换矩阵W对样本矩阵 X X X实现原空间到子空间的映射,属于线性聚类方法;其方法核心在于最小化投影后方差
    • LPP方法,本身结合了非线性流形学习方法LE(拉普拉斯特征映射)的思想,引入线性变换的假设,虽然从本质上说属于线性方法,但有效地保留原始高维数据内部的非线性结构,对非线性流形数据聚类也有较好的效果;其核心在于使投影前后距离近的点相似关系保持
    • 上述两种方法中,样本相似性都是通过欧氏空间中的距离表示的,欧式距离越近相似度越高
  • 不同于上述方法中以欧氏距离为衡量标准,SNE方法欧式距离转化成条件概率来表示相似性

    • 即对样本点 x i x_i xi x j x_j xj,不使用两者间距离作为相似度衡量,而是基于距离计算 x i x_i xi选择 x j x_j xj作为近邻的概率 p j ∣ i p_{j|i} pji

      同样,对降维后的 y i y_i yi y j y_j yj,同样使用条件概率 q j ∣ i q_{j|i} qji表示 y i y_i yi选择 y j y_j yj作为近邻的概率

    • 考虑点i与其他所有点之间的关系,则构成条件概率分布 P i P_i Pi Q i Q_i Qi

      SNE方法的核心思路即为高维下的条件概率分布 Q i Q_i Qi且应该与 P i P_i Pi一致

      使用K-L散度计算两个分布之间的相似程度

    • 使用梯度下降算法进行训练

  • SNE方法的问题:

    • 概率的不对称性: P j ∣ i ≠ P i ∣ j P_{j|i} \neq P_{i|j} Pji=Pij导致梯度计算较为复杂
    • K-L散度的不对称性,具体见下文K-L散度部分,导致SNE能保留数据中的局部特征,对全局特征刻画不足
    • 存在拥挤问题(具体见下文)
  • 改进方案T-SNE

    • 改进点:
      • 使用联合概率分布来替换条件概率分布,保证对于任意i,有 p i j = p j i , q i j = q j i p_{ij}=p_{ji}, q_{ij}=q_{ji} pij=pji,qij=qji
      • 在低维目的空间,使用t-分布替代高斯分布

相关概念

  • 高斯分布构建条件概率

    • 构建样本点 x i x_i xi的条件概率分布时,可以考虑高斯分布

    • 对高维空间中的 x i x_i xi x j x_j xj,定义 x i x_i xi选择 x j x_j xj作为近邻的概率 p j ∣ i p_{j|i} pji
      p j ∣ i = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ i 2 ) ∑ k ≠ i e x p ( − ∣ ∣ x i − x k ∣ ∣ 2 2 σ i 2 ) ) p_{j|i}=\frac{exp(\frac{-||x_i-x_j||^2}{2\sigma_i^2})}{\sum_{k\neq i}exp(\frac{-||x_i-x_k||^2}{2\sigma_i^2}))} pji=k=iexp(2σi2xixk2))exp(2σi2xixj2)
      对高维空间中的 y i y_i yi y j y_j yj,定义 y i y_i yi选择 y j y_j yj作为近邻的概率 q j ∣ i q_{j|i} qji,指定方差 σ = 1 2 \sigma=\frac{1}{\sqrt{2}} σ=2 1
      q j ∣ i = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 ) ∑ k ≠ i e x p ( − ∣ ∣ x i − x k ∣ ∣ 2 ) ) q_{j|i}=\frac{exp(-||x_i-x_j||^2)}{\sum_{k\neq i}exp(-||x_i-x_k||^2))} qji=k=iexp(xixk2))exp(xixj2)

    • σ \sigma σ选取

      • 可计算分布P的熵: H ( P i ) = − ∑ j P j ∣ i l o g 2 P j ∣ i H(P_i)=-\sum_jP_{j|i}log_2P_{j|i} H(Pi)=jPjilog2Pji
      • 定义困惑度: P r e p ( P i ) = 2 H ( P i ) Prep(P_i)=2^{H(P_i)} Prep(Pi)=2H(Pi),对不同样本点有不同的困惑度
        • 困惑度随 H ( P i ) H(P_i) H(Pi)增大而增大
        • 当样本 x i x_i xi与其他m个有效样本点距离相同时, P j ∣ i = 1 m P_{j|i}=\frac1m Pji=m1 H ( P i ) = l o g 2 m H(P_i)=log_2m H(Pi)=log2m P r e p ( P i ) = m Prep(P_i)=m Prep(Pi)=m
        • 上式说明当维度足够大时,困惑度近似于附近的有效近邻点个数
      • 通常通过指定困惑度(近邻数量)的方法,对 P j ∣ i P_{j|i} Pji中的 σ i \sigma_i σi进行求解,同时由于 P r e p ( P i ) 随 σ Prep(P_i)随\sigma Prep(Pi)σ增大而增大,可以使用二分方法搜索 σ i \sigma_i σi
  • K-L散度

    • KL 散度是一个用来衡量两个概率分布的相似性的度量指标

    • 引入 信息熵:表示一个概率分布需要的平均信息量
      H = − ∑ i = 1 N p ( x i ) l o g ( p ( x i ) ) H=-\sum_{i=1}^Np(x_i)log(p(x_i)) H=i=1Np(xi)log(p(xi))

    • 定义K-L散度
      D K L ( p ∣ ∣ q ) = ∑ i = 1 N p ( x i ) ( l o g ( p ( x i ) − l o g ( q ( x i ) ) ) = ∑ i = 1 N p ( x i ) l o g p ( x i ) q ( x i ) D_{KL(p||q)}=\sum_{i=1}^Np(x_i)(log(p(x_i)-log(q(x_i)))=\sum_{i=1}^Np(x_i)log\frac{p(x_i)}{q(x_i)} DKL(pq)=i=1Np(xi)(log(p(xi)log(q(xi)))=i=1Np(xi)logq(xi)p(xi)
      K-L散度值越小,分布p与分布q之间越接近

  • 拥挤问题:

    • 在m维球中随机分布的样本点与指定样本点 x i x_i xi的距离分布情况如下图所示:

在这里插入图片描述

  • 即,随着样本维度增大,随机样本点与 x i x_i xi点的距离分布极不平衡,其更倾向于分布在m维球的球面区域

  • 在降维过程中,需要尽可能地将样本分布保留,会将高维空间下球面上的点集中到低维空间的球面,但低维下球面积远远小于高维,因此出现“拥挤”

  • “拥挤”问题会导致高维数据在降维到低维后过于集中,无法得到可信映射

  • t分布构建条件概率

    • 以t分布将距离转换为条件概率公式为:
      q j ∣ i = ( 1 + ∣ ∣ y i − y j ∣ ∣ 2 ) − 1 ∑ k ≠ l ( 1 + ∣ ∣ y k − y l ∣ ∣ 2 ) − 1 q_{j|i}=\frac{(1+||y_i-y_j||^2)^{-1}}{\sum_{k\neq l}(1+||y_k-y_l||^2)^{-1}} qji=k=l(1+ykyl2)1(1+yiyj2)1

    • t-分布与高斯分布对比:

    在这里插入图片描述

    就上图(距离-概率分布)而言,对 p i j = q i j p_{ij}=q_{ij} pij=qij,在相似度较高的情况下(上虚线)t-分布的距离小于高斯分布;相似度较高的情况下(下虚线)t-分布的距离大于高斯分布。

    t分布可以有效地将高维空间集中在球面附近的点,在低维空间中一定程度上分开。同时,也满足需求:同类样本尽可能集中,不同类样本尽可能分开。

方法推导

  • SNE方法(Stochastic Neighbor Embedding 随机近邻嵌入)

    • 采用高斯分布构建原空间与目标空间下的条件概率 P i , Q i P_i, Q_i Pi,Qi
      p i j = p j ∣ i = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ i 2 ) ∑ k ≠ i e x p ( − ∣ ∣ x i − x k ∣ ∣ 2 2 σ i 2 ) ) p_{ij}=p_{j|i}=\frac{exp(\frac{-||x_i-x_j||^2}{2\sigma_i^2})}{\sum_{k\neq i}exp(\frac{-||x_i-x_k||^2}{2\sigma_i^2}))} pij=pji=k=iexp(2σi2xixk2))exp(2σi2xixj2)

      q i j = q j ∣ i = e x p ( − ∣ ∣ y i − y j ∣ ∣ 2 ) ∑ k ≠ i e x p ( − ∣ ∣ y i − y k ∣ ∣ 2 ) ) q_{ij}=q_{j|i}=\frac{exp(-||y_i-y_j||^2)}{\sum_{k\neq i}exp(-||y_i-y_k||^2))} qij=qji=k=iexp(yiyk2))exp(yiyj2)

    • 使用所有样本点降维前后条件概率K-L散度之和作为优化目标函数:
      C = ∑ i = 1 N D K L ( P i ∣ ∣ Q i ) = ∑ i = 1 N ∑ j = 1 N q i j l o g ( p i j q i j ) C=\sum_{i=1}^ND_{KL(P_i||Q_i)}=\sum_{i=1}^N\sum_{j=1}^Nq_{ij}log(\frac{p_{ij}}{q_{ij}}) C=i=1NDKL(PiQi)=i=1Nj=1Nqijlog(qijpij)

    • 优化目标为寻找到能使函数C取最小值的低维样本集 Y = [ y 1 , y 2 , . . . , y n ] Y=[y_1,y_2,...,y_n] Y=[y1,y2,...,yn]

    • 考虑通过动量梯度下降法对Y进行迭代更新:
      y i t = y i t − 1 + η ∂ C ∂ y i + α ( t ) ( y i t − 1 − y i t − 2 ) y_i^t=y_i^{t-1}+\eta\frac{\partial C}{\partial y_i}+\alpha(t)(y_i^{t-1}-y_i^{t-2}) yit=yit1+ηyiC+α(t)(yit1yit2)

    • 求导过程:

      • 定义中间变量:

        • q i j = w i j ∑ k w i k q_{ij}=\frac{w_{ij}}{\sum_{k}w_ik} qij=kwikwij

        • w i j w_{ij} wij y i , y j y_i,y_j yi,yj之间相似度
          w i j = e x p ( − ∣ ∣ y i − y j ∣ ∣ 2 ) = e x p ( − f i j ) w_{ij}=exp(-||y_i-y_j||^2)=exp(-f_{ij}) wij=exp(yiyj2)=exp(fij)

        • f i j f_{ij} fij y i , y j y_i,y_j yi,yj之间距离度量
          f i j = ∣ ∣ y i − y j ∣ ∣ 2 = d i j 2 f_{ij}=||y_i-y_j||^2=d_{ij}^2 fij=yiyj2=dij2

        • d i j d_{ij} dij y i , y j y_i,y_j yi,yj之间欧氏距离
          d i j = ∣ ∣ y i − y j ∣ ∣ d_{ij}=||y_i-y_j|| dij=yiyj

      • 通过求导链式法则,可得:
        ∂ C ∂ y h = ∑ i j ∂ C ∂ q i j ∑ k l ∂ q i j ∂ w k l ∑ m n ∂ w k l ∂ f m n ∑ p q ∂ f m n ∂ d p q ∂ d p q ∂ y h \frac{\partial C}{\partial y_h}=\sum_{ij}\frac{\partial C}{\partial q_{ij}}\sum_{kl}\frac{\partial q_{ij}}{\partial w_{kl}}\sum_{mn}\frac{\partial w_{kl}}{\partial f_{mn}}\sum_{pq}\frac{\partial f_{mn}}{\partial d_{pq}}\frac{\partial d_{pq}}{\partial y_h} yhC=ijqijCklwklqijmnfmnwklpqdpqfmnyhdpq
        由于 w , f , d w,f,d w,f,d交叉项为0,除非 p = m = k p=m=k p=m=k q = n = l q=n=l q=n=l,故:
        ∂ C ∂ y h = ∑ i j ∂ C ∂ q i j ∑ k l ∂ q i j ∂ w k l ∂ w k l ∂ f k l ∂ f k l ∂ d k l ∂ d k l ∂ y h \frac{\partial C}{\partial y_h}=\sum_{ij}\frac{\partial C}{\partial q_{ij}}\sum_{kl}\frac{\partial q_{ij}}{\partial w_{kl}}\frac{\partial w_{kl}}{\partial f_{kl}}\frac{\partial f_{kl}}{\partial d_{kl}}\frac{\partial d_{kl}}{\partial y_h} yhC=ijqijCklwklqijfklwkldklfklyhdkl
        再,仅当 k = i k=i k=i时, ∂ C ∂ q i j ≠ 0 \frac{\partial C}{\partial q_{ij}}\neq 0 qijC=0,故:
        ∂ C ∂ y h = ∑ i j ∂ C ∂ q i j ∑ l ∂ q i j ∂ w i l ∂ w i l ∂ f i l ∂ f i l ∂ d i l ∂ d i l ∂ y h \frac{\partial C}{\partial y_h}=\sum_{ij}\frac{\partial C}{\partial q_{ij}}\sum_{l}\frac{\partial q_{ij}}{\partial w_{il}}\frac{\partial w_{il}}{\partial f_{il}}\frac{\partial f_{il}}{\partial d_{il}}\frac{\partial d_{il}}{\partial y_h} yhC=ijqijClwilqijfilwildilfilyhdil
        ∂ d i l ∂ y h \frac{\partial d_{il}}{\partial y_h} yhdil,仅当 i = h 或 l = h i=h或l=h i=hl=h时非零,故:
        ∂ C ∂ y h = ∑ i j ∂ C ∂ q i j ∂ q i j ∂ w i h ∂ w i h ∂ f i h ∂ f i h ∂ d i h ∂ d i h ∂ y h + ∑ j l ∂ C ∂ q h j ∂ q h j ∂ w h l ∂ w h l ∂ f h l ∂ f h l ∂ d h l ∂ d h l ∂ y h \frac{\partial C}{\partial y_h}=\sum_{ij}\frac{\partial C}{\partial q_{ij}}\frac{\partial q_{ij}}{\partial w_{ih}}\frac{\partial w_{ih}}{\partial f_{ih}}\frac{\partial f_{ih}}{\partial d_{ih}}\frac{\partial d_{ih}}{\partial y_h} + \sum_{jl}\frac{\partial C}{\partial q_{hj}}\frac{\partial q_{hj}}{\partial w_{hl}}\frac{\partial w_{hl}}{\partial f_{hl}}\frac{\partial f_{hl}}{\partial d_{hl}}\frac{\partial d_{hl}}{\partial y_h} yhC=ijqijCwihqijfihwihdihfihyhdih+jlqhjCwhlqhjfhlwhldhlfhlyhdhl
        在此进行下标替换(由于前后两式独立计算,所以中间变量下标可以进行任意计算):

        前式中进行替换:j->l ; i->j;后式进行替换:j->l ; l->j;再将两式中h替换为i,有:
        ∂ C ∂ y i = ∑ j l ∂ C ∂ q j l ∂ q j l ∂ w j i ∂ w j i ∂ f j i ∂ f j i ∂ d j i ∂ d j i ∂ y i + ∑ j l ∂ C ∂ q i l ∂ q i l ∂ w i l ∂ w i j ∂ f i j ∂ f i j ∂ d i j ∂ d i j ∂ y i \frac{\partial C}{\partial y_i}=\sum_{jl}\frac{\partial C}{\partial q_{jl}}\frac{\partial q_{jl}}{\partial w_{ji}}\frac{\partial w_{ji}}{\partial f_{ji}}\frac{\partial f_{ji}}{\partial d_{ji}}\frac{\partial d_{ji}}{\partial y_i} + \sum_{jl}\frac{\partial C}{\partial q_{il}}\frac{\partial q_{il}}{\partial w_{il}}\frac{\partial w_{ij}}{\partial f_{ij}}\frac{\partial f_{ij}}{\partial d_{ij}}\frac{\partial d_{ij}}{\partial y_i} yiC=jlqjlCwjiqjlfjiwjidjifjiyidji+jlqilCwilqilfijwijdijfijyidij
        d与f时对称的,有 d i j = d j i , f i j = f j i d_{ij}=d_{ji}, f_{ij}=f_{ji} dij=dji,fij=fji,故:
        ∂ C ∂ y i = ∑ j ( ∑ l ∂ C ∂ q j l ∂ q j l ∂ w j i ∂ w j i ∂ f j i + ∑ l ∂ C ∂ q i l ∂ q i l ∂ w i j ∂ w i j ∂ f i j ) ∂ f i j ∂ d i j ∂ d i j ∂ y i \frac{\partial C}{\partial y_i}=\sum_j(\sum_{l}\frac{\partial C}{\partial q_{jl}}\frac{\partial q_{jl}}{\partial w_{ji}}\frac{\partial w_{ji}}{\partial f_{ji}}+\sum_{l}\frac{\partial C}{\partial q_{il}}\frac{\partial q_{il}}{\partial w_{ij}}\frac{\partial w_{ij}}{\partial f_{ij}})\frac{\partial f_{ij}}{\partial d_{ij}}\frac{\partial d_{ij}}{\partial y_i} yiC=j(lqjlCwjiqjlfjiwji+lqilCwijqilfijwij)dijfijyidij
        令:
        ∂ C ∂ y i = ∑ j ( k j i + k i j ) ∂ f i j ∂ d i j ∂ d i j ∂ y i \frac{\partial C}{\partial y_i}=\sum_j(k_{ji}+k_{ij})\frac{\partial f_{ij}}{\partial d_{ij}}\frac{\partial d_{ij}}{\partial y_i} yiC=j(kji+kij)dijfijyidij

        k i j = ∑ l [ ∂ C ∂ q i l ∂ q i l ∂ w i j ] ∂ w i j ∂ f i j k_{ij}=\sum_{l}\left[\frac{\partial C}{\partial q_{il}}\frac{\partial q_{il}}{\partial w_{ij}}\right]\frac{\partial w_{ij}}{\partial f_{ij}} kij=l[qilCwijqil]fijwij

        接下来求解 k i j , ∂ q i l ∂ w i l ∂ w i j ∂ f i j k_{ij},\frac{\partial q_{il}}{\partial w_{il}}\frac{\partial w_{ij}}{\partial f_{ij}} kijwilqilfijwij

        由于f,d表达式已知,直接求导得:
        ∂ f i j ∂ d i j ∂ d i j ∂ y i = 2 ( y i − y j ) \frac{\partial f_{ij}}{\partial d_{ij}}\frac{\partial d_{ij}}{\partial y_i}=2(y_i-y_j) dijfijyidij=2(yiyj)
        k i j k_{ij} kij过程:

        • 已知
          q i j = w i j ∑ k w i k = w i j S i q_{ij}=\frac{w_{ij}}{\sum_{k}w_{ik}}=\frac{w_{ij}}{S_i} qij=kwikwij=Siwij

          ∂ q i j ∂ w i j = S i − w i j S i 2 = 1 S i − w i j S i 2 = 1 S i − q i j S i \frac{\partial q_{ij}}{\partial w_{ij}}=\frac{S_i-w_{ij}}{S_i^2}=\frac1{S_i}-\frac{w_{ij}}{S_i^2}=\frac1{S_i}-\frac{q_{ij}}{S_i} wijqij=Si2Siwij=Si1Si2wij=Si1Siqij

          ∂ q i k ∂ w i j = − w i k S i 2 = − q i k S i      ( l ≠ j ) \frac{\partial q_{ik}}{\partial w_{ij}}=-\frac{w_{ik}}{S_i^2}=-\frac{q_{ik}}{S_i} \ \ \ \ (l\neq j) wijqik=Si2wik=Siqik    (l=j)

          带入 k i j k_{ij} kij(i,j固定)得:
          k i j = ∑ l [ ∂ C ∂ q i l ∂ q i l ∂ w i j ] ∂ w i j ∂ f i j = [ ∂ C ∂ q i j ∂ q i j ∂ w i j + ∑ l ≠ j ∂ C ∂ q i l ∂ q i l ∂ w i j ] ∂ w i j ∂ f i j = [ ∂ C ∂ q i j ( 1 S i − q i j S i ) − ∑ l ≠ j ∂ C ∂ q i l q i k S i ] ∂ w i j ∂ f i j = 1 S i [ ∂ C ∂ q i j − ∑ l ∂ C ∂ q i l q i l ] ∂ w i j ∂ f i j \begin{aligned} k_{ij}&=\sum_{l}\left[\frac{\partial C}{\partial q_{il}}\frac{\partial q_{il}}{\partial w_{ij}}\right]\frac{\partial w_{ij}}{\partial f_{ij}}\\ &=\left[\frac{\partial C}{\partial q_{ij}}\frac{\partial q_{ij}}{\partial w_{ij}}+\sum_{l\neq j}\frac{\partial C}{\partial q_{il}}\frac{\partial q_{il}}{\partial w_{ij}}\right]\frac{\partial w_{ij}}{\partial f_{ij}}\\ &=\left[ \frac{\partial C}{\partial q_{ij}}(\frac1{S_i}-\frac{q_{ij}}{S_i}) - \sum_{l\neq j}\frac{\partial C}{\partial q_{il}}\frac{q_{ik}}{S_i} \right]\frac{\partial w_{ij}}{\partial f_{ij}}\\ &=\frac1{S_i}\left[ \frac{\partial C}{\partial q_{ij}}- \sum_{l}\frac{\partial C}{\partial q_{il}}q_{il}\right]\frac{\partial w_{ij}}{\partial f_{ij}} \end{aligned} kij=l[qilCwijqil]fijwij=qijCwijqij+l=jqilCwijqilfijwij=qijC(Si1Siqij)l=jqilCSiqikfijwij=Si1[qijClqilCqil]fijwij

        • ∂ C ∂ q i j \frac{\partial C}{\partial q_{ij}} qijC
          C = ∑ i = 1 N D K L ( P i ∣ ∣ Q i ) = ∑ i = 1 N ∑ j = 1 N q i j l o g ( p i j q i j ) ∂ C ∂ q i j = − p i j q i j C=\sum_{i=1}^ND_{KL(P_i||Q_i)}=\sum_{i=1}^N\sum_{j=1}^Nq_{ij}log(\frac{p_{ij}}{q_{ij}})\\ \frac{\partial C}{\partial q_{ij}}=-\frac{p_{ij}}{q_{ij}} C=i=1NDKL(PiQi)=i=1Nj=1Nqijlog(qijpij)qijC=qijpij

        • ∂ w i j ∂ f i j \frac{\partial w_{ij}}{\partial f_{ij}} fijwij
          f i j = ∣ ∣ y i − y j ∣ ∣ 2 = d i j 2 ∂ w i j ∂ f i j = − w i j f_{ij}=||y_i-y_j||^2=d_{ij}^2\\ \frac{\partial w_{ij}}{\partial f_{ij}}=-w_{ij} fij=yiyj2=dij2fijwij=wij

        • k i j = 1 S i ( − p i j q i j − ∑ l ( − p i l q i l ) q i l ) ( − w i j ) = q i j ( p i j q i j − 1 ) = q i j − p i j \begin{aligned} k_{ij} &=\frac1{S_i}(-\frac{p_{ij}}{q_{ij}}-\sum_l(-\frac{p_{il}}{q_{il}})q_{il})(-w_{ij})\\ &=q_{ij}(\frac{p_{ij}}{q_{ij}}-1)\\ &=q_{ij}-p_{ij} \end{aligned} kij=Si1(qijpijl(qilpil)qil)(wij)=qij(qijpij1)=qijpij

      • 综上所述,得:
        ∂ C ∂ y i = ∑ j ( k j i + k i j ) ∂ f i j ∂ d i j ∂ d i j ∂ y i = 2 ∑ j ( p i j − q i j + p j i − q j i ) ( y i − y j ) \begin{aligned} \frac{\partial C}{\partial y_i}&=\sum_j(k_{ji}+k_{ij})\frac{\partial f_{ij}}{\partial d_{ij}}\frac{\partial d_{ij}}{\partial y_i}\\ &=2\sum_j(p_{ij}-q_{ij}+p_{ji}-q_{ji})(y_i-y_j) \end{aligned} yiC=j(kji+kij)dijfijyidij=2j(pijqij+pjiqji)(yiyj)

  • T-SNE方法

    • T-SNE方法与SNE方法的不同之处在于分布概率的计算:

      • 低维下采用t分布

      p j ∣ i = e x p ( − ∣ ∣ x i − x j ∣ ∣ 2 2 σ i 2 ) ∑ k ≠ i e x p ( − ∣ ∣ x i − x k ∣ ∣ 2 2 σ i 2 ) ) p_{j|i}=\frac{exp(\frac{-||x_i-x_j||^2}{2\sigma_i^2})}{\sum_{k\neq i}exp(\frac{-||x_i-x_k||^2}{2\sigma_i^2}))} pji=k=iexp(2σi2xixk2))exp(2σi2xixj2)

      q j ∣ i = ( 1 + ∣ ∣ y i − y j ∣ ∣ 2 ) − 1 ∑ k ≠ l ( 1 + ∣ ∣ y k − y l ∣ ∣ 2 ) − 1 q_{j|i}=\frac{(1+||y_i-y_j||^2)^{-1}}{\sum_{k\neq l}(1+||y_k-y_l||^2)^{-1}} qji=k=l(1+ykyl2)1(1+yiyj2)1

      • 采用对称概率,使用联合概率分布来替换条件概率分布

      p i j = p j i = p i j + p j i 2 q i j = q j i = q i j + q j i 2 p_{ij}=p_{ji}=\frac{p_{ij}+p_{ji}}2\\ q_{ij}=q_{ji}=\frac{q_{ij}+q_{ji}}2 pij=pji=2pij+pjiqij=qji=2qij+qji

    • 目标依然是:
      C = ∑ i = 1 N D K L ( P i ∣ ∣ Q i ) = ∑ i = 1 N ∑ j = 1 N q i j l o g ( p i j q i j ) C=\sum_{i=1}^ND_{KL(P_i||Q_i)}=\sum_{i=1}^N\sum_{j=1}^Nq_{ij}log(\frac{p_{ij}}{q_{ij}}) C=i=1NDKL(PiQi)=i=1Nj=1Nqijlog(qijpij)

    • 对于 y i y_i yi的求导过程与SNE过程类似,最终求得:
      ∂ C ∂ y i = 4 ∑ j ( p i j − q i j ) ( 1 + ∣ ∣ y i − y j ∣ ∣ 2 ) − 1 \begin{aligned} \frac{\partial C}{\partial y_i}=4\sum_j(p_{ij}-q_{ij})(1+||y_i-y_j||^2)^{-1} \end{aligned} yiC=4j(pijqij)(1+yiyj2)1

    • 更新公式:
      y i t = y i t − 1 + η ∂ C ∂ y i + α ( t ) ( y i t − 1 − y i t − 2 ) y_i^t=y_i^{t-1}+\eta\frac{\partial C}{\partial y_i}+\alpha(t)(y_i^{t-1}-y_i^{t-2}) yit=yit1+ηyiC+α(t)(yit1yit2)

方法流程

  • T-SNE方法:
    • 输入样本矩阵 X = [ x 1 , x 2 , . . . x n ] X=[x_1,x_2,...x_n] X=[x1,x2,...xn]
    • 指定困惑度Prep,迭代次数T, 学习速率 η \eta η, 动量 α ( t ) \alpha(t) α(t)
    • 使用正态分布随机化目标矩阵 Y = [ y 1 , y 2 , . . . , y n ] Y=[y_1,y_2,...,y_n] Y=[y1,y2,...,yn]
    • 计算Prep下的原始条件概率P
    • 迭代, t = 1 , 2 , . . . , T t=1,2,...,T t=1,2,...,T
      • 计算低维分布条件概率Q
      • 计算目标C与梯度 ∂ C ∂ y i \frac{\partial C}{\partial y_i} yiC
      • 更新: Y t = Y i t − 1 + η ∂ C ∂ Y + α ( t ) ( Y t − 1 − Y t − 2 ) Y^t=Yi^{t-1}+\eta\frac{\partial C}{\partial Y}+\alpha(t)(Y^{t-1}-Y^{t-2}) Yt=Yit1+ηYC+α(t)(Yt1Yt2)
    • 结束,输出 Y T Y^T YT

参考资料

【1】[从SNE到t-SNE再到LargeVis][http://bindog.github.io/blog/2016/06/04/from-sne-to-tsne-to-largevis/]

【2】[机器学习:Kullback-Leibler Divergence (KL 散度)][https://blog.csdn.net/matrix_space/article/details/80550561]

【3】[SNE与t-SNE梯度的推导][https://zhuanlan.zhihu.com/p/384698107]

【4】[t-SNE原理与推导][https://blog.csdn.net/scott198510/article/details/76099700]

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值