OpenFE: Automated Feature Generation with Expert-level Performance 的理论分析部分


在论文《OpenFE: Automated Feature Generation with Expert-level Performance》中作者对理论结论给出了详细的分析过程,这篇博客对该部分进行阅读和记录。

论文概况 详细
标题 《OpenFE: Automated Feature Generation with Expert-level Performance》
作者 Tianping Zhang, Zheyu Zhang, Zhiyuan Fan, Haoyan Luo, Fengyuan Liu, Qian Liu, Wei Cao, Jian Li
发表会议 International Conference on Machine Learning(ICML)
发表年份 2023
会议等级 CCF-A
论文代码 https://github.com/IIIS-Li-Group/OpenFE

作者单位:

  1. Institute for Interdisciplinary Information Sciences (IIIS), Tsinghua University, Beijing, China
  2. School of Data Science, The Chinese University of Hong Kong (Shenzhen), Shenzhen, China
  3. Paul G. Allen School of Computer Science & Engineering, University of Washington, Seattle, U.S.
  4. Sea AI Lab, Singapore
  5. Microsoft Research Asia, Beijing, China.

问题定义#

数据集定义#

考虑一个具有数值特征和类别特征的回归问题。

符号 说明
Xnum⊆Rd 数据集的数值型特征空间,是 d 维的凸向量。
Xcat⊆N 数据集的类别型特征空间
Y⊆[0, 1] 目标域
Dtrain 包含 n 个样本 {(Xi, Yi)}i=1,...,n 的训练集
Dtest 包含 m 个样本 {(Xi, Yi)}i=n+1,...,m 的训练集
Xi=(xi0,xi1,…,xid) 一个样本 包括 1 个类别特征 xi0∈Xcat 和 d 个来自 Xnum 的数值特征

数据模型#

训练集 Dtrain 和测试集 Dtest 由两阶段过程生成,涉及的符号如下表所示。在机器学习和统计学习中,假设类 F 是一组函数的集合,它们可以映射输入数据到输出标签或预测值。真实假设 f 是一个特定的函数,它真正描述了输入数据与输出标签之间的真实关系,机器学习的目标就是找到一个函数能够尽可能地接近f

符号 说明
∆(Xcat) Xcat 上定义的空间所有概率分布
Q 在 ∆(Xcat) 上定义的概率分布
g(i) 表示包含第 i 个样本 (X,Y) 的组的索引
F 假设类
f:Xnum × Xcat→Y 真实假设,使得 Yi=f(xi1,…,xid,Zi)
X∼Pg(i) 表示从 g(i) 的数值特征分布中随机抽取的样本 X
Zi=EX~Pg(i)[X] Zi 是 d 维向量,表示一组样本的统计特征的平均值

假设分类特征值 c1,…,ck1,ck1+1,…,ck1+k2 都是不同的,通过重复以下 k1 次生成 Dtrain

  1. 第 i 次迭代中,首先从 Q 中取一个样本 Pi∈∆(X cat),其中 Pi是 Xcat 上的一个分布。
  2. 对一组 h 个训练样本进行采样,每个训练数据点的分类特征值为 ci∈Xcat,因此这 h 个训练数据 Xih+1,…,X(i+1)h 具有相同的类别特征值 ci∈Xcat,构成第 i 组 Gi

此时 Dtrain 包含 k1 个组 G1,…,Gk1,使用 g 表示可得 (Xi,Yi)∈Gg(i)。测试数据集 Dtest 以同样的方式生成,它包含 k2 组 Gk1+1,…,Gk1+k2

特征生成#

此处使用 GroupByThenMean 等操作生成特征,GroupBy 操作基于类别特征 Xcat 对于样本进行聚合。因此对于一个数据点 Xi 可以从同一组 Gg(i) 中的所有数据点计算,生成一组新的特征 X^i。形式上设 H 为可能特征生成函数的集合,新特征的计算公式为:

对于特征生成函数 H 和预测器 f,数据点(Xi,Yi) 上的损失为:

目标是找到一个特征生成函数 H 和一个预测器 f,使测试损失最小化:

如果不使用任何特征生成,预测器 f' 的损失很简单:

Theorem A.1 及其证明#

对于特定的特征生成函数 H,使用 Radk(F) 表示 F 在 k 个随机样本的经验 Rademacher 复杂度:

公式中的符号如下表所示,假设当 k1→∞ 时 Radk1(F)→0,且 Radk1 的规模与 O(√(1/k1)) 成正比。也就是样本数量的增加,假设空间 F 中的函数在随机标签上的平均表现会趋近于零。这是计算学习理论中一个常见的假设,用于保证学习的泛化能力。

符号 说明
σ=(σ1,…,σk) 独立的 Rademacher 变量
Xi 来自 Pi 的第 i 个样本
Pi 来自 Q 的第 i 个样本

接着假设任意函数 f(·,·)∈F 是 z 上是 Lipschitz 连续的,对于任意 Z1、Z2、x∈X 和 f∈F,存在常数 CF 使得 |f(X,Z1)−f(X,Z2)|≤ CF||Z1−Z2||。Lipschitz 连续性是函数稳定性的一种度量,它限制了函数在输入发生微小变化时输出能变化的最大幅度。在机器学习中这通常是一个好的性质,Lipschitz 连续说明能保证模型对输入数据的微小变化具有鲁棒性。
最后定义特征向量的范数界限,假设存在常数 Bx,使得对于所有 x∈X,都有 supx∈X||x||≤Bx,其中 X 是输入空间,||⋅|| 是某种范数运算。这个假设限制了输入数据 x 的范数的大小,这有助于在理论分析中避免一些极端情况(如无限大的输入值)。
本文提出的定理 1 为:存在一个特征生成函数 H,使得经验风险最小化器 f 的测试损失有界于如下公式所示的量,概率至少为 1−δ。特别是当 k1, h→∞ 时,测试损失趋近于 0。

接下来对这个定理进行证明,将特征生成函数固定为 GroupByThenMean,使用公式表示为:

然后算法最小化经验风险的 f 为:

根据 Hoeffding 不等式和每个维的并集界,对于某个具体的 g(i),如下不等式给出了 ||X^i-Zi|| 的上界,其成立的概率至少为 1−δ/(2(k1 + k2))。通过对所有 group 应用并界,这个命题对所有 i 都成立,且概率至少为 1−δ/2。解释一下这个不等式,不等式的左侧计算了估计均值 X^i 与真实均值 Zi之间的范数运算值,不等式的右侧给出了这个值的一个上界,这个上界是通过应用 Hoeffding 不等式得到的。

其中不等式左边表示第 i 组数据的经验均值(或估计值)X^i 与该组数据在真实分布 Pg(i) 下的期望值 Zi=EX∼Pg(i)[X] 之间的范数差。

对不等式的右式展开讲一下推导过程,首先给出 Hoeffding 不等式:若 x1,x2,…,xm 为 m 个独立随机变量,且满足 0≤xi≤1,则对任意 ε>0 有:

笔者的计算过程如下所示,本文中的一组 h 个训练样本对应 Hoeffding 不等式的 m。考虑 h 个样本包含 d 维特征,根据每个维的并集界,不等式左边需要乘 d。本人推导的结果和作者在文中的结果差了 4d,但是形式上是一致的,且和论文分析并不冲突。最后根据上面定义的特征向量的范数界限,给 ε 乘上常数 Bx 即可得到作者给出的不等式。

回到证明的过程,此时对于任意函数 f∈F 有如下不等式链(2)成立。

解释一下这个不等式链,第一个不等式是通过平方差公式和绝对值不等式得到的。

在第二个不等式中,第一部分主要使用了上文推导的 ||X^i-Zi|| 的上界和函数 f 的 Lipschitz 性质,也就是如下不等式。其中 ||Z^i-Zi|| 被简化为 ||X^i-Zi||,因为它们在这里表示相同的量——估计均值与真实值之差。

第二部分则是由于 Y⊆[0,1],在最坏情况下 f(X^i,Zi) 和 f(Xi,X^i) 做出的决策与目标值 Yi 完全相反,即 f(X^i,Zi)=1 和 f(Xi,X^i)=1 但是 Yi=0,或 f(X^i,Zi)=0 和 f(Xi,X^i)=0 但是 Yi=1。因此可以得到如下不等式成立,将两个式子相乘可得论文给出的不等式是成立的。

定义 H* 为如下公式,也就是特征转换函数 GroupByThenMean 的期望形式。

此时根据论文中给出的不等式链(2)和损失函数的定义,可以得到如下两个不等式也是成立的。

注意此时每个样本并不是独立同分布的,因为一组中的任意两个样本是相关的,所以需要定义针对一个 group 的 Rademacher 复杂度来约束泛化误差。group Rademacher 复杂度如下公式所示,可见就是在 Rademacher 复杂度的 L(H,F,Xi,Yi) 添加了归一化项。

此时如果将每个组视为一个独立的随机样本(尽管组内的数据点是相关的),则这些组可以暂且看作是独立同分布的。因此可以应用 Rademacher 复杂度的经典泛化界限得到公式(3),对于任何函数 f∈F,公式(3)至少 1−δ/2 的概率成立。

此外可以看出:对于独立同分布样本,group Rademacher 复杂度可以由普通 Rademacher 复杂度来估计上界,如公式(4)所示,其中 Gi,j 是组 Gi 中的第 j 个元素。不等式(4)表明:对于由独立同分布样本组成的组,其 group Rademacher 复杂度可以被基于整个数据集的普通 Rademacher 复杂度估计上界。

根据并集界,对于所有 f∈F 都以至少 1−δ 的概率满足公式(2)和(3)。在这种情况下,由于 f 是真实假设,它的经验风险满足 LDtrain(H,f)= 0,此时可以得到不等式链(5)。不等式链的第一个不等式表示通过经验风险最小化得到的假设 f^,在训练集上的表现至少不会比真实情况 f 更差,最后一个不等式是通过公式(2)计算得到。

最后即可按如下过程计算测试损失 LDtest(H,f^),其中第二个不等式由公式(3)和公式(5)成立,最后一个不等式由公式(4)成立。

解释一下这个式子是将测试损失 LDtest(H,f^) 分解为如下几个部分,至此定理 1 推导完成。

公式 损失类型 说明
LDtest(H,f ^)-LDtest(H,f ^) 近似误差 由于选择的特征生成函数 H 不是最优的 H 而导致的
LDtest(H,f ^)-LDtrain(H,f ^) 估计误差 由于训练集和测试集之间的差异,也就是数据分布的估计误差而导致的
LDtrain(H,f ^)-LDtrain(H,f ^) 优化误差 由于在训练集上优化模型时没有达到最优解,也就是 H 不是通过训练集优化得到的最佳特征生成函数而导致的
LDtrain(H,f ^) 训练损失 实际在训练过程中需要最小化的损失

在定理 1 中只考虑 H 只包含一个特定操作 GroupByThenMean 的情况,也可以将上述设置扩展为具有多个特征生成功能的设置,但公式可能会变得非常复杂。本文作者的目标是说明特征生成的统计优势,因此选择的是一个简化但具有代表性的设置。

Theorem A.2 及其证明#

作者提出的定理 2 为:在不使用任何特征生成算子的情况下,存在这样一个问题实例——对于任意函数 f':X→Y,无论 k1(训练集中的组数)、k2(测试集中的组数)、h(每组的大小)有多大,测试损失都至少为:

接下来进行证明,考虑一个具有 X=Y=[0,1] 的问题,使用 B(p) 表示伯努利分布:Pr[B(p)=1]=p=1−Pr[B(p)=0]。数据集按照以下方式生成:

  1. 每个组包含 h 个数据点,第 i 组的分布 Pg(i) 随机地在 B(3/4) 和 B(1/4) 之间选择,且两者被选中的概率相等。也就是在每个组中 X 在分布 Pg(i) 下的期望值 Zi 都是 3/4 或 1/4。
  2. Xi是一个 0/1 随机变量,根据 Zi 的值独立同分布地从 B(3/4) 或 B(1/4) 生成。具体来说,如果 Zi=3/4,则 Xi 从 B(3/4) 生成;如果 Zi=1/4,则 Xi 从 B(1/4) 生成。
  3. 假设数据点的目标值 Yi 由 Yi=f(Xi,Zi)=Zi 给出,也就是每个数据点的目标值直接等于其所在组的期望值 Zi

总结一下就是在这个问题中,数据被组织成多个组,每个组内的数据点共享一个共同的“期望值” Zi,它决定了组内数据点 Xi 的生成方式,同时 Zi值还直接作为该组内所有数据点的目标值 Yi。当 Xi=1 时,Yi 有 1/4 和 3/4 两种取值:Yi=1/4 的概率为 1/4,Yi=3/4 的概率为 3/4,Xi=0 时同理。
当 Xi=1 时,Yi=1/4 的概率由如下公式计算,同理 Yi=3/4 的概率为 Pr[Yi=(3/4)|Xi=1]=3/4。

考虑平方误差的期望表达式,对于任何预测因子 f': X→Y 如下公式成立:

如果将期望表达式当做是一个二次函数,则通过变形之后显然平方项 (t−5/8)2 始终非负,得到其最小值为 3/64。

同理也有 EXi=0[||Yi−f'(Xi)||2]≥3/64。因此,对于任何预测因子 f' 的测试损失至少为:

posted @   乌漆WhiteMoon  阅读(54)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
CONTENTS