承接上一篇推送,今天继续来看看论文 Random Features for Large-Scale Kernel Machines 中提出的第二种随机特征构造方法,姑且叫做随机装箱特征(Random Binnin Features)吧。
Random Binning Features
第二种特征特征提取方法,有着非常有趣的 Idea。用随机的分辨率和平移量,将数据所在的空间等分成小块,然后记录数据点在哪些小块当中。重复这个操作若干次,看看 2 个数据点被划分到同一个小块区域的频率是多少,用这个频率来近似这 2 个数据点的核函数值(核内积)。直观的来说,当 2 个数据点靠的越近的时候,它们被分到同一个小块区域的频率会越大,这样按上面的 Idea 所逼近的核函数值也应该越大。这是符合许多反应亲密度的核函数的特点。
这个想法也可以用映射的观点来刻画。 令 \(z(x)\) 是数据点 \(x\) 所落区域的二进制编号(比如 01011 这样),这样就定义了一个映射 \(z:R^d\to \{0,1\}^D\),其中 \(D\) 是编号的位数。 那么逻辑与运算 \(z(x)\&z(y):=z(x)z(y)\) 的结果为 1 则表示数据点 \(x\) 和 \(y\) 落在了同一个区域中,为 0 则表示不在一个区域中。比方说,我们用不同的分辨率和平移量对空间做了 \(P\) 次分割,对应的有编号映射 \(z_1,\cdots,z_P\)。这样,数据点 \(x\) 和 \(y\) 落在同一个区域中的频率就是:
其中 \(z(x)=\frac{1}{\sqrt{P}}[z_1(x) \cdots z_P(x)]\),就是我们要找的特征映射。
带着这个 Idea,问题的重心就落在了如何随机的选取空间分割的分辨率和平移量,使得上面的近似能够尽可能精确。
首先我们要利用概率论知识来对整个分割空间的操作进行刻画,然后考察上述近似的精确度,并设法提高。一般思路是,确定分割区域的分辨率和平移量应该服从什么分布,才能使得频率 \(z(x)^Tz(y)\) 是 \(k(x,y)\) 的无偏估计,然后刻画分割次数 \(P\) 对近似的精确度有何影响,比如估计随着 \(P\) 增大,\(z(x)^Tz(y)\) 收敛到 \(k(x,y)\) 的速度(如果收敛的话)。
先考虑 1 维的情形。假设有一个核函数 \(k(x,y)\)。给定任意 2 个实数轴上的点 \(x,y\in R\)。我们把实数轴用随机选取的间隔 \(\delta\) 等分成一系列区间,设 \(p(\delta),\delta>0\) 是 \(\delta\) 服从的分布。然后再从 \([0,\delta]\) 的均匀分布中随机取 \(u\) 作为分割区间的偏移量,最后将整条实数轴均分成形如 \([u+k\delta,u+(k+1)\delta),n\in Z\) 的一系列区间。现在,为了让 \(z(x)z(y)\approx k(x,y)\),当然首先希望 \(z(x)z(y)\) 是 \(k(x,y)\) 的无偏估计,就是说,我们希望:
所以问题就集中在,怎么确定分布 \(p(\delta)\) 使得上式成立。考虑到在分割中,我们是先取定 \(\delta\),再取定 \(u\) 的,于是想到把 \(\delta\) 作为条件,利用条件期望定义,得到: