更多请参考这篇文章,对 JL \text{JL} JL很全面的一个综述
1. Johnson-Lindenstrauss \textbf{1. Johnson-Lindenstrauss} 1. Johnson-Lindenstrauss引理
1.1. \textbf{1.1. } 1.1. 引理内容
1️⃣原始 JL \text{JL} JL引理:存在一种方法,能将高维数据急剧压缩,并且各点间距离信息几乎不变
- 前提:对维度 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},小常数 ε ∈ ( 0 , 1 ) \varepsilon\text{∈}\left(0,1\right) ε∈(0,1),有限点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd,投影后维度 m = Θ ( log ∣ X ∣ ε 2 ) m\text{=}\Theta\left( {\cfrac{\log\left|X\right|}{{\varepsilon}^{2}}}\right) m=Θ(ε2log∣X∣)
- 结论:存在函数 ψ : X → R m \boldsymbol{\psi}\text{:}X\text{→}{\mathbb{R}}^{m} ψ:X→Rm,使得 ∀ u , v ∈ X \forall{u,v}\text{∈}X ∀u,v∈X有 ∥ ψ ( u ) – ψ ( v ) ∥ ℓ 2 2 ∈ ( 1 ± ε ) ∥ u – v ∥ ℓ 2 2 \|\boldsymbol{\psi}(u)–\boldsymbol{\psi}(v)\|_{\ell_2}^2\text{∈}(1\text{±}\varepsilon)\|u–v\|_{\ell_2}^2 ∥ψ(u)–ψ(v)∥ℓ22∈(1±ε)∥u–v∥ℓ22
2️⃣分布型 JL \text{JL} JL引理:存在分布 Ψ \Psi Ψ,从中抽取的线性投影 ψ \boldsymbol{\psi} ψ能将高维数据急剧压缩,且各点间距离大概率几乎不变
- 前提 1 1 1:对维度 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},小常数 ε , δ ∈ ( 0 , 1 ) \varepsilon,\delta\text{∈}\left(0,1\right) ε,δ∈(0,1),投影后维度 m = Θ ( 1 ε 2 log ( 1 δ ) ) m\text{=}\Theta\left( {\cfrac{1}{{\varepsilon}^{2}}\log\left(\cfrac{1}{\delta}\right)}\right) m=Θ(ε21log(δ1))
- 前提 2 2 2:可从随机分布 Ψ \Psi Ψ( JL \text{JL} JL分布)中采样随机线性映射 ψ : R d → R m \boldsymbol{\psi}\text{:}{\mathbb{R}}^{d}\text{→}{\mathbb{R}}^{m} ψ:Rd→Rm( JL \text{JL} JL变换),即 ψ ( x ) = A x \boldsymbol{\psi}(x)\text{=}\textbf{A}x ψ(x)=Ax其中 A ∈ R m × d \textbf{A}\text{∈}{\mathbb{R}}^{m\text{×}d} A∈Rm×d
- 结论:分为对于单向量 u u u的界,以及双向量 u , v u,v u,v的联合界
- 单向量:对 ∀ u ∈ R d \forall{u}\text{∈}{\mathbb{R}}^{d} ∀u∈Rd,有 Pr [ ∥ ψ ( u ) ∥ ℓ 2 2 ∈ ( 1 ± ε ) ∥ u ∥ ℓ 2 2 ] ≥ 1 – δ \text{Pr}\left[\|\boldsymbol{\psi}(u)\|_{\ell_2}^2\text{∈}(1\text{±}\varepsilon)\|u\|_{\ell_2}^2\right]\text{≥}1–\delta Pr[∥ψ(u)∥ℓ22∈(1±ε)∥u∥ℓ22]≥1–δ
- 双向量:对 ∀ u , v ∈ X ⊆ R d \forall{u,v}\text{∈}X\text{⊆}{\mathbb{R}}^{d} ∀u,v∈X⊆Rd,另设 δ = 1 ∣ X ∣ 2 \delta\text{=}\cfrac{1}{|X|^2} δ=∣X∣21则有 Pr [ ∥ ψ ( u ) – ψ ( v ) ∥ ℓ 2 2 ∈ ( 1 ± ε ) ∥ u – v ∥ ℓ 2 2 ] ≥ 1 – δ ( ∣ X ∣ 2 ) ≥ 1 – 1 2 ∣ X ∣ \text{Pr}\left[\|\boldsymbol{\psi}(u)–\boldsymbol{\psi}(v)\|_{\ell_2}^2\text{∈}(1\text{±}\varepsilon)\|u–v\|_{\ell_2}^2\right]\text{≥}\displaystyle{}1–\delta\binom{|X|}2\text{≥}1–\cfrac{1}{2|X|} Pr[∥ψ(u)–ψ(v)∥ℓ22∈(1±ε)∥u–v∥ℓ22]≥1–δ(2∣X∣)≥1–2∣X∣1
1.2. \textbf{1.2. } 1.2. 紧致性定理
3️⃣狭义 JL \text{JL} JL紧性定理:存在某些高维点集 X X X天然抗拒压缩,无论如何优化都只能压到 m = Ω ( log ( ε 2 ∣ X ∣ ) ε 2 ) m\text{=}\Omega\left({\cfrac{\log\left(\varepsilon^2|X|\right)}{{\varepsilon}^{2}}}\right) m=Ω(ε2log(ε2∣X∣))维
- 前提:对 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},存在有限点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd ,以及小常数 ε ∈ ( lg 0.5001 ∣ X ∣ min { d , ∣ X ∣ } , 1 ) \varepsilon\text{∈}\left(\cfrac{{\lg }^{0.5001}|X|}{\sqrt{\min\{d,|X|\}}},1\right) ε∈(min{d,∣X∣}lg0.5001∣X∣,1)
- 结论:对任何满足原始 JL \text{JL} JL引理的函数 ψ : X → R m \boldsymbol{\psi}\text{:}X\text{→}{\mathbb{R}}^{m} ψ:X→Rm,必须满足维度下界 m = Ω ( log ( ε 2 ∣ X ∣ ) ε 2 ) m\text{=}\Omega\left({\cfrac{\log\left(\varepsilon^2|X|\right)}{{\varepsilon}^{2}}}\right) m=Ω(ε2log(ε2∣X∣))
- 备注:当 ε \varepsilon ε过小即 ε ≤ lg ∣ X ∣ min { d , ∣ X ∣ } \varepsilon\text{≤}\sqrt{\cfrac{\lg{|X|}}{\min\{d,|X|\}}} ε≤min{d,∣X∣}lg∣X∣时,造成”降维“后的 m = Ω ( 1 ε 2 log ( ε 2 ∣ X ∣ ) ) m\text{=}\Omega\left({\cfrac{1}{{\varepsilon}^{2}}\log\left(\varepsilon^2|X|\right)}\right) m=Ω(ε21log(ε2∣X∣))反而大于降维前的 min { d , ∣ X ∣ } \min\{d,|X|\} min{d,∣X∣}
4️⃣广义 JL \text{JL} JL紧性定理:即使允许更大的误差 ε \varepsilon ε,依然有高维点集 X X X抗拒压缩,最低只能压到 m = Ω ( log ( 2 + ε 2 ∣ X ∣ ) ε 2 ) m\text{=}\Omega\left({\cfrac{\log\left(2\text{+}\varepsilon^2|X|\right)}{{\varepsilon}^{2}}}\right) m=Ω(ε2log(2+ε2∣X∣))维
- 前提:存在有限点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd ,给定常数 0 < c < 1 0\text{<}c\text{<}1 0<c<1使得有 m ≤ c d < d ≤ n m\text{≤}cd\text{<}d\text{≤}n m≤cd<d≤n,以及小常数 ε ≥ 2 ∣ X ∣ \varepsilon{≥}\cfrac{2}{\sqrt{|X|}} ε≥∣X∣2
- 结论:对任何满足原始 JL \text{JL} JL引理的函数 ψ : X → R m \boldsymbol{\psi}\text{:}X\text{→}{\mathbb{R}}^{m} ψ:X→Rm,必须满足维度下界 m = Ω ( log ( 2 + ε 2 ∣ X ∣ ) ε 2 ) m\text{=}\Omega\left({\cfrac{\log\left(2\text{+}\varepsilon^2|X|\right)}{{\varepsilon}^{2}}}\right) m=Ω(ε2log(2+ε2∣X∣))
1.3. \textbf{1.3. } 1.3. 近似点积推论
1️⃣基于原始 JL \text{JL} JL引理的表述:压缩前后不仅两点间距离变化不大,两点互相的内积也变化不大
- 前提:对维度 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},小常数 ε ∈ ( 0 , 1 ) \varepsilon\text{∈}\left(0,1\right) ε∈(0,1),有限点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd
- 结论:存在线性函数 ψ : X → R m \boldsymbol{\psi}\text{:}X\text{→}{\mathbb{R}}^{m} ψ:X→Rm,使得 ∀ u , v ∈ X \forall{u,v}\text{∈}X ∀u,v∈X有 ⟨ ψ ( u ) , ψ ( v ) ⟩ ∈ ⟨ u , v ⟩ ± ε ∥ u ∥ ℓ 2 ∥ v ∥ ℓ 2 \langle{}\boldsymbol{\psi}\left(u\right),\boldsymbol{\psi}\left(v\right)\rangle{}\text{∈}\langle{}u,v\rangle{}\text{±}\varepsilon\|{u}{\|}_{\ell_2}\|v{\|}_{\ell_2} ⟨ψ(u),ψ(v)⟩∈⟨u,v⟩±ε∥u∥ℓ2∥v∥ℓ2
2️⃣基于分布型 JL \text{JL} JL引理的表述:两点互相的内积也变化不大,以高概率成立
- 前提 1 1 1:对维度 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},小常数 ε , δ ∈ ( 0 , 1 ) \varepsilon,\delta\text{∈}\left(0,1\right) ε,δ∈(0,1),有限点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd
- 前提 2 2 2:可从 JL \text{JL} JL分布 Ψ \Psi Ψ中采样线性 JL \text{JL} JL变换 ψ : R d → R m \boldsymbol{\psi}\text{:}{\mathbb{R}}^{d}\text{→}{\mathbb{R}}^{m} ψ:Rd→Rm,即 ψ ( x ) = A x \boldsymbol{\psi}(x)\text{=}\textbf{A}x ψ(x)=Ax其中 A ∈ R m × d \textbf{A}\text{∈}{\mathbb{R}}^{m\text{×}d} A∈Rm×d
- 结论:对 ∀ u , v ∈ X \forall{u,v}\text{∈}X ∀u,v∈X有 Pr [ ⟨ ψ ( u ) , ψ ( v ) ⟩ ∈ ⟨ u , v ⟩ ± ε ∥ u ∥ ℓ 2 ∥ v ∥ ℓ 2 ] ≥ 1 – δ \text{Pr}\left[\langle{}\boldsymbol{\psi}\left(u\right),\boldsymbol{\psi}\left(v\right)\rangle{}\text{∈}\langle{}u,v\rangle{}\text{±}\varepsilon\|{u}{\|}_{\ell_2}\|v{\|}_{\ell_2}\right]\text{≥}1–\delta Pr[⟨ψ(u),ψ(v)⟩∈⟨u,v⟩±ε∥u∥ℓ2∥v∥ℓ2]≥1–δ
2. Johnson-Lindenstrauss \textbf{2. Johnson-Lindenstrauss} 2. Johnson-Lindenstrauss引理的应用
2.1. JL \textbf{2.1. JL} 2.1. JL引理与聚类
1️⃣ k -Means k\text{-Means} k-Means方差双射引理:将簇内所有点到质心的距离平方的总和,转化为簇内所有点对距离平方之和(的一半)
- 结论:令 k , d ∈ { 1 , 2 , . . . } k,d\text{∈}\{1,2,...\} k,d∈{1,2,...}及 i ∈ { 1 , 2 , . . . , k } i\text{∈}\{1,2,...,k\} i∈{1,2,...,k},对簇 X i ⊆ R d X_i\text{⊆}{\mathbb{R}}^{d} Xi⊆Rd有 ∑ i = 1 k ∑ x ∈ X i ∥ x – 1 ∣ X i ∣ ∑ y ∈ X i y ∥ ℓ 2 2 = ∑ i = 1 k 1 2 ∣ X i ∣ ∑ x , y ∈ X i ∥ x – y ∥ ℓ 2 2 \displaystyle{}\sum_{{i=1}}^{k}\sum_{{x\in{X}_{i}}}{\begin{Vmatrix}x–\cfrac{1}{\left|{X}_{i}\right|}\displaystyle{}\sum_{{y\in{X}_{i}}}y\end{Vmatrix}}_{\ell_2}^{2}\text{=}\sum_{{i=1}}^{k}\cfrac{1}{2\left|{X}_{i}\right|}\sum_{{x,y\in{X}_{i}}}\|{x}–y{\|}_{\ell_2}^{2} i=1∑kx∈Xi∑ x–∣Xi∣1y∈Xi∑y ℓ22=i=1∑k2∣Xi∣1x,y∈Xi∑∥x–y∥ℓ22
- 含义: ∑ x ∈ X i ∥ x – 1 ∣ X i ∣ ∑ y ∈ X i y ∥ ℓ 2 2 \displaystyle{}\sum_{{x\in{X}_{i}}}{\begin{Vmatrix}x–\cfrac{1}{\left|{X}_{i}\right|}\displaystyle{}\sum_{{y\in{X}_{i}}}y\end{Vmatrix}}_{\ell_2}^{2} x∈Xi∑ x–∣Xi∣1y∈Xi∑y ℓ22为所有簇内点离质心距离的和(簇内方差),另 ∑ x , y ∈ X i ∥ x – y ∥ ℓ 2 2 \displaystyle{}\sum_{{x,y\in{X}_{i}}}\|{x}–y{\|}_{\ell_2}^{2} x,y∈Xi∑∥x–y∥ℓ22为簇内所有点对距离的和
2️⃣降维聚类成本传递命题:把高维空间的点 JL \text{JL} JL降维后再聚类,结果与直接在高维空间中聚类相差不大
- 前提 1 1 1:给定聚类数 k ∈ { 1 , 2 , . . . } k\text{∈}\{1,2,...\} k∈{1,2,...},高维点集 X ⊆ R d X\text{⊆}{\mathbb{R}}^{d} X⊆Rd其中 d ∈ { 1 , 2 , . . . } d\text{∈}\{1,2,...\} d∈{1,2,...},以及误差 ε ≤ 1 2 \varepsilon\text{≤}\cfrac{1}{2} ε≤21
- 前提 2 2 2:投影 ψ : X → R m \boldsymbol{\psi}\text{:}X\text{→}{\mathbb{R}}^{m} ψ:X→Rm为 JL \text{JL} JL变换,其中 m = Θ ( log ∣ X ∣ ε 2 ) m\text{=}\Theta\left( {\cfrac{\log\left|X\right|}{{\varepsilon}^{2}}}\right) m=Θ(ε2log∣X∣)
- 前提 2 2 2:令 X 1 , … , X k ⊆ X {X}_{1},\ldots,{X}_{k}\text{⊆}X X1,…,Xk⊆X经过 ψ \boldsymbol{\psi} ψ投影后生成 Y 1 , … , Y k ⊆ Y {Y}_{1},\ldots,{Y}_{k}\text{⊆}Y Y1,…,Yk⊆Y,以及所有点到各自质心距离的总和为所谓== k -Means k\text{-Means} k-Means成本==
- κ d {\kappa}_{d} κd为将 X X X划分为 X 1 , X 2 , … , X k {X}_{1},X_2,\ldots,{X}_{k} X1,X2,…,Xk的成本, κ d ∗ {\kappa}_{d}^{*} κd∗为将 X X X划分为最优 k -Means k\text{-Means} k-Means的成本
- κ m {\kappa}_{m} κm为将 Y Y Y划分为 Y 1 , Y 2 , … , Y k {Y}_{1},Y_2,\ldots,{Y}_{k} Y1,Y2,…,Yk的成本, κ m ∗ {\kappa}_{m}^{*} κm∗为将 Y Y Y划分为最优 k -Means k\text{-Means} k-Means的成本
- 结论:当某个 γ ∈ R \gamma\text{∈}\mathbb{R} γ∈R使得有 κ m ≤ ( 1 + γ ) κ m ∗ {\kappa}_{m}\text{≤}\left({1\text{+}\gamma}\right){\kappa}_{m}^{*} κm≤(1+γ)κm∗时,有 κ d ≤ ( 1 + 4 ε ) ( 1 + γ ) κ d ∗ {\kappa}_{d}\text{≤}\left({1\text{+}{4\varepsilon}}\right)\left({1\text{+}\gamma}\right){\kappa}_{d}^{*} κd≤(1+4ε)(1+γ)κd∗
2.1. JL \textbf{2.1. JL} 2.1. JL引理与流算法
1️⃣流算法及有关概念
- 流的特点:
- 流查询:对持续到达并快速流失的数据进行查询
- 流特点:只能对部分数据实现存储 & \text{\&} &只能对数据遍历一次,因此只进行近似查询
- 流的描述:
- 流的组成:即一系列更新操作,每个操作形如 ( i j , Δ j ) (i_j,\Delta_j) (ij,Δj)即在 t = j t\text{=}j t=j时在 x x x向量的第 i i i维加上 Δ \Delta Δ,因此 t t t时刻有 x = ∑ j = 1 t Δ j e i j x\text{=}\displaystyle{\sum_{j=1}^t{}\Delta_j\textbf{e}_{i_j}} x=j=1∑tΔjeij
- 查询项目: t t t时刻关于 x x x的统计量,例如 ∥ x ∥ ℓ 2 \|x\|_{\ell_2} ∥x∥ℓ2或频繁项(超过阈值的维度)等
- 流的变体:
模型 特点 实例 收银机模型 对于 x x x向量的每一维,只允许递增操作 统计网页的点击量 旋转门模型 对于 x x x向量的每一维,允许增或减操作 统计银行账户余额 2️⃣基于 JL \text{JL} JL引理的流处理
- 存储:不显式存储原始高维的 x x x,而是存储 JL \text{JL} JL线性降维投影后的 ψ ( x ) \boldsymbol{\psi}(x) ψ(x)
- 更新:鉴于 ψ ( x ) \boldsymbol{\psi}(x) ψ(x)是线性的,所以有 ψ ( x ) = ∑ j = 1 t Δ j ψ ( e i j ) \boldsymbol{\psi}(x)\text{=}\displaystyle{\sum_{j=1}^t{}\Delta_j\boldsymbol{\psi}(\textbf{e}_{i_j})} ψ(x)=j=1∑tΔjψ(eij),即流 ( i j , Δ j ) (i_j,\Delta_j) (ij,Δj)到达后只需更新其投影 Δ j ψ ( e i j ) \Delta_j\boldsymbol{\psi}(\textbf{e}_{i_j}) Δjψ(eij)
- 查询:基于分布型 JL \text{JL} JL引理,在引入一定失败概率的情况下,直接输出投影后向量 ψ ( x ) \boldsymbol{\psi}(x) ψ(x)的统计量