凸组合与多层感知机的熵数研究
在机器学习领域,准确估计学习机器的泛化性能至关重要。这通常需要对相应假设类的覆盖数或熵数进行良好的估计。本文将深入探讨如何通过功能分析的方法,为凸组合和多层感知机(MLP)的熵数提供界,从而为学习机器的泛化性能提供理论支持。
1. 引言
支持向量机(SV)的泛化性能理论界,依赖于统计学习理论的一般结果以及对其诱导函数类覆盖数的良好估计。通过将函数类定义为权重向量在特征空间中某个球内的限制,我们可以利用算子的熵数来获得这些界。
本文扩展和修改了相关方法,以处理其他类型的学习机器,包括提升算法、线性规划机器和多层径向基函数(RBF)网络等。我们的结果不仅适用于这些算法,还为向量值函数估计问题提供了良好的界。
2. 泛函分析工具
为了提供对覆盖数 (N) 的良好界,我们引入了熵数 (\epsilon_n),它是覆盖数的函数逆,更便于实际分析。
- 熵数的定义 :设 (A = (A, d)) 是一个度量空间,(U_A) 是 (A) 中的单位球。集合 (A \subset A) 关于度量 (d) 的第 (n) 个熵数 (\epsilon_n(A) = \epsilon_n(A, d)) 定义为最小半径 (\epsilon),使得存在 (a_1, \ldots, a_n \in A) 满足 (A \subset \bigcup_{i = 1}^{n} \epsilon U_A + a_i)。
- 算子的熵数 :如果 (A) 和 (B) 是赋范空间,算子 (T : A \to B) 的熵数 (\epsilon_n(T)) 定义为单位球像的熵数,即 (\epsilon_n(T) := \epsilon_n(T(U_A)))。
此外,我们还介绍了一些关于熵数的命题:
- 凸包的熵数 :对于满足 (\epsilon_n(A) \leq c n^{-\frac{1}{p}})((c, p > 0),(n \in N))的预紧子集 (A \subset A),存在常数 (\rho(p)) 使得 (\epsilon_{2n}(co (A)) \leq c\rho(p)n^{-\frac{1}{p}}),其中 (co (A)) 是 (A) 的(对称绝对)凸包。
- 紧集的熵数 :给定 (p) 维巴拿赫空间 (A) 和紧集 (\Gamma \subset A),存在常数 (c(\Gamma, A) > 0) 使得 (\epsilon_n(\Gamma) \leq c(\Gamma, A) vol(\Gamma)^{\frac{1}{p}} n^{-\frac{1}{p}})。
- Maurey 定理的特殊情况 :设 (m \in N),(H) 是希尔伯特空间,(S \in L(H, \ell_m^{\infty})) 是线性算子,则存在常数 (c) 使得 (\epsilon_{2n}(S) \leq c |S| \left(n^{-1} \log \left(1 + \frac{m}{n}\right)\right)^{\frac{1}{2}})。
这些命题将在后续的证明中发挥重要作用。
3. 参数族的凸组合
考虑通过参数族基函数 (F = F_{\Gamma} := {f_{\gamma}|f_{\gamma} : X \to R, \gamma \in \Gamma}) 的绝对凸组合得到的函数类 (co_{\Lambda} F):
[co_{\Lambda} F := \left{f \mid f = \sum_{i} \alpha_i f_{\gamma_i}, \alpha_i \in R^d, \sum_{i} |\alpha_i|_{\ell_d^1} \leq \Lambda, \gamma_i \in \Gamma\right}]
对于参数化 (\gamma) 上 Lipschitz 连续且索引集 (\Gamma) 为紧有限维的函数 (f_{\gamma}),我们有以下命题:
- (L^{\infty}(\ell_d^1)) 空间中的凸组合 :设 (\Gamma \subset X) 是紧 (p) 维索引集,(F_{\Gamma}) 是相应的参数族,满足 (|f_{\gamma}(x)| \leq 1) 对于所有 (x \in X) 和 (f_{\gamma} \in F_{\Gamma})。存在正的 Lipschitz 常数 (c_L(\Gamma, X)) 使得 (\epsilon_{2n}(co_{\Lambda} F, L^{\infty}(\ell_d^1)) \leq c(\Gamma, p, X) c_L(\Gamma, X) \Lambda n^{-\frac{1}{pd}})。
- (\ell_m^{\infty}(\ell_d^1)) 空间中的凸组合 :通过引入评估算子 (S_X : L^{\infty}(\ell_d^1) \to \ell_m^{\infty}(\ell_d^1)),我们可以得到 (co_{\Lambda} F) 在任意 (m) 样本 (X = (x_1, \ldots, x_m) \subset X) 上的熵数界:
[e_n = \epsilon_{2n}(S_X co_{\Lambda} F, \ell_m^{\infty}(\ell_d^1)) \leq \Lambda \tilde{c}(\Gamma, p, X) c_L(\Gamma, X) \inf_{n_1, n_2 \in N, n_1 + n_2 \leq n} \left(n_1^{-1} \log \left(1 + \frac{md}{n_1}\right)\right)^{\frac{1}{2}} n_2^{-\frac{1}{pd}}]
通过设置 (n_1 = n_2 = \lfloor n/2 \rfloor),我们可以得到 (e_n = O(n^{-\frac{1}{2} - \frac{1}{pd}}))。忽略 (\log(m)) 项,我们可以得到 (\log \sup_{X \in X^m} N(\epsilon, (co_{\Lambda} F)(X), \ell_m^{\infty}(\ell_d^1)) = O(\epsilon^{-\frac{2pd}{pd + 2}}))。
4. 核的凸组合
对于核的凸组合,我们可以得到更好的熵数界。具体来说,我们考虑 (F = {x \mapsto k(x, x_1)|x_1 \in X}) 的情况。
- 特征空间 :我们使用广义核的定义,只要求 (k : X \times X \to R) 是有界对称函数。假设 (k) 可以展开为相应对称积分算子的特征系统 ((\lambda_i, \psi_i(x))):
[Tf(x) := \int_X k(x, y) f(y) dy]
[k(x, y) = \sum_{i} \lambda_i \psi_i(x) \psi_i(y)]
我们要求 (k) 诱导一个迹类算子,即 (\sum_{i} |\lambda_i|) 有限,并且存在常数 (C_k) 使得 (\sup_{i \in N} \sup_{x \in X} |\psi_i(x)| \leq C_k)。
在处理核的凸组合时,我们可以将 (co_{\Lambda} F) 中的元素表示为特征空间中的点积:
[f(x) = \sum_{i = 1}^{m} \alpha_i k(x_i, x) = \sum_{i = 1}^{m} \alpha_i \sum_{j} \lambda_j \psi_j(x_i) \psi_j(x) = ((w_1, \Phi(x)), \ldots, (w_d, \Phi(x)))]
其中 (\Phi(x) := (\sqrt{|\lambda_1|} \psi_1(x), \sqrt{|\lambda_2|} \psi_2(x), \ldots)),(w_j := (\sqrt{|\lambda_1|} \text{sgn}(\lambda_1) \sum_{i = 1}^{m} \alpha_{ij} \psi_1(x_i), \sqrt{|\lambda_2|} \text{sgn}(\lambda_2) \sum_{i = 1}^{m} \alpha_{ij} \psi_2(x_i), \ldots))。
- 缩放和评估算子 :为了方便起见,我们使用超椭球 (E) 代替平行六面体 (B)。我们构造一个算子 (A : \ell_2 \to \ell_2) 使得 (AU_{\ell_2} =: E \supseteq \Phi(X)),即 (A: (x_j) j \mapsto (R_A \cdot a_j \cdot x_j)_j),其中 (R_A := C_k |(\sqrt{|\lambda_j|}/a_j)_j| {\ell_2})。
由于 (f(x) \in R^d),我们需要对每个输出维度分别应用缩放算子 (A),即 (A_d : \ell_2(\ell_d^2) \to \ell_2(\ell_d^2)),其中 (A_d := A \times A \times \cdots \times A)((d) 次)。
我们定义评估算子 (S_{\Phi(X)}: \ell_2(\ell_d^2) \to \ell_m^{\infty}(\ell_d^1)):
[S_{\Phi(X)}: (w_1, \ldots, w_d) \mapsto \begin{pmatrix}
((\Phi(x_1), w_1), \ldots, (\Phi(x_1), w_d)) \
\vdots \
((\Phi(x_m), w_1), \ldots, (\Phi(x_m), w_d))
\end{pmatrix}]
- 熵数界 :我们得到以下定理:
[
\epsilon_n(co_{\Lambda} F) \leq c \Lambda |A_d|^2 \log^{-\frac{1}{2}}(n) \log^{\frac{1}{2}}\left(1 + \frac{dm}{\log n}\right)
]
[
\epsilon_n(co_{\Lambda} F) \leq \Lambda \epsilon_n(A_d^2)
]
[
\epsilon_{nt}(co_{\Lambda} F) \leq c \Lambda \log^{-\frac{1}{2}}(n) \log^{\frac{1}{2}}\left(1 + \frac{dm}{\log n}\right) \epsilon_t(A_d^2)
]
其中 (c) 是一个常数。
为了进一步界定 (A_d) 的熵数,我们使用了一个相关结果:
[
\epsilon_n(A_d: \ell_2(\ell_d^2) \to \ell_2(\ell_d^2)) \leq \inf_{(a_s) s: \left(\frac{\sqrt{\lambda_s}}{a_s}\right)_s \in \ell_2} \sup {j \in N} 6C_k \sqrt{d} \left|\left(\frac{\sqrt{\lambda_s}}{a_s}\right) s\right| {\ell_2} n^{-\frac{1}{j \cdot d}} (a_1 a_2 \cdots a_j)^{\frac{1}{j}}
]
- 核函数的应用 :对于一些特殊的核,我们可以得到具体的熵数界。例如,对于对称核 (k) 具有特征值 (|\lambda_j| = O(j^{-(\alpha + \frac{1}{2})})) 且 (\alpha > 0),我们有 (\epsilon_n(A_d^2: \ell_2(\ell_d^2) \to \ell_2(\ell_d^2)) = O(\ln^{-\alpha} n))。
对于平移不变核 (k(x, x’) = k(x - x’)) 在 (R^d \times R^d) 中,其傅里叶变换满足 (\ln |F k | \leq O(|\omega|^p)) 且 (p > 0),我们有 (\ln \epsilon_n^{-1}(A_d^2: \ell_2(\ell_d^2) \to \ell_2(\ell_d^2)) = O(\ln^{\frac{p}{p + d}} n))。
这些结果表明,线性规划机器进行的正则化与支持向量机的正则化有很大不同。对于一些核(如高斯 RBF 核),我们可以得到比任意核更好的覆盖数界。
以下是核的凸组合相关步骤的 mermaid 流程图:
graph LR
A[定义广义核 k] --> B[展开 k 为特征系统]
B --> C[构造特征空间表示]
C --> D[定义缩放算子 A]
D --> E[定义评估算子 S_Φ(X)]
E --> F[推导熵数界]
F --> G[应用于特殊核]
5. 多层网络
许多实际的函数表示方法,如多层感知机和 RBF 网络,不能用单个线性算子表示。然而,这些方法可以看作是线性算子的(非线性)串联。
-
多层网络的结构 :多层网络的每一层将固定输入映射到一组输出。第 (i) 层的输出 (O_i) 可以看作是由一组算子 (S_i) 生成的,其中 (S_i := \bigcup_{X \in O_{i - 1}} S_{\Phi(X)})((i > 1)),(S_1 := {S_{\Phi(X)}}),(X) 是实际训练数据。
-
算子类的熵数 :对于具有 Lipschitz 常数 (l_k) 的核 (k(x, x’)),我们有以下命题:
- 对于 (W_{\Lambda} := {(w_1, \ldots, w_{d_o}) \mid w_j = \sum_{j} \alpha_{ij} \Phi(x_i), \alpha_{ij} \in R, \sum_{i, j} |\alpha_{ij}| \leq \Lambda}),我们有 (\epsilon_n(SW_{\Lambda}) \leq \Lambda l_k \epsilon_n(X))。
-
对于 (W_{\Lambda} := {(w_1, \ldots, w_{d_o}) \mid \sum_{i = 1}^{d_o} |w_i|^2 \leq \Lambda}),我们有 (\epsilon_n(S) \leq \sqrt{2\Lambda} l_k \epsilon_n(X))。
-
多层感知机的熵数 :对于 (l) 层网络 MLP,我们有:
[
\epsilon_n(MLP) \leq \sum_{i = 1}^{l} \epsilon_{n_i}(F) l_k^{l - i} \prod_{j = i}^{l} \Lambda_j
]
其中 (n \geq \prod_{i = 1}^{l} n_i)。
对于由平移不变核构建的多层感知机,其傅里叶变换满足 (\ln |F k | = O(|\omega|^p)) 且 (p > 0),我们有 (\ln \epsilon_n^{-1}(MLP: \ell_m^{\infty}(\ell_{d’}^2) \to \ell_m^{\infty}(\ell_d^2)) = O(\ln^{\frac{p}{p + d}} n))。
这表明,使用平滑核构建的多层感知机的覆盖数的渐近增长率与单隐藏层网络相同,从统计收敛速度的角度来看,多层感知机的函数类并不比单隐藏层网络更复杂。
以下是多层网络相关步骤的 mermaid 流程图:
graph LR
A[定义多层网络结构] --> B[确定每层输出 O_i]
B --> C[定义算子类 S_i]
C --> D[计算算子类的熵数]
D --> E[推导多层感知机的熵数]
E --> F[应用于平移不变核]
综上所述,我们通过泛函分析的方法,为凸组合和多层感知机的熵数提供了界。这些结果不仅有助于理解学习机器的泛化性能,还为实际应用中的算法设计提供了理论支持。在未来的研究中,我们可以进一步探索如何更精确地估计熵数的常数,以及如何将这些结果应用于更多类型的学习机器。
凸组合与多层感知机的熵数研究
6. 讨论
线性规划机器所进行的正则化与支持向量机的正则化存在显著差异。通过充分利用核的特定性质,我们能够获得比忽略核效应时更好的覆盖数界。具体而言,对于某些核(例如高斯径向基函数核),可以得到比任意核指数级更好的速率(如命题中所示的对数形式)。
下面通过表格对比线性规划机器和支持向量机在不同核情况下的覆盖数界:
| 机器类型 | 核类型 | 覆盖数界特点 |
| ---- | ---- | ---- |
| 线性规划机器 | 高斯 RBF 核 | 可获得比任意核更好的覆盖数界,如 (\ln \epsilon_n^{-1}(A_d^2)) 形式 |
| 线性规划机器 | 任意核 | 如命题 21.10 中的界 |
| 支持向量机 | - | 需界定 (\epsilon_n(A_d)) |
需要注意的是,线性规划机器较慢的覆盖数增长率并不意味着其性能一定优于或劣于支持向量机,这仅仅表明两者有效类的“大小”不同,进而导致通过一致收敛定理得到的泛化误差界有所差异。
在实际的学习算法中,除了速率,对常数的良好估计也至关重要。虽然我们已经给出了熵数的界,但更精确地计算这些界中的常数,对于算法的性能评估和优化具有重要意义。
7. 附录:传统权重衰减的说明
人们可能会猜想,对于 (q > 1) 的 (q -) 凸组合,能得到与普通凸包类似的结果。例如,定义 (F_q) 为:
[F_q := \left{f \mid f = \sum_{j} \alpha_j f_{\gamma_j}, \sum_{j} |\alpha_j|^q \leq 1\right}]
在训练带有权重衰减((q = 2))的大型神经网络时,就属于这种情况。然而,在假设存在无限个基函数的情况下,这个猜想是不成立的。
考虑一个无限索引集 (I \subset \Gamma),对于某个非零测度的集合 (M) 和常数 (\kappa > 0),有 (f_{\gamma}(x) \geq \kappa) 对于所有 (f_{\gamma} \in I),(x \in M)。例如,(f_{\gamma}(x) = e^{-(x - \gamma)^2}),任何紧集 (I) 和 (M) 都满足该条件。
显然,对于 (\alpha_j \geq 0),(\gamma_j \in I),(x \in M),有 (f(x) := \sum_{j} \alpha_j f_{\gamma_j}(x) \geq \kappa \sum_{j} \alpha_j)。
设 (\hat{f} n := \sum {j = 1}^{n} n^{-\frac{1}{q}} f_{\gamma_i}),通过构造可知,系数的 (\ell_n^q) 范数等于 1,但 (\hat{f} n(x) \geq \kappa n^{1 - \frac{1}{q}}) 对于所有 (x \in M)。因此,(\lim {n \to \infty} |\hat{f} n| {L^{\infty}} = \infty),这意味着 (F_q) 包含无界元素,从而导致 (F_q) 的覆盖数为无穷大。所以,在没有进一步正则化的情况下,(q > 1) 的 (F_q) 不是一个合适的假设类。
那么,为什么在实际应用中权重衰减仍然有效呢?主要有以下两个原因:
- 基函数数量限制 :在标准神经网络设置中,基函数的数量通常是有限的(通过构造、惩罚项等方式),因此上述无界情况可能不会出现。
- 基函数差异 :例如在径向基函数网络中,在训练最终权重之前会进行聚类步骤以找到中心,这使得基函数之间有足够的差异,避免了上述反例中利用的基函数相似性问题。
然而,在某些情况下,这种推理可能会出现问题。例如,当尝试修改提升算法,使其使用 (p > 1) 的 (p -) 凸组合时,随着迭代次数的增加,基函数(即弱学习器)的数量不断增加,可能会出现上述无界情况。
以下是关于传统权重衰减问题的 mermaid 流程图:
graph LR
A[猜想 q - 凸组合结果] --> B[假设无限基函数]
B --> C[找到满足条件的索引集 I 和集合 M]
C --> D[构造函数序列 \(\hat{f}_n\)]
D --> E[证明 \(\hat{f}_n\) 无界]
E --> F[得出 \(F_q\) 不适合作为假设类]
F --> G[分析权重衰减实际有效的原因]
G --> H[指出可能出现问题的情况]
8. 附录:证明
- 命题 21.7 的证明 :
假设我们有 (V) 的一个 (\epsilon_{n_1}, n_1) 覆盖,即存在 (a_1, \ldots, a_{n_1} \in A) 使得 (V \subseteq \bigcup_{i = 1}^{n_1} {\epsilon_{n_1} U_A + a_i})。
由于 (S) 是线性算子,那么 (S(V) \subseteq \bigcup_{i = 1}^{n_1} {\epsilon_{n_1} S(U_A) + S(a_i)})。
接着,构造 (S(U_A)) 的一个 (\epsilon_{n_2}, n_2) 覆盖,即存在 (b_1, \ldots, b_{n_2} \in B),则 (S(V)) 有一个 (\epsilon_{n_1} \epsilon_{n_2}, n_1 n_2) 覆盖,即 (S(V) \subseteq \bigcup_{i = 1}^{n_1} \bigcup_{j = 1}^{n_2} {\epsilon_{n_1} \epsilon_{n_2} b_j + S(a_i)}),证明完毕。 - 命题 21.8 的证明 :
通过显式构造 (\epsilon_{n \cdot n’}(SW)) 覆盖来进行证明。设 (S_{\epsilon} = {S_1, \ldots, S_n} \subset S) 是 (S) 关于由 (W) 诱导的范数的一个 (\epsilon) 覆盖,(Y_{\epsilon’}(S_i) := {y_{i1}, \ldots, y_{in’}}) 是 (S_i W) 的一个 (\epsilon’) 覆盖。
对于任意 (y = Sw \in SW),存在算子 (S_i) 使得对于所有 (w’ \in W),(|Sw’ - S_i w’| \leq \epsilon),特别地,(|y - S_i w| \leq \epsilon)。又因为存在 (y_{ij} \in Y_{\epsilon’}(S_i)) 使得 (|y_{ij} - S_i w| \leq \epsilon’),所以 (|y - y_{ij}| \leq \epsilon + \epsilon’)。
由于 (\epsilon’ = \sup_{S \in S} \epsilon_{n’}(S)),所以这样的覆盖总是存在的。 - 命题 21.9 的证明 :
首先,计算 (\epsilon_n(F_{\Gamma})) 关于 (\Gamma) 的熵数的上界。根据定义,(|f_{\gamma} - f_{\gamma’}| \leq c_L(\Gamma, X) d(\gamma, \gamma’)),所以 (\epsilon_n(F_{\Gamma}) \leq c_L(\Gamma, X) \epsilon_n(\Gamma))。
考虑 (d) 维的绝对凸组合,定义基假设类 (B) 为:
[B = \left(\left(F_{\Gamma}, 0, \ldots, 0\right) \cup \cdots \cup \left(0, \ldots, 0, F_{\Gamma}\right)\right)]
如果 (F_{\Gamma}) 由 (p) 维索引,那么 (B) 由 (pd) 维索引。根据命题 21.3,(\epsilon_n(B) \leq c(\Gamma, X) vol(\Gamma)^{\frac{1}{p}} c_L(\Gamma, X) n^{-\frac{1}{pd}})。
再应用命题 21.2,可得 (\epsilon_{2n}(co_{\Lambda} F) \leq \Lambda \rho(p) c(\Gamma, X) vol(\Gamma)^{\frac{1}{p}} c_L(\Gamma, X) n^{-\frac{1}{pd}})。
将常数合并为 (c(\Gamma, p, X)),即得到所需结果。 - 定理 21.11 的证明 :
通过以下图示的推理来界定 (\epsilon_n(F_{\Lambda})):
[
\begin{array}{ccccccc}
U_{\ell_2(\ell_d^2)} \subset \ell_2(\ell_d^2) & \xrightarrow{T} & \ell_m^{\infty}(\ell_d^1) \
\Lambda \downarrow & & \
\Lambda U_{\ell_2} \subset \ell_2(\ell_d^2) & \xrightarrow{A_d} & \Lambda A_d U_{\ell_2(\ell_d^2)} \subset \ell_2(\ell_d^2) & \xrightarrow{S_{\Phi(X)}} & \ell_m^{\infty}(\ell_d^1) \
& & \xrightarrow{A_d} & \Lambda A_d^2 U_{\ell_2} \subset \ell_2(\ell_d^2) & \xrightarrow{S_{A^{-1} \Phi(X)}} & \ell_m^{\infty}(\ell_d^1)
\end{array}
]
为了界定假设类在 (m -) 样本测试集 (X) 上的 (\ell_m^{\infty}(\ell_d^1)) 熵数,需要界定 (\epsilon_n(S_{\Phi(X)}(\Lambda A_d U_{\ell_2(\ell_d^2)})))。
因为 (S_{\Phi(X)}(\Lambda A_d U_{\ell_2(\ell_d^2)}) = S_{A^{-1} \Phi(X)}(\Lambda A_d A_d U_{\ell_2})),利用命题 21.6 可得:
(\epsilon_n(S_{\Phi(X)}(\Lambda A_d U_{\ell_2(\ell_d^2)})) \leq \Lambda \epsilon_n(S_{A^{-1} \Phi(X)} A_d^2) \leq \inf_{n_1, n_2 \in N, n_1 n_2 \leq n} \epsilon_{n_1}(S_{A^{-1} \Phi(X)}) \epsilon_{n_2}(A_d^2))。
结合上述分解性质和命题 21.6,由于 (|S_{A^{-1} \Phi(X)}| = 1),且 (S_{A^{-1} \Phi(X)}) 是从希尔伯特空间 (\ell_2) 到 (\ell_m^{\infty}) 的算子,可使用 Maurey 定理(命题 21.4),从而得到所需结果。
综上所述,我们对凸组合和多层感知机的熵数进行了全面的研究,从理论推导到实际应用和证明,为理解和优化学习机器的泛化性能提供了重要的理论基础和方法。在未来的研究中,可以进一步探索如何将这些理论结果应用到更复杂的学习场景中,以及如何通过实验验证和改进这些结果。
超级会员免费看
16

被折叠的 条评论
为什么被折叠?



