随机傅里叶特征(Random Fourier Features)

随机傅里叶特征(Random Fourier Features)

如果使用核方法来预测测试集的样本 x \displaystyle x x,比如核岭回归kernel ridge regression,我们需要计算:

f ( x ) = ∑ i = 1 N c i k ( x i , x ) f( x) =\sum ^{N}_{i=1} c_{i} k( x_{i} ,x) f(x)=i=1Ncik(xi,x)

需要 O ( N d ) \displaystyle O( Nd) O(Nd)其中N是样本量,d是x的维度大小。当样本量特别大的时候,这个复杂度是不可接受的。我们能不能找到一个近似方法,找到一个叫randomized feature map z : R d → R D \displaystyle z:R^{d}\rightarrow R^{D} z:RdRD使得

k ( x , y ) = < ϕ ( x ) , ϕ ( y ) > ≈ z ( x ) T z ( y ) k( x,y) =< \phi ( x) ,\phi ( y)> \approx z( x)^{T} z( y) k(x,y)=<ϕ(x),ϕ(y)>z(x)Tz(y)

为了找到这么个z,我们先介绍一个在调和分析中,针对一类shift-invariant kernel的重要定理:

定理(Bochner [2]): 一个连续的核方法 k ( x , y ) = k ( x − y ) \displaystyle k( x,y) =k( x-y) k(x,y)=k(xy),在 R d \displaystyle R^{d} Rd上是正定的,当且仅当 k ( δ ) \displaystyle k( \delta ) k(δ)是某个非负测度的傅里叶变换。

首先意识到,概率测度是非负测度,因此,我们可以找到一个概率测度,使得k是它的傅里叶变换,也就是说:

k ( x − y ) = ∫ R d p ( ω ) e j ω ′ ( x − y ) d ω = E ω ∼ p ( w ) [ ζ ω ( x ) ζ ω ( y ) ∗ ] k(x-y)=\int _{R^{d}} p(\omega )e^{j\omega ^{\prime } (x-y)} d\omega =E_{\omega \sim p( w)} [\zeta _{\omega } (x)\zeta _{\omega } (y)^{*} ] k(xy)=Rdp(ω)ejω(xy)dω=Eωp(w)[ζω(x)ζω(y)]

其中 ζ ω ( x ) = e j w T x \displaystyle \zeta _{\omega } (x)=e^{jw^{T} x} ζω(x)=ejwTx. 所以,理论上我们只需要从不停从 p ( w ) \displaystyle p( w) p(w)中采样 w \displaystyle w w,就能逼近 k ( x − y ) \displaystyle k( x-y) k(xy)的取值。

其次,因为我们的kernel算出来是一个实数,所以 ζ ω ( x ) \displaystyle \zeta _{\omega } (x) ζω(x)中的复数,直观上可以丢掉,那么根据欧拉公式,丢掉之后就剩下cos项,所以,可以令 z w ( x ) = 2 cos ⁡ ( w T x + b ) \displaystyle z_{w}( x) =\sqrt{2}\cos\left( w^{T} x+b\right) zw(x)=2 cos(wTx+b),来计算kernel:

k ( x , y ) = E ω ∼ p ( w ) [ z w ( x ) z w ( y ) ] k(x,y)=E_{\omega \sim p( w)} [z_{w}( x) z_{w}( y) ] k(x,y)=Eωp(w)[zw(x)zw(y)]

其中 w ∼ p ( w ) , b ∼ U n i f o r m ( 0 , 2 π ) \displaystyle w\sim p( w) ,b\sim Uniform( 0,2\pi ) wp(w),bUniform(0,2π).

接下来的问题是,怎样采样呢?这个概率测度 p \displaystyle p p是长什么样的呢?显然 p ( w ) \displaystyle p( w) p(w)的分布决定了kernel的形式,所以,他们应该是一种一一对应的关系,这个关系已经有人给我们算好了,如下图所示:

所以,最终实际使用的时候,我们只需根据我们选择的kernel函数,然后查查其对应的 p ( w ) \displaystyle p( w) p(w),然后从中抽样 w ( 1 ) , . . . , w ( D ) ∼ p ( w ) , b ( 1 ) , . . . , b ( D ) ∼ U n i f o r m [ 0 , 2 π ] \displaystyle w^{( 1)} ,...,w^{( D)} \sim p( w) ,b^{( 1)} ,...,b^{( D)} \sim Uniform[ 0,2\pi ] w(1),...,w(D)p(w),b(1),...,b(D)Uniform[0,2π],并估计均值

k ( x , y ) ≈ 1 D ∑ i = 1 D z w ( i ) , b ( i ) ( x ) z w ( i ) b ( i ) ( y ) = z ( x ) T z ( y ) k(x,y)\approx \frac{1}{D}\sum ^{D}_{i=1} z_{w^{( i)} ,b^{( i)}}( x) z_{w^{( i)} b^{( i)}}( y) =\mathbf{z}( x)^{T}\mathbf{z}( y) k(x,y)D1i=1Dzw(i),b(i)(x)zw(i)b(i)(y)=z(x)Tz(y)

其中 z ( x ) ≡ 2 D [ cos ⁡ ( ( w ( 1 ) ) T x + b ( 1 ) ) ⋮ cos ⁡ ( ( w ( D ) ) T x + b ( D ) ) ] \displaystyle \mathbf{z}( x) \equiv \sqrt{\frac{2}{D}}\begin{bmatrix} \cos\left(\left( w^{( 1)}\right)^{T} x+b^{( 1)}\right)\\ \vdots \\ \cos\left(\left( w^{( D)}\right)^{T} x+b^{( D)}\right) \end{bmatrix} z(x)D2 cos((w(1))Tx+b(1))cos((w(D))Tx+b(D)).

参考文献

[1] Rahimi, Ali, and Benjamin Recht. “Random features for large-scale kernel machines.” Advances in neural information processing systems 20 (2007): 1177-1184.
[2] W. Rudin. Fourier Analysis on Groups. Wiley Classics Library. Wiley-Interscience, New York, reprint
edition edition, 1994.

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值