数据挖掘与分析课程笔记

  • 参考教材:Data Mining and Analysis : MOHAMMED J.ZAKI, WAGNER MEIRA JR.

文章目录

  1. 数据挖掘与分析课程笔记(目录)
  2. 数据挖掘与分析课程笔记(Chapter 1)
  3. 数据挖掘与分析课程笔记(Chapter 2)
  4. 数据挖掘与分析课程笔记(Chapter 5)
  5. 数据挖掘与分析课程笔记(Chapter 7)
  6. 数据挖掘与分析课程笔记(Chapter 14)
  7. 数据挖掘与分析课程笔记(Chapter 15)
  8. 数据挖掘与分析课程笔记(Chapter 20)
  9. 数据挖掘与分析课程笔记(Chapter 21)

笔记目录

  • 数据挖掘与分析课程笔记
  • 文章目录
  • Chapter 7:降维
    • 7.1 背景
    • 7.2 主元分析:
      • 7.2.1 最佳直线近似
      • 7.2.2 最佳2-维近似
      • 7.2.3 推广
    • 7.3 Kernel PCA:核主元分析

Chapter 7:降维

PCA:主元分析

7.1 背景

D=(X1X2⋯Xdx1x11x12⋯x1dx2x21x22⋯x2d⋮⋮⋮⋱⋮xnxn1xn2⋯xnd)\mathbf{D}=\left(\begin{array}{c|cccc} & X_{1} & X_{2} & \cdots & X_{d} \\ \hline \mathbf{x}_{1} & x_{11} & x_{12} & \cdots & x_{1 d} \\ \mathbf{x}_{2} & x_{21} & x_{22} & \cdots & x_{2 d} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}_{n} & x_{n 1} & x_{n 2} & \cdots & x_{n d} \end{array}\right) D=⎝⎛​x1​x2​⋮xn​​X1​x11​x21​⋮xn1​​X2​x12​x22​⋮xn2​​⋯⋯⋯⋱⋯​Xd​x1d​x2d​⋮xnd​​​⎠⎞​

对象:x1T,⋯,xnT∈Rd\mathbf{x}_{1}^T,\cdots,\mathbf{x}_n^T \in \mathbb{R}^dx1T​,⋯,xnT​∈Rd,∀x∈Rd,\forall \mathbf{x} \in \mathbb{R}^d,∀x∈Rd, 设 x=(x1,⋯,xd)T=∑i=1dxiei\mathbf{x}=(x_1,\cdots,x_d)^T= \sum\limits_{i=1}^{d}x_i \mathbf{e}_ix=(x1​,⋯,xd​)T=i=1∑d​xi​ei​

其中,ei=(0,⋯,1,⋯,0)T∈Rd\mathbf{e}_i=(0,\cdots,1,\cdots,0)^T\in\mathbb{R}^dei​=(0,⋯,1,⋯,0)T∈Rd,i-坐标

设另有单位正交基 {u}i=1n\{\mathbf{u}\}_{i=1}^n{u}i=1n​,x=∑i=1daiui,ai∈R\mathbf{x}=\sum\limits_{i=1}^{d}a_i \mathbf{u}_i,a_i \in \mathbb{R}x=i=1∑d​ai​ui​,ai​∈R,uiTuj={1,i=j0,i≠j\mathbf{u}_i^T \mathbf{u}_j =\left\{\begin{matrix} 1,i=j\\ 0,i\ne j \end{matrix}\right.uiT​uj​={1,i=j0,i=j​

∀r:1≤r≤d,x=a1u1+⋯+arur⏟投影+ar+1ur+1+⋯+adud⏟误差\forall r:1\le r\le d, \mathbf{x}=\underbrace{a_1 \mathbf{u}_1+\cdots+a_r \mathbf{u}_r}_{\text{投影}}+ \underbrace{a_{r+1} \mathbf{u}_{r+1}+\cdots+a_d \mathbf{u}_d}_{\text{误差}}∀r:1≤r≤d,x=投影a1​u1​+⋯+ar​ur​​​+误差ar+1​ur+1​+⋯+ad​ud​​​

前 rrr 项是投影,后面是投影误差。

目标:对于给定 DDD,寻找最优 {u}i=1n\{\mathbf{u}\}_{i=1}^n{u}i=1n​,使得 DDD 在其前 rrr 维子空间的投影是对 DDD 的“最佳近似”,即投影之后“误差最小”。

7.2 主元分析:

7.2.1 最佳直线近似

(一阶主元分析)(r=1)

目标:寻找 u1\mathbf{u}_1u1​,不妨记为 u=(u1,⋯,ud)T\mathbf{u}=(u_1,\cdots,u_d)^Tu=(u1​,⋯,ud​)T。

假设:∣∣u∣∣=uTu=1||\mathbf{u}||=\mathbf{u}^T\mathbf{u}=1∣∣u∣∣=uTu=1,μ^=1n∑i=1nxi=0,∈Rd\hat{\boldsymbol{\mu}}=\frac{1}{n} \sum\limits_{i=1}^n\mathbf{x}_i=\mathbf{0},\in \mathbb{R}^{d}μ^​=n1​i=1∑n​xi​=0,∈Rd

∀xi(i=1,⋯,n)\forall \mathbf{x}_i(i=1,\cdots,n)∀xi​(i=1,⋯,n),xi\mathbf{x}_ixi​ 沿 u\mathbf{u}u 方向投影是:
xi′=(uTxiuTu)u=(uTxi)u=aiu,ai=uTxi\mathbf{x}_{i}^{\prime}=\left(\frac{\mathbf{u}^{T} \mathbf{x}_{i}}{\mathbf{u}^{T} \mathbf{u}}\right) \mathbf{u}=\left(\mathbf{u}^{T} \mathbf{x}_{i}\right) \mathbf{u}=a_{i} \mathbf{u},a_{i}=\mathbf{u}^{T} \mathbf{x}_{i} xi′​=(uTuuTxi​​)u=(uTxi​)u=ai​u,ai​=uTxi​
μ^=0⇒\hat{\boldsymbol{\mu}}=\mathbf{0}\Rightarrowμ^​=0⇒ μ^\hat{\boldsymbol{\mu}}μ^​ 在 u\mathbf{u}u 上投影是0;x1′,⋯,xn′\mathbf{x}_{1}^{\prime},\cdots,\mathbf{x}_{n}^{\prime}x1′​,⋯,xn′​ 的平均值为0 。

Proj(mean(D))=meanProj(D)Proj(mean(D))=mean{Proj(D)}Proj(mean(D))=meanProj(D)

考察 x1′,⋯,xn′\mathbf{x}_{1}^{\prime},\cdots,\mathbf{x}_{n}^{\prime}x1′​,⋯,xn′​ 沿 u\mathbf{u}u 方向的样本方差:
σu2=1n∑i=1n(ai−μu)2=1n∑i=1n(uTxi)2=1n∑i=1nuT(xixiT)u=uT(1n∑i=1nxixiT)u=uTΣu\begin{aligned} \sigma_{\mathbf{u}}^{2} &=\frac{1}{n} \sum_{i=1}^{n}\left(a_{i}-\mu_{\mathbf{u}}\right)^{2} \\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\mathbf{u}^{T} \mathbf{x}_{i}\right)^{2} \\ &=\frac{1}{n} \sum_{i=1}^{n} \mathbf{u}^{T}\left(\mathbf{x}_{i} \mathbf{x}_{i}^{T}\right) \mathbf{u} \\ &=\mathbf{u}^{T}\left(\frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_{i} \mathbf{x}_{i}^{T}\right) \mathbf{u} \\ &=\mathbf{u}^{T} \mathbf{\Sigma} \mathbf{u} \end{aligned} σu2​​=n1​i=1∑n​(ai​−μu​)2=n1​i=1∑n​(uTxi​)2=n1​i=1∑n​uT(xi​xiT​)u=uT(n1​i=1∑n​xi​xiT​)u=uTΣu​
Σ\mathbf{\Sigma}Σ 是样本协方差矩阵。

目标
max⁡uuTΣus.tuTu−1=0\begin{array}{ll} \max\limits_{\mathbf{u}} & \mathbf{u}^{T} \mathbf{\Sigma} \mathbf{u} \\ \text{s.t} & \mathbf{u}^T\mathbf{u}-1=0 \end{array} umax​s.t​uTΣuuTu−1=0​
应用 Lagrangian 乘数法:
max⁡uJ(u)=uTΣu−λ(uTu−1)\max \limits_{\mathbf{u}} J(\mathbf{u})=\mathbf{u}^{T} \Sigma \mathbf{u}-\lambda\left(\mathbf{u}^{T} \mathbf{u}-1\right) umax​J(u)=uTΣu−λ(uTu−1)
求偏导:
∂∂uJ(u)=0∂∂u(uTΣu−λ(uTu−1))=02Σu−2λu=0Σu=λu\begin{aligned} \frac{\partial}{\partial \mathbf{u}} J(\mathbf{u}) &=\mathbf{0} \\ \frac{\partial}{\partial \mathbf{u}}\left(\mathbf{u}^{T} \mathbf{\Sigma} \mathbf{u}-\lambda\left(\mathbf{u}^{T} \mathbf{u}-1\right)\right) &=\mathbf{0} \\ 2 \mathbf{\Sigma} \mathbf{u}-2 \lambda \mathbf{u} &=\mathbf{0} \\ \mathbf{\Sigma} \mathbf{u} &=\lambda \mathbf{u} \end{aligned} ∂u∂​J(u)∂u∂​(uTΣu−λ(uTu−1))2Σu−2λuΣu​=0=0=0=λu​
注意到:uTΣu=uTλu=λ\mathbf{u}^{T} \mathbf{\Sigma} \mathbf{u}=\mathbf{u}^{T} \lambda \mathbf{u}=\lambdauTΣu=uTλu=λ

故优化问题的解 λ\lambdaλ 选取 Σ\mathbf{\Sigma}Σ 最大特征值, u\mathbf{u}u 选与 λ\lambdaλ 相应的单位特征向量。

问题:上述问题使得 σu2\sigma_{\mathbf{u}}^{2}σu2​ 最大的 u\mathbf{u}u 能否使投影误差最小?

定义平均平方误差(Minimum Squared Error,MSE):
MSE(u)=1n∑i=1n∥xi−xi′∥2=1n∑i=1n(xi−xi′)T(xi−xi′)=1n∑i=1n(∥xi∥2−2xiTxi′+(xi′)Txi′)=1n∑i=1n(∥xi∥2−2xiT(uTxi)u+[(uTxi)u]T[(uTxi)u])=1n∑i=1n(∥xi∥2−2(uTxi)xiTu+(uTxi)(xiTu)uTu)=1n∑i=1n(∥xi∥2−uTxixiTu)=1n∑i=1n∥xi∥2−uTΣu=var(D)−σu2\begin{aligned} M S E(\mathbf{u}) &=\frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{x}_{i}-\mathbf{x}_{i}^{\prime}\right\|^{2} \\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\mathbf{x}_{i}-\mathbf{x}_{i}^{\prime}\right)^{T}\left(\mathbf{x}_{i}-\mathbf{x}_{i}^{\prime}\right) \\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\left\|\mathbf{x}_{i}\right\|^{2}-2 \mathbf{x}_{i}^{T} \mathbf{x}_{i}^{\prime}+\left(\mathbf{x}_{i}^{\prime}\right)^{T} \mathbf{x}_{i}^{\prime}\right)\\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\left\|\mathbf{x}_{i}\right\|^{2}-2 \mathbf{x}_{i}^{T} (\mathbf{u}^{T} \mathbf{x}_{i})\mathbf{u}+\left[(\mathbf{u}^{T} \mathbf{x}_{i})\mathbf{u}\right]^{T} \left[ (\mathbf{u}^{T} \mathbf{x}_{i})\mathbf{u}\right] \right)\\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\left\|\mathbf{x}_{i}\right\|^{2}-2 (\mathbf{u}^{T} \mathbf{x}_{i})\mathbf{x}_{i}^{T} \mathbf{u}+(\mathbf{u}^{T} \mathbf{x}_{i})(\mathbf{x}_{i}^{T} \mathbf{u})\mathbf{u}^{T}\mathbf{u} \right) \\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\left\|\mathbf{x}_{i}\right\|^{2}-\mathbf{u}^{T} \mathbf{x}_{i}\mathbf{x}_{i}^{T} \mathbf{u} \right) \\ &=\frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{x}_{i}\right\|^{2}-\mathbf{u}^{T} \mathbf{\Sigma} \mathbf{u}\\ &= var(D)-\sigma_{\mathbf{u}}^{2} \end{aligned} MSE(u)​=n1​i=1∑n​∥xi​−xi′​∥2=n1​i=1∑n​(xi​−xi′​)T(xi​−xi′​)=n1​i=1∑n​(∥xi​∥2−2xiT​xi′​+(xi′​)Txi′​)=n1​i=1∑n​(∥xi​∥2−2xiT​(uTxi​)u+[(uTxi​)u]T[(uTxi​)u])=n1​i=1∑n​(∥xi​∥2−2(uTxi​)xiT​u+(uTxi​)(xiT​u)uTu)=n1​i=1∑n​(∥xi​∥2−uTxi​xiT​u)=n1​i=1∑n​∥xi​∥2−uTΣu=var(D)−σu2​​
上式表明:var(D)=σu2+MSEvar(D)=\sigma_{\mathbf{u}}^{2}+MSEvar(D)=σu2​+MSE

u\mathbf{u}u 的几何意义:Rd\mathbb{R}^dRd 中使得数据沿其方向投影后方差最大的同时,MSE 最小的直线方向。

u\mathbf{u}u 被称为一阶主元(first principal component)

7.2.2 最佳2-维近似

(二阶主元分析:r=2)

假设 u1\mathbf{u}_1u1​ 已经找到,即 Σ\mathbf{\Sigma}Σ 的最大特征值对应的特征向量。

目标:寻找 u2\mathbf{u}_2u2​ ,简记为 v\mathbf{v}v,使得:vTu1=0,vTv=1\mathbf{v}^{T} \mathbf{u}_{1}=0,\mathbf{v}^{T} \mathbf{v} =1vTu1​=0,vTv=1

考虑 xi\mathbf{x}_{i}xi​ 沿 v\mathbf{v}v 方向投影的方差:
max⁡uσv2=vTΣvs.tvTv−1=0vTu1=0\begin{array}{ll} \max\limits_{\mathbf{u}} & \sigma_{\mathbf{v}}^{2} = \mathbf{v}^{T} \mathbf{\Sigma} \mathbf{v} \\ \text{s.t} & \mathbf{v}^T\mathbf{v}-1=0\\ & \mathbf{v}^{T} \mathbf{u}_{1}=0 \end{array} umax​s.t​σv2​=vTΣvvTv−1=0vTu1​=0​
定义:J(v)=vTΣv−α(vTv−1)−β(vTu1−0)J(\mathbf{v})=\mathbf{v}^{T} \mathbf{\Sigma} \mathbf{v}-\alpha\left(\mathbf{v}^{T} \mathbf{v}-1\right)-\beta\left(\mathbf{v}^{T} \mathbf{u}_{1}-0\right)J(v)=vTΣv−α(vTv−1)−β(vTu1​−0)

对 v\mathbf{v}v 求偏导得:
2Σv−2αv−βu1=02 \Sigma \mathbf{v}-2 \alpha \mathbf{v}-\beta \mathbf{u}_{1}=\mathbf{0} 2Σv−2αv−βu1​=0
两边同乘 u1T\mathbf{u}_{1}^{T}u1T​:
2u1TΣv−2αu1Tv−βu1Tu1=02u1TΣv−β=02vTΣu1−β=02vTλ1u1−β=0β=0\begin{aligned} 2 \mathbf{u}_{1}^{T}\Sigma \mathbf{v}-2 \alpha \mathbf{u}_{1}^{T}\mathbf{v}-\beta \mathbf{u}_{1}^{T}\mathbf{u}_{1} &=0 \\ 2 \mathbf{u}_{1}^{T}\Sigma \mathbf{v}-\beta &= 0\\ 2 \mathbf{v}^{T}\Sigma \mathbf{u}_{1}-\beta &= 0\\ 2 \mathbf{v}^{T}\lambda_1 \mathbf{u}_{1}-\beta &= 0\\ \beta &= 0 \end{aligned} 2u1T​Σv−2αu1T​v−βu1T​u1​2u1T​Σv−β2vTΣu1​−β2vTλ1​u1​−ββ​=0=0=0=0=0​
再代入到原式:
2Σv−2αv=0Σv=αv2 \Sigma \mathbf{v}-2 \alpha \mathbf{v}=\mathbf{0}\\ \Sigma \mathbf{v}=\alpha \mathbf{v} 2Σv−2αv=0Σv=αv
故 v\mathbf{v}v 也是 Σ\mathbf{\Sigma}Σ 的特征向量。

σv2=vTΣv=α\sigma_{\mathbf{v}}^{2} = \mathbf{v}^{T} \mathbf{\Sigma} \mathbf{v} =\alphaσv2​=vTΣv=α,故 α\alphaα 应取 Σ\mathbf{\Sigma}Σ (第二大)的特征向量。

问题1:上述求得的 v\mathbf{v}v (即 u2\mathbf{u}_2u2​ ),与 u1\mathbf{u}_1u1​ 一起考虑,能否使 DDD 在 span{u1,u2}span\{\mathbf{u}_1, \mathbf{u}_2 \}span{u1​,u2​} 上投影总方差最大?

设 xi=ai1u1+ai2u2⏟投影+⋯\mathbf{x}_i=\underbrace{a_{i1} \mathbf{u}_1+a_{i2}\mathbf{u}_2}_{投影}+\cdotsxi​=投影ai1​u1​+ai2​u2​​​+⋯

则 xi\mathbf{x}_ixi​ 在 span{u1,u2}span\{\mathbf{u}_1, \mathbf{u}_2 \}span{u1​,u2​} 上投影坐标:ai=(ai1,ai2)T=(u1Txi,u2Txi)T\mathbf{a}_{i}=(a_{i1},a_{i2})^T=(\mathbf{u}_1^{T}\mathbf{x}_i,\mathbf{u}_2^{T}\mathbf{x}_i)^{T}ai​=(ai1​,ai2​)T=(u1T​xi​,u2T​xi​)T

令 U2=(∣∣u1u2∣∣)\mathbf{U}_{2}=\left(\begin{array}{cc} \mid & \mid \\ \mathbf{u}_{1} & \mathbf{u}_{2} \\ \mid & \mid \end{array}\right)U2​=⎝⎛​∣u1​∣​∣u2​∣​⎠⎞​,则 ai=U2Txi\mathbf{a}_{i}=\mathbf{U}_{2}^{T} \mathbf{x}_{i}ai​=U2T​xi​

投影总方差为:
var⁡(A)=1n∑i=1n∥ai−0∥2=1n∑i=1n(U2Txi)T(U2Txi)=1n∑i=1nxiT(U2U2T)xi=1n∑i=1nxiT(u1u1T+u2u2T)xi=u1TΣu1+u2TΣu2=λ1+λ2\begin{aligned} \operatorname{var}(\mathbf{A}) &=\frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{a}_{i}-\mathbf{0}\right\|^{2} \\ &=\frac{1}{n} \sum_{i=1}^{n}\left(\mathbf{U}_{2}^{T} \mathbf{x}_{i}\right)^{T}\left(\mathbf{U}_{2}^{T} \mathbf{x}_{i}\right) \\ &=\frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_{i}^{T}\left(\mathbf{U}_{2} \mathbf{U}_{2}^{T}\right) \mathbf{x}_{i}\\ &=\frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_{i}^{T}\left( \mathbf{u}_{1}\mathbf{u}_{1}^T + \mathbf{u}_{2}\mathbf{u}_{2}^T \right) \mathbf{x}_{i}\\ &=\mathbf{u}_{1}^T\mathbf{\Sigma} \mathbf{u}_{1} + \mathbf{u}_{2}^T\mathbf{\Sigma} \mathbf{u}_{2}\\ &= \lambda_1 +\lambda_2 \end{aligned} var(A)​=n1​i=1∑n​∥ai​−0∥2=n1​i=1∑n​(U2T​xi​)T(U2T​xi​)=n1​i=1∑n​xiT​(U2​U2T​)xi​=n1​i=1∑n​xiT​(u1​u1T​+u2​u2T​)xi​=u1T​Σu1​+u2T​Σu2​=λ1​+λ2​​
问题2:平均平方误差是否最小?

其中,xi′=U2U2Txi\mathbf{x}_{i}^{\prime}=\mathbf{U}_{2}\mathbf{U}_{2}^{T} \mathbf{x}_{i}xi′​=U2​U2T​xi​
MSE=1n∑i=1n∥xi−xi′∥2=1n∑i=1n∥xi∥2−1n∑i=1nxiT(U2U2T)xi=var(D)−λ1−λ2\begin{aligned} M S E &= \frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{x}_{i}-\mathbf{x}_{i}^{\prime}\right\|^{2} \\ &= \frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{x}_{i}\right\|^{2} - \frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_{i}^{T}\left(\mathbf{U}_{2} \mathbf{U}_{2}^{T}\right) \mathbf{x}_{i}\\ &= var(D) - \lambda_1 - \lambda_2 \end{aligned} MSE​=n1​i=1∑n​∥xi​−xi′​∥2=n1​i=1∑n​∥xi​∥2−n1​i=1∑n​xiT​(U2​U2T​)xi​=var(D)−λ1​−λ2​​
结论:

  1. Σ\mathbf{\Sigma}Σ 的前 rrr 个特征值的和 λ1+⋯+λr(λ1≥⋯≥λr)\lambda_1+\cdots+\lambda_r(\lambda_1\ge\cdots\ge\lambda_r)λ1​+⋯+λr​(λ1​≥⋯≥λr​) 给出最大投影总方差;
  2. var(D)−∑i=1rλivar(D)-\sum\limits_{i=1}^r \lambda_ivar(D)−i=1∑r​λi​ 给出最小MSE;
  3. λ1,⋯,λr\lambda_1,\cdots,\lambda_rλ1​,⋯,λr​ 相应的特征向量 u1,⋯ur\mathbf{u}_{1},\cdots\mathbf{u}_{r}u1​,⋯ur​ 张成 rrr - 阶主元。

7.2.3 推广

Σd×d\Sigma_{d\times d}Σd×d​ ,λ1≥λ2≥⋯λd\lambda_1 \ge \lambda_2 \ge \cdots \lambda_dλ1​≥λ2​≥⋯λd​,中心化

∑i=1rλi\sum\limits_{i=1}^r\lambda_ii=1∑r​λi​:最大投影总方差;

var(D)−∑i=1rλivar(D)-\sum\limits_{i=1}^r\lambda_ivar(D)−i=1∑r​λi​:最小MSE

实践: 如何选取适当的 rrr,考虑比值 ∑i=1rλivar(D)\frac{\sum\limits_{i=1}^r\lambda_i}{var(D)}var(D)i=1∑r​λi​​ 与给定阈值 α\alphaα 比较

算法 7.1 PCA:

输入:DDD,α\alphaα

输出:AAA (降维后)

  1. μ=1n∑i=1rxi\boldsymbol{\mu} = \frac{1}{n}\sum\limits_{i=1}^r\mathbf{x}_iμ=n1​i=1∑r​xi​;
  2. Z=D−1⋅μT\mathbf{Z}=\mathbf{D}-\mathbf{1}\cdot \boldsymbol{\mu} ^TZ=D−1⋅μT;
  3. Σ=1n(ZTZ)\mathbf{\Sigma}=\frac{1}{n}(\mathbf{Z}^T\mathbf{Z})Σ=n1​(ZTZ);
  4. λ1≥λ2≥⋯λd\lambda_1 \ge \lambda_2 \ge \cdots \lambda_dλ1​≥λ2​≥⋯λd​,⟵Σ\longleftarrow \mathbf{\Sigma}⟵Σ 的特征值(降序排列);
  5. u1,u2,⋯,ud\mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_du1​,u2​,⋯,ud​,⟵Σ\longleftarrow \mathbf{\Sigma}⟵Σ 的特征向量(单位正交);
  6. 计算 ∑i=1rλivar(D)\frac{\sum\limits_{i=1}^r\lambda_i}{var(D)}var(D)i=1∑r​λi​​,选取其比值超过 α\alphaα 最小的 rrr;
  7. Ur=(u1,u2,⋯,ur)\mathbf{U}_r=(\mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_r)Ur​=(u1​,u2​,⋯,ur​);
  8. A={ai∣ai=UrTxi,i=1,⋯,n}A=\{\mathbf{a}_i|\mathbf{a}_i=\mathbf{U}_r^T\mathbf{x}_i, i=1,\cdots,n\}A={ai​∣ai​=UrT​xi​,i=1,⋯,n}。

7.3 Kernel PCA:核主元分析

ϕ:I→F⊆Rd\phi:\mathcal{I}\to \mathcal{F}\subseteq \mathbb{R}^dϕ:I→F⊆Rd

K:I×I→RK:\mathcal{I}\times\mathcal{I}\to \mathbb{R}K:I×I→R

K(xi,xj)=ϕT(xi)ϕ(xj)K(\mathbf{x}_i,\mathbf{x}_j)=\phi^T(\mathbf{x}_i)\phi(\mathbf{x}_j)K(xi​,xj​)=ϕT(xi​)ϕ(xj​)

已知:K=[K(xi,xj)]n×n\mathbf{K}=[K(\mathbf{x}_i,\mathbf{x}_j)]_{n\times n}K=[K(xi​,xj​)]n×n​,Σϕ=1n∑i=1nϕ(xi)ϕ(xi)T\mathbf{\Sigma}_{\phi}=\frac{1}{n}\sum\limits_{i=1}^n\phi(\mathbf{x}_i)\phi(\mathbf{x}_i)^TΣϕ​=n1​i=1∑n​ϕ(xi​)ϕ(xi​)T

对象:ϕ(x1),ϕ(x2),⋯,ϕ(xn)∈Rd\phi(\mathbf{x}_1),\phi(\mathbf{x}_2),\cdots,\phi(\mathbf{x}_n)\in \mathbb{R}^dϕ(x1​),ϕ(x2​),⋯,ϕ(xn​)∈Rd,假设 1n∑inϕ(xi)=0\frac{1}{n}\sum\limits_{i}^{n}\phi(\mathbf{x}_i)=\mathbf{0}n1​i∑n​ϕ(xi​)=0,K→K^\mathbf{K} \to \hat{\mathbf{K}}K→K^,已经中心化;

目标:u,λ,s.t.Σϕu=λu\mathbf{u},\lambda,s.t. \mathbf{\Sigma}_{\phi}\mathbf{u}=\lambda\mathbf{u}u,λ,s.t.Σϕ​u=λu
1n∑i=1nϕ(xi)[ϕ(xi)Tu]=λu∑i=1n[ϕ(xi)Tunλ]ϕ(xi)=u\begin{aligned} \frac{1}{n}\sum\limits_{i=1}^n\phi(\mathbf{x}_i)[\phi(\mathbf{x}_i)^T\mathbf{u}] &=\lambda\mathbf{u}\\ \sum\limits_{i=1}^n[\frac{\phi(\mathbf{x}_i)^T\mathbf{u}}{n\lambda}] \phi(\mathbf{x}_i)&=\mathbf{u}\\ \end{aligned} n1​i=1∑n​ϕ(xi​)[ϕ(xi​)Tu]i=1∑n​[nλϕ(xi​)Tu​]ϕ(xi​)​=λu=u​
相同于所有数据线性组合。

令:ci=ϕ(xi)Tunλc_i=\frac{\phi(\mathbf{x}_i)^T\mathbf{u}}{n\lambda}ci​=nλϕ(xi​)Tu​,则 u=∑i=1nciϕ(xi)\mathbf{u}=\sum\limits_{i=1}^nc_i \phi(\mathbf{x}_i)u=i=1∑n​ci​ϕ(xi​)。代入原式:
(1n∑i=1nϕ(xi)ϕ(xi)T)(∑j=1ncjϕ(xj))=λ∑i=1nciϕ(xi)1n∑i=1n∑j=1ncjϕ(xi)ϕ(xi)Tϕ(xj)=λ∑i=1nciϕ(xi)∑i=1n(ϕ(xi)∑j=1ncjK(xi,xj))=nλ∑i=1nciϕ(xi)\begin{aligned} \left(\frac{1}{n} \sum_{i=1}^{n} \phi\left(\mathbf{x}_{i}\right) \phi\left(\mathbf{x}_{i}\right)^{T}\right)\left(\sum_{j=1}^{n} c_{j} \phi\left(\mathbf{x}_{j}\right)\right) &=\lambda \sum_{i=1}^{n} c_{i} \phi\left(\mathbf{x}_{i}\right) \\ \frac{1}{n} \sum_{i=1}^{n} \sum_{j=1}^{n} c_{j} \phi\left(\mathbf{x}_{i}\right) \phi\left(\mathbf{x}_{i}\right)^{T} \phi\left(\mathbf{x}_{j}\right) &=\lambda \sum_{i=1}^{n} c_{i} \phi\left(\mathbf{x}_{i}\right) \\ \sum_{i=1}^{n}\left(\phi\left(\mathbf{x}_{i}\right) \sum_{j=1}^{n} c_{j} K(\mathbf{x}_i, \mathbf{x}_j) \right) &=n \lambda \sum_{i=1}^{n} c_{i} \phi\left(\mathbf{x}_{i}\right) \end{aligned} (n1​i=1∑n​ϕ(xi​)ϕ(xi​)T)(j=1∑n​cj​ϕ(xj​))n1​i=1∑n​j=1∑n​cj​ϕ(xi​)ϕ(xi​)Tϕ(xj​)i=1∑n​(ϕ(xi​)j=1∑n​cj​K(xi​,xj​))​=λi=1∑n​ci​ϕ(xi​)=λi=1∑n​ci​ϕ(xi​)=nλi=1∑n​ci​ϕ(xi​)​
注意,此处 K=K^\mathbf{K}=\hat{\mathbf{K}}K=K^ 已经中心化

对于 ∀k(1≤k≤n)\forall k (1\le k\le n)∀k(1≤k≤n),两边同时左乘 ϕ(xk)\phi(\mathbf{x}_{k})ϕ(xk​):
∑i=1n(ϕT(xk)ϕ(xi)∑j=1ncjK(xi,xj))=nλ∑i=1nciϕT(xk)ϕ(xi)∑i=1n(K(xk,xi)∑j=1ncjK(xi,xj))=nλ∑i=1nciK(xk,xi)\begin{aligned} \sum_{i=1}^{n}\left(\phi^T(\mathbf{x}_{k}) \phi\left(\mathbf{x}_{i}\right) \sum_{j=1}^{n} c_{j} K(\mathbf{x}_i, \mathbf{x}_j) \right) &=n \lambda \sum_{i=1}^{n} c_{i} \phi^T(\mathbf{x}_{k}) \phi\left(\mathbf{x}_{i}\right) \\ \sum_{i=1}^{n}\left(K(\mathbf{x}_k, \mathbf{x}_i) \sum_{j=1}^{n} c_{j} K(\mathbf{x}_i, \mathbf{x}_j) \right) &=n \lambda \sum_{i=1}^{n} c_{i} K(\mathbf{x}_k, \mathbf{x}_i) \\ \end{aligned} i=1∑n​(ϕT(xk​)ϕ(xi​)j=1∑n​cj​K(xi​,xj​))i=1∑n​(K(xk​,xi​)j=1∑n​cj​K(xi​,xj​))​=nλi=1∑n​ci​ϕT(xk​)ϕ(xi​)=nλi=1∑n​ci​K(xk​,xi​)​
令 Ki=(K(xi,x1),K(xi,x2),⋯,K(xi,xn))T\mathbf{K}_{i}=\left(K\left(\mathbf{x}_{i}, \mathbf{x}_{1}\right), K\left(\mathbf{x}_{i}, \mathbf{x}_{2}\right), \cdots, K\left(\mathbf{x}_{i}, \mathbf{x}_{n}\right)\right)^{T}Ki​=(K(xi​,x1​),K(xi​,x2​),⋯,K(xi​,xn​))T (核矩阵的第 iii 行,K=([K1T⋮KnT])\mathbf{K}=(\begin{bmatrix} \mathbf{K}_1^T \\ \vdots \\ \mathbf{K}_n^T \end{bmatrix})K=(⎣⎡​K1T​⋮KnT​​⎦⎤​)),c=(c1,c2,⋯,cn)T\mathbf{c}=(c_1,c_2,\cdots,c_n)^Tc=(c1​,c2​,⋯,cn​)T,则:
∑i=1nK(xk,xi)KiTc=nλKkTc,k=1,2,⋯,nKkT[K1T⋮KnT]c=nλKkTcKkTK=nλKkTc\begin{aligned} \sum_{i=1}^{n}K(\mathbf{x}_k, \mathbf{x}_i) \mathbf{K}^T_i\mathbf{c} &=n \lambda \mathbf{K}^T_k\mathbf{c},k=1,2,\cdots,n \\ \mathbf{K}^T_k\begin{bmatrix} \mathbf{K}_1^T \\ \vdots \\ \mathbf{K}_n^T \end{bmatrix}\mathbf{c} &=n \lambda \mathbf{K}^T_k\mathbf{c}\\ \mathbf{K}^T_k\mathbf{K} &=n \lambda \mathbf{K}^T_k\mathbf{c} \end{aligned} i=1∑n​K(xk​,xi​)KiT​cKkT​⎣⎡​K1T​⋮KnT​​⎦⎤​cKkT​K​=nλKkT​c,k=1,2,⋯,n=nλKkT​c=nλKkT​c​
即 K2c=nλKc\mathbf{K}^2\mathbf{c}=n\lambda \mathbf{K}\mathbf{c}K2c=nλKc

假设 K−1\mathbf{K}^{-1}K−1 存在
K2c=nλKcKc=nλcKc=ηc,η=nλ\begin{aligned} \mathbf{K}^2\mathbf{c}&=n\lambda \mathbf{K}\mathbf{c}\\ \mathbf{K}\mathbf{c}&=n\lambda \mathbf{c}\\ \mathbf{K}\mathbf{c}&= \eta\mathbf{c},\eta=n\lambda \end{aligned} K2cKcKc​=nλKc=nλc=ηc,η=nλ​
结论:η1n≥η2n≥⋯≥ηnn\frac{\eta_1}{n}\ge\frac{\eta_2}{n}\ge\cdots\ge\frac{\eta_n}{n}nη1​​≥nη2​​≥⋯≥nηn​​,给出在特征空间中 ϕ(x1),ϕ(x2),⋯,ϕ(xn)\phi(\mathbf{x}_1),\phi(\mathbf{x}_2),\cdots,\phi(\mathbf{x}_n)ϕ(x1​),ϕ(x2​),⋯,ϕ(xn​) 的投影方差:∑i=1rηrn\sum\limits_{i=1}^{r}\frac{\eta_r}{n}i=1∑r​nηr​​,其中 η1≥η2⋯≥ηn\eta_1\ge\eta_2\cdots\ge\eta_nη1​≥η2​⋯≥ηn​ 是 K\mathbf{K}K 的特征值。

问:可否计算出 ϕ(x1),ϕ(x2),⋯,ϕ(xn)\phi(\mathbf{x}_1),\phi(\mathbf{x}_2),\cdots,\phi(\mathbf{x}_n)ϕ(x1​),ϕ(x2​),⋯,ϕ(xn​) 在主元方向上的投影(即降维之后的数据)?

设 u1,⋯,ud\mathbf{u}_1,\cdots,\mathbf{u}_du1​,⋯,ud​ 是 Σϕ\mathbf{\Sigma}_{\phi}Σϕ​ 的特征向量,则 ϕ(xj)=a1u1+⋯+adud\phi(\mathbf{x}_j)=a_1\mathbf{u}_1+\cdots+a_d\mathbf{u}_dϕ(xj​)=a1​u1​+⋯+ad​ud​,其中
ak=ϕ(xj)Tuk,k=1,2,⋯,d=ϕ(xj)T∑i=1nckiϕ(xi)=∑i=1nckiϕ(xj)Tϕ(xi)=∑i=1nckiK(xj,xi)\begin{aligned} a_k &= \phi(\mathbf{x}_j)^T\mathbf{u}_k, k=1,2,\cdots,d\\ &= \phi(\mathbf{x}_j)^T\sum\limits_{i=1}^nc_{ki} \phi(\mathbf{x}_i)\\ &= \sum\limits_{i=1}^nc_{ki} \phi(\mathbf{x}_j)^T\phi(\mathbf{x}_i)\\ &= \sum\limits_{i=1}^nc_{ki} K(\mathbf{x}_j,\mathbf{x}_i) \end{aligned} ak​​=ϕ(xj​)Tuk​,k=1,2,⋯,d=ϕ(xj​)Ti=1∑n​cki​ϕ(xi​)=i=1∑n​cki​ϕ(xj​)Tϕ(xi​)=i=1∑n​cki​K(xj​,xi​)​

算法7.2:核主元分析(F⊆Rd\mathcal{F}\subseteq \mathbb{R}^dF⊆Rd)

输入:KKK,α\alphaα

输出:AAA (降维后数据的投影坐标)

  1. K^:=(I−1n1n×n)K(I−1n1n×n)\hat{\mathbf{K}} :=\left(\mathbf{I}-\frac{1}{n} \mathbf{1}_{n \times n}\right) \mathbf{K}\left(\mathbf{I}-\frac{1}{n} \mathbf{1}_{n \times n}\right)K^:=(I−n1​1n×n​)K(I−n1​1n×n​)

  2. η1,η2,⋯ηd\eta_1,\eta_2,\cdots\eta_dη1​,η2​,⋯ηd​ ⟵K\longleftarrow \mathbf{K}⟵K 的特征值,只取前 ddd 个

  3. c1,c2,⋯,cd\mathbf{c}_1,\mathbf{c}_2,\cdots,\mathbf{c}_dc1​,c2​,⋯,cd​⟵K\longleftarrow \mathbf{K}⟵K 的特征向量(单位化,正交)

  4. ci←1ηi⋅ci,i=1,⋯,d\mathbf{c}_i \leftarrow \frac{1}{\sqrt{\eta_i}}\cdot \mathbf{c}_i,i=1,\cdots,dci​←ηi​​1​⋅ci​,i=1,⋯,d

  5. 选取最小的 rrr 使得:∑i=1rηin∑i=1dηin≥α\frac{\sum\limits_{i=1}^r\frac{\eta_i}{n}}{\sum\limits_{i=1}^d\frac{\eta_i}{n}}\ge \alphai=1∑d​nηi​​i=1∑r​nηi​​​≥α

  6. Cr=(c1,c2,⋯,cr)\mathbf{C}_r=(\mathbf{c}_1,\mathbf{c}_2,\cdots,\mathbf{c}_r)Cr​=(c1​,c2​,⋯,cr​)

  7. A={ai∣ai=CrTKi,i=1,⋯,n}A=\{\mathbf{a}_i|\mathbf{a}_i=\mathbf{C}_r^T\mathbf{K}_i, i=1,\cdots,n\}A={ai​∣ai​=CrT​Ki​,i=1,⋯,n}


数据挖掘与分析课程笔记(Chapter 7)相关推荐

  1. linux内核分析课程笔记(二)

    运行一个精简的操作系统内核 存储程序计算机是几乎所有计算机的基础逻辑框架. 堆栈是计算机中非常基础的东西,在最早计算机没有高级语言时,在高级语言出现之前,我们没有函数的概念.但高级语言出现后有了函数调 ...

  2. SwiftUI 2.0 课程笔记 Chapter 8

    课程链接:https://www.bilibili.com/video/BV1q64y1d7x5?p=8 课程项目仓库:https://github.com/cnatom/MemorizeSwiftU ...

  3. 【Python数据挖掘课程笔记】八.关联规则挖掘及Apriori实现购物推荐

    #2018-03-23 10:48:40 March Friday the 12 week, the 082 day SZ SSMR[Python数据挖掘课程笔记]八.关联规则挖掘及Apriori实现 ...

  4. 数据挖掘课程笔记6 : Numpy、Pandas和Matplotlib包基础知识

    #2018-03-22 10:23:16 March Thursday the 12 week, the 081 day SZ SSMR http://blog.csdn.net/eastmount/ ...

  5. 算法设计与分析课程复习笔记11——单源最短路径

    算法设计与分析课程复习笔记11--单源最短路径 单源最短路径 最短路径问题 输入:有权有向图G=(V,E) 路径p={ v 0 , v 1 , . . . , v k v_0, v_1, . . . ...

  6. 数据挖掘分析考试笔记

    数据挖掘分析考试笔记 文章目录 数据挖掘分析考试笔记 英译汉 第一章 绪论 第二章 知识发现过程与应用结构 第三章 关联规则挖掘 Apriori算法 close算法 FP-tree 第四章 分类 分类 ...

  7. 双语矩阵论课程笔记(2)—— 【chapter 1】 Vector Spaces (Linear Spaces)

    双语矩阵论课程笔记 文章目录 1. Definitions and Examples 1.1 Number filed(数域) 1.2 Algebraic systems(代数系统) 1.3 Line ...

  8. 哈佛大学单细胞课程|笔记汇总 (六)

    生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...

  9. 哈佛大学单细胞课程|笔记汇总 (五)

    生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...

最新文章

  1. rrdtool 修改水印logo
  2. 华为自带浏览器绕坑大法!
  3. Bing空间数据服务
  4. C语言加取址符的作用,C语言中指针和取地址符的关系
  5. 如何找到点击Object ID 白屏问题的root cause
  6. php通知websocket,php实现websocket实时消息推送
  7. tkinter 菜单添加事件_Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件...
  8. Windows CE的电源管理之三
  9. python内置函数 enumerate()的用法
  10. bzoj1877 [SDOI2009]晨跑 费用流
  11. 云计算技术前景怎么样?
  12. codeblocks 编译java_在CodeBlocks中发布编译程序
  13. 机器学习正面临着可重现性危机!
  14. Eclipse用法和技巧五:生成说明文档2
  15. 做了一个验证码识别的网站
  16. 16.淘宝的架构演化案例
  17. [转载]淘宝技术发展
  18. 网站域名过户查询_过期域名查询
  19. 打开计算机 显示不支持此接口,新装的电脑系统,打开图片提示不支持此接口!怎么解决!...
  20. C语言中格式输出二进制的两种方法

热门文章

  1. Linux网络配置管理
  2. 第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-38301: 无法对回收站中的对象执行 DDL/DML
  3. 项目启动图片验证码加载不出来
  4. 声音驱动提示不完整或已损坏 (代码 19)
  5. 【C++要笑着学】类和对象 | 初识封装 | 访问限定符 | 类的作用域和实例化 | 类对象模型 | this指针
  6. mysql in 查询效率慢优化
  7. 基于FPGA的数据采集系统
  8. 华南理工大学“三七互娱杯”程序设计竞赛 A (dp)
  9. [转贴精华]《新概念》英语学习方法完全手册-学新概念英语必读
  10. 万能角度尺做仪器校准有哪些步骤?校准机构常见流程规范