2 PAC学习框架 (page 20 21)

752 阅读2分钟

示例 2.4 k项DNF公式

析取范式(DNF)公式是几个项的析取的公式,每个项都是布尔文字的合取。kk项DNF是由kk项的析取定义的DNF公式,每个项最多由nn个布尔文字组成。因此,对于k2k=2n3n=3,k项DNF的示例为(x1x2x3)(x1x3)(x_1∧ \overline x_2∧ x_3)∨ (\overline x_1∧ x_3)
kk项DNF公式的CC类是PAC可学习的吗?类的基数是3nk3^{nk}的基数,因为每个项是至多nn个变量的合取,并且有3n3^n个这样的合取,如前面所见。假设集HH必须包含CC才能实现一致性,因此H3nk| H |≥ 3^{nk}。定理2.1给出了以下样本复杂性界:

m1ϵ((log3)nk+log1δ),(2.12)m\ge\frac{1}{\epsilon}\big((log3)nk+log\frac{1}{δ}\big),(2.12)

这是多项式。然而,可以证明学习k项DNF的问题在RPRP中,RPRP是允许随机多项式时间决策解决方案的复杂问题类别。因此,除非RP=NPRP=NP,否则该问题在计算上是难以解决的,通常认为情况并非如此。因此,虽然学习k项DNF公式所需的样本大小只是多项式,但除非RP=NPRP=NP,否则此类PAC的有效学习是不可能的。

示例2.5 k-CNF公式

合取范式(CNF)公式是析取的合取。k-CNF公式是T1...TjT_1∧ ... ∧T_j 形式的表达式,具有任意长度的jNj∈ N,并且每个项都是至多k个布尔属性的析取。学习k-CNF公式的问题可以简化为学习布尔文字的连接的问题,如前所述,这是一个PAC可学习的概念类。为此,只需将每个项TiT_i与新变量关联即可。然后,这可以通过以下双射完成:

ai(xi)...ai(xn)Yai(xi),...,ai(xn),(2.13)a_i(x_i)∨...∨a_i(x_n)\rightarrow Y_{a_i(x_i),...,a_i(x_n)},(2.13)

式中,aixja_i(x_j)表示在TiT_i项中对xix_i的赋值。这种对布尔文字连接的PAC学习的简化可能会影响原始分布,但这不是问题,因为在PAC框架中,没有对分布进行任何假设。因此,布尔文字连接的PAC可学习性意味着k-CNF公式的PAC可学习性。
然而,这是一个令人惊讶的结果,因为任何k项DNF公式都可以写成k-CNF公式。实际上,使用结合性,可以通过以下方式将k项DNF重写为k-CNF公式:

i=1kai(xi)...ai(xn)=i1,...,ik=1na1(xi1)...ak(xik).\bigvee ^k_{i=1}a_i(x_i)\wedge...\wedge a_i(x_n)=\bigwedge ^n_{i_1,...,i_{k}=1}a_1(x_{i_1})\vee...\vee a_k(x_{i_k}).

为了在特定情况下说明这种重写,请观察,例如

(u1u2u3)(v1v2v3)=i,j=13(uivj)(u_1\wedge u_2\wedge u_3)\vee (v_1\wedge v_2\wedge v_3)=\bigvee ^3_{i,j=1}(u_i\vee v_j)

但是,正如我们之前看到的,k 项 DNF 公式不是有效的 PAC 可学习的!什么可以解释这种明显的不一致?观察到通过刚刚描述的转换将 k 项 DNF 写为 k-CNF 公式所需的新变量的数量在 k 中呈指数, O(nk)O(nk) 。差异来自概念表示的大小。 k 项 DNF 公式可以是指数级更紧凑的表示,如果需要该大小的时间复杂度多项式,则有效的 PAC 学习是难以处理的。因此,这个明显的悖论涉及 PAC 学习的关键方面,包括概念表示的成本和假设集的选择。