[机器学习] 4. 没有免费午餐定理 No Free Lunch 与 PAC 可学习性

这篇具有很好参考价值的文章主要介绍了[机器学习] 4. 没有免费午餐定理 No Free Lunch 与 PAC 可学习性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们来补习一下统计学习框架的正式模型。

  • 输入 一个学习者可以访问以下内容

    • 作用域集合 (Domain set):一个任意的集合 \(\mathcal X\),学习者的目标是对其上面的元素进行标记。
    • 标签集合 (Label set):所有可能的标签 \(\mathcal Y\)。许多时候被限制为 \(\{0, 1\}\)\(\{-1, 1\}\),因为有限标签的问题可以通过多层二标签解决。
    • 训练数据 (Training data):或称训练集 (Training set)。\(S = ((x_1, y_1), \ldots, (x_m, y_m))\) 是一个取自 \(\mathcal X \times \mathcal Y\) 的有限序列,即一些带标签的元素。
  • 输出 学习者需要输出一个函数 \(h: \mathcal X \to \mathcal Y\),称其为 predictor, hypothesis 或者 classifier,作为对所有 \(\mathcal X\) 中标签的预测。用 \(A(S)\) 表示一个学习算法 \(A\) 接收了训练集 \(S\) 后得到的函数,不引起歧义的情况下也可直接记作 \(h_S\)

  • 训练数据的生成 一条训练数据的生成基于一个 \(\mathcal X\) 上的概率分布 \(\mathcal D\)\(\mathcal D\) 是学习者无法得知的。对于标签,我们目前假设存在一个正确的标记函数 \(f\),使得 \(y_i = f(x_i)\) 被认为是 \(x_i\) 正确的标签。\(f\) 是学习者无法得知的(因为我们的目标就是拟合 \(f\))。

  • 成功度的衡量 定义一个 classifier 的误差 (error) 为其预测 \(\mathcal X\) 上标签的基于分布 \(\mathcal D\) 的错误率。形式化地,定义损失函数 \(\pi:\mathcal X \to \{0, 1\}\)\(\pi = [h(x) \neq f(x)]\),令 \(A = \{\pi(x) = 1 \mid x \in \mathcal X\}\),假设其是一个可测集合,则 \(A\)\(\mathcal D\) 上的测度 \(\mathcal D(A)\) 为 classifier \(h\)\((\mathcal D, f)\) 下的其误差。记作

    \[L_{\mathcal D, f}(h) := \mathbb P_{x \sim \mathcal D} [h(x) \neq f(x)] := \mathcal D(\{h(x) \neq f(x) \mid x \in \mathcal X\}) \]

    这样的误差称作泛化误差真实误差 (generalization error, true error or risk)。记号 \(L\) 总是代表损失 (loss)。

  • 学习者不知道 \(\mathcal D, f\),因此也不会知道 \(L_{\mathcal D, f}(h)\),不过它可以计算出自己在训练集上的误差,称其为训练误差经验误差 (training error, empirical error or empirical risk)。记作

    \[L_S(h) := \frac 1m |\{h(x_i) \neq y_i \mid i \in [m]\}| \]

    其中 \(S = ((x_1, y_1), \ldots, (x_m, y_m))\)\([m] = \{1, 2, \ldots, m\}\)

泛化理论的研究点就在于,如果 empirical error \(L_S\) 很小,我们可以获得什么关于 true error \(L_{\mathcal D}\) 的结论。

显然,对任何误差的讨论都依赖于对 \(S\) 的选取方式,即 \(\mathcal D\)\(S\) 的关系。一个常用的假设是每次都基于分布 \(\mathcal D\) 随机选取一个元素与其对应标签放入 \(S\) 中。这可能会导致 \(S\) 中有重复的元素,但这并不会造成太大的影响(如果有要求,每次多采几次样直到获得一个新的就行),并且让这个过程变得简洁。形式化地,

  • 独立同分布假设 每一个训练集中的数据都是独立且基于同一个分布 \(\mathcal D\) 地采出的。记作

    \[S \sim \mathcal D^m \]

    也就是说,\(S\) 不仅仅描述了元素和标签的对应,也描述了元素的分布。

如果我们相信训练集是全体数据的一个快照,即 \(L_S, L_{\mathcal D}\) 强相关,那么一个合理的想法是尽可能地减小训练集上的损失。这种最小化 \(L_S\) 的策略称为经验风险最小化 (ERM, Empirical Risk Minimization)。

在一般意义下,这个策略是有可能失效的。这种在训练集上表现良好,但是在真实情况下表现糟糕的现象称为过拟合 (overfitting)。直观地说,过拟合出现于函数过度适配于训练集的情形。

不过,与其放弃 ERM 策略,我们更倾向于寻找不会导致过拟合的条件。一个合理的策略是限制函数空间。即,在看到测试集之前就对函数的形态进行一定限制。这个空间称为假设类 (hypothesis class),记作 \(\mathcal H\)。形式化地,

\[\mathrm{ERM}_{\mathcal H}(S) \in \mathrm{argmin}_{h \in \mathcal H} L_S(h) \]

泛化理论一个基本的问题便是,应该如何选择假设类,使得过拟合的情况不会出现。即探寻该如何精心挑选 \(\mathcal H\),使得 ERM 策略生效。

这种对假设类的限制被称为归纳偏置 (inductive bias)。归纳是指由于学习者是在看到测试集之前就进行限制,这种限制必定基于某种先验的对问题规律的归纳;偏置指的是某种特定的偏好。直观地说,限制越多,过拟合的情况就更难出现,但会导致更多的偏置,因此需要对两者进行平衡。形式化地

\[L_{\mathcal D}(h_S)=\epsilon_{\text{app}}+\epsilon_{\text{est}} \]

其中

\[\epsilon_{\text{app}}:= \min_{h \in \mathcal H}L_{\mathcal D}(h),\ \epsilon_{\text{est}} := L_D(h_S) - \epsilon_{\text{app}} \]

\(\epsilon_{\text{app}}\) 表示近似误差 (Approximation Error),即通用的最好的 hypothesis 的误差。在应用中即所谓模型的限制,比如用线性关系近似非线性关系。

\(\epsilon_{\text{est}}\) 表示估计误差 (Estimation Error),即在测试集上得到的 hypothesis 与假设类中最好的 hypothesis 的误差的差。在应用中,过拟合、欠拟合都会导致估计误差增大。

对泛化能力的把握便是考虑 \(\epsilon_{\text{est}}\)。对 \(\epsilon_{\text{app}}\) 的考虑是另外一件事。

因此,一种假设是,学习者能够得知 \(\epsilon_{\text{app}} = 0\),这样即使学习者不知道 \(\operatorname{argmin}L_{\mathcal D}(h)\),也知道它离达到有多接近。即

定义(可实现性假设)存在 \(h^{\star} \in \mathcal H\) 使得 \(L_{\mathcal D, f}(h^{\star}) = 0\)

也就是说,\(\mathcal H\) 中是有通用的好的 hypothesis 的,并且在采用 ERM 策略时总是有 \(\mathbb P(L_S(h_S) = 0) = 1\),即对几乎所有测试集都能够找到在其之上表现良好的 hypothesis。在许多情况下我们可以直接认作其对所有\(S\) 成立。

我们意识到,并不是所有的 \(S\) 都具有代表性,因此不应该对所有的 \(S\) 生成的 hypothesis 提任何要求,而应该用其达到要求的概率。同样,也不应该对所有 \(\mathcal X\) 的元素提要求,而应该用其预测正确的测度。形式化地,

定义 一个假设类 \(\mathcal H\) 是概率近似正确 (PAC, Probably Approximately Correct) 可学习的,如果存在函数 \(m_{\mathcal H} : (0, 1)^2 \to \mathbb N\) 和一个学习算法满足,对任意 \(\epsilon, \delta \in (0, 1)\)\(\mathcal X\) 上的分布 \(\mathcal D\) 以及标签 \(f: \mathcal X \to \{0, 1\}\),如果 \(\mathcal H, \mathcal D, f\) 满足可实现性假设,则学习算法接收长度为 \(m \geq m_{\mathcal H}(\epsilon, \delta)\) 的训练集可以给出一个假设 \(h\),使得有至少 \(1 - \delta\) 的概率

\[L_{\mathcal D, f}(h) \leq \epsilon \]

我们首先来通过一个著名的定理加深我们的信念。其说明,没有先验知识,就不会有可学习性。

定理 (没有免费午餐定理,No Free Lunch Theorem) 在任务 \(\mathcal X \to \{0, 1\}\) 中,对任何学习算法 \(A\),若训练集 \(S\) 的大小 \(m \leq \frac {|\mathcal X|}2\),则存在分布 \(\mathcal D\) 使得

  • 存在 \(f\) 使得 \(L_{\mathcal D}(f) = 0\)
  • \[P_{S \sim \mathcal D^m}\left(L_{\mathcal D}(A(S)) \geq \frac 18\right) \geq \frac 17 \]

注:原定理的第一条要求是由于其已经阐述过下文提到的更一般化的 \(\mathcal X \times \{0, 1\}\) 上的分布,这个要求等价于存在正确的标记函数 \(f\)

证明

考虑训练集占严格一半的情况,即只使用一个大小为 \(2m\)\(\mathcal X\) 的子集 \(C\) 来说明。由于没有限制,有 \(T = 2^{2m}\) 种函数 \(\{f_1, \ldots, f_T\}\),对于每一个函数定义一个分布 \(\{\mathcal D_1, \ldots, \mathcal D_T\}\),满足

\[\mathcal D_i(\{x, y\}) = \begin{cases}\frac 1{|C|} && y = f_i(x) \\ 0 && \text{otherwise}\end{cases} \]

显然地,\(L_{\mathcal D_i}(f_i) = 0\)。因此这些 \(\mathcal D\) 是符合条件的。我们接下来说明

\[\max_{i \in [T]} \mathbb E_{S \sim \mathcal D_i^m} L_{\mathcal D_i}(A(S)) \geq \frac 14 \]

如果这是对的,简单地用 Markov's Ineq 就可以得到定理结论。

直观地讲,这是显然的。因为我们总是可以随机构造那些不在训练集上的标签。但是由于 \(S\) 是基于 \(\mathcal D_i\) 构造的所以这里并不能直接描述什么是“不在训练集上”。

考虑 \(k=(2m)^{m}\) 种不同的测试集 \(\{S_1, \ldots, S_k\}\),对 \(S_i = (x_1, \ldots, x_m)\)\(S_j^i = ((x_1, f_i(x_1)), \ldots, (x_m, f_i(x_m)))\)

\[\begin{aligned} \max_{i \in [T]}\mathbb E_{S \sim \mathcal D_i^m} L_{\mathcal D_i} (A(S)) &= \max_{i \in [T]}\frac 1k \sum_{j=1}^k L_{\mathcal D_i}(A(S_j^i)) \\ &\geq \frac 1T \sum_{i=1}^T \frac 1k \sum_{j=1}^k L_{\mathcal D_i}(A(S_j^i)) \\ &\geq \min_{j \in [k]} \frac 1T \sum_{i=1}^T L_{\mathcal D_i}(A(S_j^i)) \end{aligned}\]

对固定的 \(j \in [k]\),考虑 \(\{v_1, \ldots, v_p\}\) 是没有出现在 \(S_j\) 中的集合。\(p \geq m\)

\[L_{\mathcal D_i}(h) = \frac 1{2m} \sum_{x \in C} [h(x) \neq f_i(x)] \geq \frac 1{2m}\sum_{r=1}^p [h(v_r) \neq f_i(v_r)] \geq \frac 1{2p} \sum_{r=1}^p [h(v_r) \neq f_i(v_r)] \]
\[\begin{aligned} \frac 1T \sum_{i=1}^T L_{\mathcal D_i}(A(S_j^i)) &\geq \frac 1T \sum_{i=1}^T \frac 1{2p} \sum_{r=1}^p [(A(S_j^i))(v_r) \neq f_i(v_r)] \\ &= \frac 1{2p} \sum_{r=1}^p \frac 1T \sum_{i=1}^T [(A(S_j^i))(v_r) \neq f_i(v_r)] \\ &\geq \frac 12 \min_{r \in [p]} \frac 1T \sum_{i=1}^T [(A(S_j^i))(v_r) \neq f_i(v_r)] \end{aligned}\]

于是我们可以将 \((f_i, f_i')\) 配对,其中两者只在 \(v_r\) 处取值不同,在 \(C\) 的其他地方取值完全相同。所以

\[\frac 1T \sum_{i=1}^T [(A(S_j^i))(v_r) \neq f_i(v_r)] = \frac 12 \]
\[\min_{j \in [k]}\frac 1T \sum_{i=1}^T L_{\mathcal D_i}(A(S_j^i)) \geq \frac 14 \tag*{$\square$} \]

现在的问题是,对满足何种性质的 \(\mathcal H\),才能用 \(m\) 限制

\[\mathcal D^m(\{(S|_x) \mid L_{\mathcal D, f}(h_S) > \epsilon\}) \]

的上界。其中 \(S|_x = (x_1, \ldots, x_m)\) 表示测试集的所有实例。

一个简单的想法是,如果 \(\mathcal H\) 是有限的,那么我们可以对每个 \(h\) 考虑。如果 \(L_{\mathcal D, f}(h) = \theta\),那么采样出的 \(S\)\((1 - \theta)^m\) 的概率避开了这些出错的地方。

\[\mathcal H_B = \{h \in \mathcal H \mid L_{\mathcal D, f}(h) > \epsilon\} \]

表示那些不好的 hypotheses;

\[M = \{(S|_x) \mid \exists h \in \mathcal H_B, L_S(h) = 0\} \]

表示所有可能导致学习者给出不好 hypothesis 的训练集。则

\[M = \bigcup_{h \in \mathcal H_B} \{(S|_x) \mid L_S(h) = 0\} \]
\[\{(S|_x) \mid L_{\mathcal D, f}(h_S) > \epsilon\} \subseteq M \]

因此

\[\mathcal D^m(\{(S|_x) \mid L_{\mathcal D, f}(h_S) > \epsilon\}) \leq \mathcal D^m(M) = \mathcal D^m\left(\bigcup_{h \in \mathcal H_B} \{(S|_x) \mid L_S(h) = 0\}\right) \]

而根据测度论中的一个引理

引理 (Union Bound) $$\mathcal D\left(\bigcup_{i=1}^{+\infty} A_i\right) \leq \sum_{i=1}^{+\infty}\mathcal D(A_i)$$

可知

\[\begin{aligned} \mathcal D^m(\{(S|_x) \mid L_{\mathcal D, f}(h_S) > \epsilon\}) &\leq \sum_{h \in \mathcal H_B}\mathcal D^m\left(\{(S|_x) \mid L_S(h) = 0\}\right) \\ &= \sum_{h \in \mathcal H_B}\prod_{i=1}^m \mathcal D\left(x_i \mid h(x_i) = f(x_i)\right) \\ &= \sum_{h \in \mathcal H_B}(1 - L_{\mathcal D, f}(h))^m \\ &\leq \sum_{h \in \mathcal H_B}(1 - \epsilon)^m \\ &\leq |\mathcal H_B|e^{-\epsilon m} \\ &\leq |\mathcal H|e^{-\epsilon m} \end{aligned}\]

因此得到

推论 任意有限假设类 \(\mathcal H\) 是 PAC 可学习的,且

\[m(\epsilon, \delta) \leq \left\lceil\frac{\ln\left(\frac {|\mathcal H|}\delta\right)}{\epsilon}\right\rceil \]

对于一般的问题,我们并不能保证可实现性假设。因为我们并不一定能够给出精确的范畴,使得每个元素的标签唯一且被明确。形式化地,我们将 \(\mathcal X\) 上的概率分布 \(\mathcal D\)\(f:\mathcal X \to \mathcal Y\) 改为 \(\mathcal X \times \mathcal Y\) 上的分布 \(\mathcal D\),而 \(\mathcal Y\) 通常是 \(\{0, 1\}\) 这一点不变。这个联合分布分为两部分,边缘分布 \(\mathcal D_x\) 以及条件概率 \(\mathcal D((x, y) | x)\)。重新定义真实误差

\[L_{\mathcal D}(h) := \mathbb P_{(x, y) \sim \mathcal D} [h(x) \neq y] := \mathcal D(\{(x, y) \mid h(x) \neq y\}) \]

经验误差的定义不变。因为其不涉及到 \(\mathcal D\)

对任何 \(\mathcal X \times \{0, 1\}\) 上的分布 \(\mathcal D\),最优的函数将为

\[f_{\mathcal D}(x) = \begin{cases} 1 & \mathbb P[y = 1 | x] \geq \frac 12 \\ 0 & \text{otherwise} \end{cases} \]

称其为 Bayes 最优分类器。可知对一个一般的 \(\mathcal D\) 来说,\(L_{\mathcal D}(f) \neq 0\),因此其是不可实现的,因此在其之上 PAC 的定义会失效。

定义 一个假设类 \(\mathcal H\)不可知 PAC 可学习的,如果存在函数 \(m_{\mathcal H} : (0, 1)^2 \to \mathbb N\) 和一个学习算法满足,对任意 \(\epsilon, \delta \in (0, 1)\)\(\mathcal X \times \{0, 1\}\) 上的分布 \(\mathcal D\),学习算法接收长度为 \(m \geq m_{\mathcal H}(\epsilon, \delta)\) 的训练集可以给出一个假设 \(h\),使得有至少 \(1 - \delta\) 的概率

\[L_{\mathcal D, f}(h) \leq \min_{h' \in \mathcal H} L_{\mathcal D}(h') + \epsilon \]

这个定义和 PAC 不同之处在于这里不可知 \(\epsilon_{\text{app}}\) 的情况,只要求了 \(\epsilon_{\text{est}} \leq \epsilon\)

对于更一般的情况,损失函数并不一定定义在 \(\mathcal X \times \mathcal Y\) 上(比如无监督学习),我们只是使用一个 \(\mathcal Z\) 来描述一个作用域(即之前都是 \(\mathcal Z = \mathcal X \times \mathcal Y\) 的特殊情况),并在 \(\mathcal H \times \mathcal Z\) 上定义损失函数 \(l:\mathcal H \times \mathcal Z \to \mathbb R^+\)。真实误差为

\[L_{\mathcal D}(h) := \mathbb E_{z \sim \mathcal D} [l(h, z)] \]

经验误差为

\[L_S(h) := \frac 1m \sum_{i=1}^m l(h, z_i) \]

对 0-1 loss,有

\[\begin{array}{ccc} l:\mathcal H \times (\mathcal X \times \mathcal Y) &\to& \mathbb R^+ \\ l(h, (x, y)) &\mapsto& [h(x) \neq y] \end{array}\]

对回归问题的 square loss,有

\[\begin{array}{ccc} l:\mathcal H \times (\mathcal X \times \mathcal Y) &\to& \mathbb R^+ \\ l(h, (x, y)) &\mapsto & (h(x) - y)^2 \end{array}\]

定义 一个假设类 \(\mathcal H\) 是在 \(\mathcal Z, l:\mathcal H \times \mathcal Z \to \mathbb R^+\)不可知 PAC 可学习的,如果存在函数 \(m_{\mathcal H} : (0, 1)^2 \to \mathbb N\) 和一个学习算法满足,对任意 \(\epsilon, \delta \in (0, 1)\)\(\mathcal Z\) 上的分布 \(\mathcal D\),学习算法接收长度为 \(m \geq m_{\mathcal H}(\epsilon, \delta)\) 的训练集可以给出一个假设 \(h\),使得有至少 \(1 - \delta\) 的概率

\[L_{\mathcal D, f}(h) \leq \min_{h' \in \mathcal H} L_D(h') + \epsilon \]

其中 \(L_{\mathcal D}(h) = \mathbb E_{z\sim \mathcal D}[l(h, z)]\)文章来源地址https://www.toymoban.com/news/detail-711469.html

到了这里,关于[机器学习] 4. 没有免费午餐定理 No Free Lunch 与 PAC 可学习性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习笔记 - 使用CLIP在没有数据的情况下创建图像分类器

            想象一下,如果我们现在需要对人们是否戴眼镜进行分类,但您没有数据或资源来训练自定义模型。该怎么办?这里我们了解如何使用预先训练的 CLIP 模型来创建自定义分类器,而无需任何培训。这种方法称为 零样本 图像分类,它可以对原始 CLIP 模型训练期间未

    2024年02月14日
    浏览(33)
  • 【AI人工智能】Phind:免费面向开发者的生成式 AI 搜索引擎 | FREE Generative AI search engine for developers

    Phind 通过简单的解释和来自网络的相关代码片段来回答技术问题。  与ChatGPT和new Bing一样,Phind由大语言模型(Large Language Model (LLM))驱动。体验后,个人感觉在技术方面的检索能力和质量上Phind 比 new Bing 和 ChatGPT 的体验要好得多。 Phind也支持非开发人员相关问题回答,响应

    2023年04月19日
    浏览(53)
  • 数论——中国剩余定理、扩展中国剩余定理 学习笔记

    中国剩余定理(Chinese Remainder Theorem,CRT) 求解如下形式的一元线性同余方程组(其中 (m) 两两互质): $left{begin{matrix}x equiv a_1 pmod {m_1} \\\\x equiv a_2 pmod {m_2} \\\\ dots \\\\x equiv a_k pmod {m_k}end{matrix}right.$ 计算所有模数的积 (M = prod m_i) ; 对于第 (i) 个方程: 计算: (M_i

    2024年02月08日
    浏览(37)
  • 数论——欧拉函数、欧拉定理、费马小定理 学习笔记

    定义 欧拉函数(Euler\\\'s totient function),记为 (varphi(n)) ,表示 (1 sim n) 中与 (n) 互质的数的个数。 也可以表示为: (varphi(n) = sumlimits_{i = 1}^n [gcd(i, n) = 1]) . 例如: (varphi(1) = 1) ,即 (gcd(1, 1) = 1) ; (varphi(2) = 1) ,即 (gcd(1, 2) = 1) ; (varphi(3) = 2) ,即 (gcd(1, 3

    2024年02月08日
    浏览(41)
  • 「学习笔记」(扩展)中国剩余定理

    有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何? 该问题出自《孙子算经》,具体问题的解答口诀由明朝数学家程大位在《算法统宗》中给出: 三人同行七十希,五树梅花廿一支,七子团圆正半月,除百零五便得知。 (2 times 70 + 3 times 21 + 2 times

    2024年02月06日
    浏览(32)
  • 中国剩余定理(CRT)学习笔记

    (Aperp B) 表示 (gcd(A,B)=1) 。 (Amid B) 表示 (Bequiv 0pmod{A}(Aneq0)) 。 考虑以下这道题: 有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。 問物幾何?—— 《孫子算經》 也就是说,求出下列关于 (x) 方程组的最小整数解: [begin{cases}xequiv2pmod{3}\\\\xequiv3pmo

    2024年02月01日
    浏览(54)
  • 【深度学习】拉格朗日( Lagrange)中值定理

    如果函数 f(x) 满足: 在闭区间[a,b]上连续; 在开区间(a,b)内可导。 那么在(a,b)内至少有一点ξ(aξb),使等式 : f(b)-f(a)=f′(ξ)(b-a) 成立,或: f′(ξ) =(f(b)-f(a)) / (b-a) 或存在0θ1,使: f(b)-f(a) = f′(a+θ(b-a)) (b-a) 成立。 f(b)-f(a)=f′(ξ)(b-a) 也称为拉格朗日中值公式,后面两个式子是

    2024年02月05日
    浏览(39)
  • Linux学习之内存查看命令free和top

    我用来演示的系统使用 CentOS Linux release 7.6.1810 (Core) ,内核版本是 3.10.0-957.el7.x86_64 。 Linux在进程申请内存的时候,一般都是尽可能给进程内存,因为进程在申请内存的时候有损耗。 free 命令可以看以 k 为单位的内存。 free -m 以 MB 为单位显示内存。 可以看得出 free = total - us

    2024年02月12日
    浏览(46)
  • 有没有免费版的配音软件?

    先不要着急去买付费的配音软件。 (我就被忽悠过,买了付费配音软件后,实际没用几次) 当你明确的知道,剪映配音的不足时,再考虑选付费的配音软件。 img src=\\\"https://picx.zhimg.com/50/v2-95aba0d9f80af68ad0cb25c5afbee450_720w.jpg?source=1940ef5c\\\" data-caption=\\\"\\\" data-size=\\\"small\\\" data-rawwidth=\\\"821\\\"

    2024年02月07日
    浏览(49)
  • 数论——卢卡斯定理、求组合数 学习笔记

    温馨提示:组合数一般较大,下面的示范代码均无视数据范围,如果爆 int 请自行开 long long 或高精度处理。 从 (n) 个不同元素中,任取 (m) 个元素组成一个集合,叫做从 (n) 个不同元素中取出 (m) 个元素的一个组合;从 (n) 个不同元素中取出 (m leq n) 个元素的所有组合

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包