数据挖掘与分析课程笔记(Chapter 7)
数据挖掘与分析课程笔记
- 参考教材:Data Mining and Analysis : MOHAMMED J.ZAKI, WAGNER MEIRA JR.
文章目录
- 数据挖掘与分析课程笔记(目录)
- 数据挖掘与分析课程笔记(Chapter 1)
- 数据挖掘与分析课程笔记(Chapter 2)
- 数据挖掘与分析课程笔记(Chapter 5)
- 数据挖掘与分析课程笔记(Chapter 7)
- 数据挖掘与分析课程笔记(Chapter 14)
- 数据挖掘与分析课程笔记(Chapter 15)
- 数据挖掘与分析课程笔记(Chapter 20)
- 数据挖掘与分析课程笔记(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=⎝⎛x1x2⋮xnX1x11x21⋮xn1X2x12x22⋮xn2⋯⋯⋯⋱⋯Xdx1dx2d⋮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∑dxiei
其中,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∑daiui,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.uiTuj={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=投影a1u1+⋯+arur+误差ar+1ur+1+⋯+adud
前 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}μ^=n1i=1∑nxi=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=aiu,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=n1i=1∑n(ai−μu)2=n1i=1∑n(uTxi)2=n1i=1∑nuT(xixiT)u=uT(n1i=1∑nxixiT)u=uTΣu
Σ\mathbf{\Sigma}Σ 是样本协方差矩阵。
目标:
maxuuTΣ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} umaxs.tuTΣuuTu−1=0
应用 Lagrangian 乘数法:
maxuJ(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) umaxJ(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)=n1i=1∑n∥xi−xi′∥2=n1i=1∑n(xi−xi′)T(xi−xi′)=n1i=1∑n(∥xi∥2−2xiTxi′+(xi′)Txi′)=n1i=1∑n(∥xi∥2−2xiT(uTxi)u+[(uTxi)u]T[(uTxi)u])=n1i=1∑n(∥xi∥2−2(uTxi)xiTu+(uTxi)(xiTu)uTu)=n1i=1∑n(∥xi∥2−uTxixiTu)=n1i=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 方向投影的方差:
maxuσ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} umaxs.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αu1Tv−βu1Tu12u1TΣv−β2vTΣu1−β2vTλ1u1−ββ=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=投影ai1u1+ai2u2+⋯
则 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=(u1Txi,u2Txi)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=U2Txi
投影总方差为:
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)=n1i=1∑n∥ai−0∥2=n1i=1∑n(U2Txi)T(U2Txi)=n1i=1∑nxiT(U2U2T)xi=n1i=1∑nxiT(u1u1T+u2u2T)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′=U2U2Txi
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=n1i=1∑n∥xi−xi′∥2=n1i=1∑n∥xi∥2−n1i=1∑nxiT(U2U2T)xi=var(D)−λ1−λ2
结论:
- Σ\mathbf{\Sigma}Σ 的前 rrr 个特征值的和 λ1+⋯+λr(λ1≥⋯≥λr)\lambda_1+\cdots+\lambda_r(\lambda_1\ge\cdots\ge\lambda_r)λ1+⋯+λr(λ1≥⋯≥λr) 给出最大投影总方差;
- var(D)−∑i=1rλivar(D)-\sum\limits_{i=1}^r \lambda_ivar(D)−i=1∑rλi 给出最小MSE;
- λ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 (降维后)
- μ=1n∑i=1rxi\boldsymbol{\mu} = \frac{1}{n}\sum\limits_{i=1}^r\mathbf{x}_iμ=n1i=1∑rxi;
- Z=D−1⋅μT\mathbf{Z}=\mathbf{D}-\mathbf{1}\cdot \boldsymbol{\mu} ^TZ=D−1⋅μT;
- Σ=1n(ZTZ)\mathbf{\Sigma}=\frac{1}{n}(\mathbf{Z}^T\mathbf{Z})Σ=n1(ZTZ);
- λ1≥λ2≥⋯λd\lambda_1 \ge \lambda_2 \ge \cdots \lambda_dλ1≥λ2≥⋯λd,⟵Σ\longleftarrow \mathbf{\Sigma}⟵Σ 的特征值(降序排列);
- u1,u2,⋯,ud\mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_du1,u2,⋯,ud,⟵Σ\longleftarrow \mathbf{\Sigma}⟵Σ 的特征向量(单位正交);
- 计算 ∑i=1rλivar(D)\frac{\sum\limits_{i=1}^r\lambda_i}{var(D)}var(D)i=1∑rλi,选取其比值超过 α\alphaα 最小的 rrr;
- Ur=(u1,u2,⋯,ur)\mathbf{U}_r=(\mathbf{u}_1,\mathbf{u}_2,\cdots,\mathbf{u}_r)Ur=(u1,u2,⋯,ur);
- 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=UrTxi,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Σϕ=n1i=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}n1i∑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} n1i=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∑nciϕ(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} (n1i=1∑nϕ(xi)ϕ(xi)T)(j=1∑ncjϕ(xj))n1i=1∑nj=1∑ncjϕ(xi)ϕ(xi)Tϕ(xj)i=1∑n(ϕ(xi)j=1∑ncjK(xi,xj))=λi=1∑nciϕ(xi)=λi=1∑nciϕ(xi)=nλi=1∑nciϕ(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∑ncjK(xi,xj))i=1∑n(K(xk,xi)j=1∑ncjK(xi,xj))=nλi=1∑nciϕT(xk)ϕ(xi)=nλi=1∑nciK(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∑nK(xk,xi)KiTcKkT⎣⎡K1T⋮KnT⎦⎤cKkTK=nλKkTc,k=1,2,⋯,n=nλKkTc=nλKkTc
即 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∑rnη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)=a1u1+⋯+adud,其中
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∑nckiϕ(xi)=i=1∑nckiϕ(xj)Tϕ(xi)=i=1∑nckiK(xj,xi)
算法7.2:核主元分析(F⊆Rd\mathcal{F}\subseteq \mathbb{R}^dF⊆Rd)
输入:KKK,α\alphaα
输出:AAA (降维后数据的投影坐标)
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−n11n×n)K(I−n11n×n)
η1,η2,⋯ηd\eta_1,\eta_2,\cdots\eta_dη1,η2,⋯ηd ⟵K\longleftarrow \mathbf{K}⟵K 的特征值,只取前 ddd 个
c1,c2,⋯,cd\mathbf{c}_1,\mathbf{c}_2,\cdots,\mathbf{c}_dc1,c2,⋯,cd⟵K\longleftarrow \mathbf{K}⟵K 的特征向量(单位化,正交)
ci←1ηi⋅ci,i=1,⋯,d\mathbf{c}_i \leftarrow \frac{1}{\sqrt{\eta_i}}\cdot \mathbf{c}_i,i=1,\cdots,dci←ηi1⋅ci,i=1,⋯,d
选取最小的 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∑dnηii=1∑rnηi≥α
Cr=(c1,c2,⋯,cr)\mathbf{C}_r=(\mathbf{c}_1,\mathbf{c}_2,\cdots,\mathbf{c}_r)Cr=(c1,c2,⋯,cr)
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=CrTKi,i=1,⋯,n}
数据挖掘与分析课程笔记(Chapter 7)相关推荐
- linux内核分析课程笔记(二)
运行一个精简的操作系统内核 存储程序计算机是几乎所有计算机的基础逻辑框架. 堆栈是计算机中非常基础的东西,在最早计算机没有高级语言时,在高级语言出现之前,我们没有函数的概念.但高级语言出现后有了函数调 ...
- SwiftUI 2.0 课程笔记 Chapter 8
课程链接:https://www.bilibili.com/video/BV1q64y1d7x5?p=8 课程项目仓库:https://github.com/cnatom/MemorizeSwiftU ...
- 【Python数据挖掘课程笔记】八.关联规则挖掘及Apriori实现购物推荐
#2018-03-23 10:48:40 March Friday the 12 week, the 082 day SZ SSMR[Python数据挖掘课程笔记]八.关联规则挖掘及Apriori实现 ...
- 数据挖掘课程笔记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/ ...
- 算法设计与分析课程复习笔记11——单源最短路径
算法设计与分析课程复习笔记11--单源最短路径 单源最短路径 最短路径问题 输入:有权有向图G=(V,E) 路径p={ v 0 , v 1 , . . . , v k v_0, v_1, . . . ...
- 数据挖掘分析考试笔记
数据挖掘分析考试笔记 文章目录 数据挖掘分析考试笔记 英译汉 第一章 绪论 第二章 知识发现过程与应用结构 第三章 关联规则挖掘 Apriori算法 close算法 FP-tree 第四章 分类 分类 ...
- 双语矩阵论课程笔记(2)—— 【chapter 1】 Vector Spaces (Linear Spaces)
双语矩阵论课程笔记 文章目录 1. Definitions and Examples 1.1 Number filed(数域) 1.2 Algebraic systems(代数系统) 1.3 Line ...
- 哈佛大学单细胞课程|笔记汇总 (六)
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
- 哈佛大学单细胞课程|笔记汇总 (五)
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
最新文章
- rrdtool 修改水印logo
- 华为自带浏览器绕坑大法!
- Bing空间数据服务
- C语言加取址符的作用,C语言中指针和取地址符的关系
- 如何找到点击Object ID 白屏问题的root cause
- php通知websocket,php实现websocket实时消息推送
- tkinter 菜单添加事件_Python+tkinter设置Label字体、字号、样式、对齐方式、鼠标形状、响应鼠标事件...
- Windows CE的电源管理之三
- python内置函数 enumerate()的用法
- bzoj1877 [SDOI2009]晨跑 费用流
- 云计算技术前景怎么样?
- codeblocks 编译java_在CodeBlocks中发布编译程序
- 机器学习正面临着可重现性危机!
- Eclipse用法和技巧五:生成说明文档2
- 做了一个验证码识别的网站
- 16.淘宝的架构演化案例
- [转载]淘宝技术发展
- 网站域名过户查询_过期域名查询
- 打开计算机 显示不支持此接口,新装的电脑系统,打开图片提示不支持此接口!怎么解决!...
- C语言中格式输出二进制的两种方法
热门文章
- Linux网络配置管理
- 第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-38301: 无法对回收站中的对象执行 DDL/DML
- 项目启动图片验证码加载不出来
- 声音驱动提示不完整或已损坏 (代码 19)
- 【C++要笑着学】类和对象 | 初识封装 | 访问限定符 | 类的作用域和实例化 | 类对象模型 | this指针
- mysql in 查询效率慢优化
- 基于FPGA的数据采集系统
- 华南理工大学“三七互娱杯”程序设计竞赛 A (dp)
- [转贴精华]《新概念》英语学习方法完全手册-学新概念英语必读
- 万能角度尺做仪器校准有哪些步骤?校准机构常见流程规范