想象你是一家餐厅的老板,为了把关新菜品,请了五位资深美食评论家组成“评鉴团”。最省事的做法是取五个人的平均分,可你很快发现:有人对川菜火候极准,有人对甜品更敏感,还有人总爱打中庸分。一刀切的平均,浪费了每位评委的特长。更聪明的老板会翻出过去上百道菜的试吃记录——每道菜后来的真实口碑(也就是标签)都已知——反向推算出每位评委的“可信度”,再按可信度加权汇总。这套“论功行赏”的玩法,正是集成学习(Ensemble)里的权重优化(Weight Optimization):给每个基模型分配一个权重,让加权后的预测最接近真实。本文从等权平均这个朴素基线出发,依次拆解线性回归约束求解、非负权重约束、贝叶斯优化与权重收缩,最后聊聊如何用交叉验证稳健评估、把方案真正搬进生产。

岗位关联

集成权重看起来只是几个小数,却是决定 Stacking/Blending 上限的最后一公里。掌握权重优化,你就能在竞赛与生产中稳定榨出那一点来之不易的提升。

目录
  1. 可视化演示
  2. 权重优化概述
  3. 线性回归求解
  4. 非负权重约束
  5. 贝叶斯优化
  6. 权重收缩正则
  7. 评估与生产落地
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态展示约束线性回归权重求解、贝叶斯优化搜索、权重收缩正则与等权基线比较策略。

本节配有交互动效(进入视口后自动加载,约 3KB)。

权重优化概述

老板最初觉得“三个臭皮匠顶个诸葛亮”,直接取五位评委的平均分当最终分数。可经营一阵子后发现:某位评委对川菜拿手,另一位对甜品更灵,还有一位习惯性打低分制造存在感。平均分把他们的特质全部抹平,菜品的综合口碑始终差口气。这时你意识到:与其平均,不如给每位评委配一个“话语权系数”,让可靠的人多说点话。

把评委换成基模型,话语权系数换成权重,就得到集成的核心公式。假设有 n 个模型,各自对同一份样本给出预测 y₁, y₂, …, yₙ,加权集成的预测为 ŷ = Σ wᵢyᵢ。这里有两个默认前提:一是权重不能为负,你不能“反着听”一位评委的意见;二是权重总和为 1,相当于 100% 的发言权要全部分派出去。

技术上看,最简单也最容易被忽略的方案是等权基线(equal weight baseline),即 wᵢ = 1/n。它不学任何参数,但方差小、稳健、天然防过拟合,是任何花哨方法都必须先打败的对手。权重优化的任务,就是在“不能负、总和为 1”的约束下,找一组比等权更好的权重。

老板想通的道理是:平均分绝不是终点,而是起点。真正的学问在于“怎么分话语权”,接下来的每一节,都是在回答这个问题的路上。

y^=∑i=1nwiyi,wi≥0,∑i=1nwi=1\hat{y} = \sum_{i=1}^{n} w_i y_i, \qquad w_i \ge 0, \quad \sum_{i=1}^{n} w_i = 1
一句话:集成预测就是给每个模型的预测值做加权平均,权重非负且总和为 1。
  1. ŷ 综合打分ŷ(读作 y-hat)是评审团最终给出的综合分数,等于各位评委打分 yᵢ 的加权和。
    y^=∑i=1nwiyi\hat{y} = \sum_{i=1}^{n} w_i y_i
  2. wᵢ 话语权系数wᵢ 表示第 i 位评委的可信度权重。权重越大,这位评委对最终分数的影响越大。
    wi≥0w_i \ge 0
  3. 归一约束所有权重加起来必须等于 1,表示把 100% 的发言权完整地分给各位评委,不多不少。
    ∑i=1nwi=1\sum_{i=1}^{n} w_i = 1

线性回归求解

老板翻出过去 T 道菜的完整记录:每道菜后来的真实口碑 y(1 表示好评、0 表示差评),以及当时五位评委各自给出的分数。既然历史口碑已知,就可以对照“评委打了多少分”与“实际口碑如何”,推算出每位评委的可靠度。这就像校准导航员:谁的定位偏差小,就多信谁。

把记录写成矩阵就清爽了:X 是 T 行 n 列的矩阵,第 t 行是第 t 道菜上五位评委的打分,y 是对应的真实口碑。寻找权重 w 使得 Xw 尽量接近 y,这就是最小二乘(least squares)——让误差平方和最小。之所以叫“最小二乘”,是因为它把每个样本的误差平方后求和再最小化,惩罚大偏差特别严厉。

对目标函数求导并令梯度为零,可以得到解析的闭式解(closed-form solution):w\* = (XᵀX)⁻¹Xᵀy。这个公式一看就知道要害:XᵀX 反映评委之间打分的相似性;如果两位评委打分几乎一模一样,这个矩阵就“病态”(接近不可逆),算出的权重会剧烈抖动。这也是为什么后面要用约束、正则化来兜底。

这就像老板拿着历史记录反推:原来那位爱打低分的评委,其实对判断差评特别灵,值得加薪。但问题也随之而来——普通最小二乘解出来的权重,可能带负号。

w∗=(XTX)−1XTyw^{*} = (X^{T} X)^{-1} X^{T} y
一句话:最优权重 = 评委间协方差结构的逆矩阵 × 每位评委与真实口碑的相关性。
  1. 设计矩阵 XX 的每一行是一道菜,每一列是一位评委的打分,共 T 行 n 列,记第 t 行的打分向量为 xₜ。
    X=[x11x21⋯xn1⋮⋮⋱⋮x1Tx2T⋯xnT]TX = \begin{bmatrix} x_{11} & x_{21} & \cdots & x_{n1} \\ \vdots & \vdots & \ddots & \vdots \\ x_{1T} & x_{2T} & \cdots & x_{nT} \end{bmatrix}^{T}
  2. XᵀX 协方差结构XᵀX 把评委之间“互相模仿”的关系浓缩成一个 n×n 矩阵,对角线是各自打分的波动幅度。
    XTX=∑t=1TxtxtTX^{T} X = \sum_{t=1}^{T} x_t x_t^{T}
  3. Xᵀy 相关度量Xᵀy 衡量每位评委的打分与真实口碑之间的正向关联,关联越强数值越大。
    XTy=∑t=1TxtytX^{T} y = \sum_{t=1}^{T} x_t y_t
  4. 逆矩阵解耦用协方差矩阵的逆去“解耦”评委间的重叠信息,得到各自独立的最优权重。
    w∗=(XTX)−1XTyw^{*} = (X^{T} X)^{-1} X^{T} y

非负权重约束

闭式解算完后,老板傻眼了:某位评委的权重居然是 -0.15。这意味着“这位评委打高分时,你要从总分里倒扣分”。现实中你不可能向一位老饕解释:“您的意见要反过来听。”负权重在业务上完全不可解释,在竞赛里也容易被质疑是“曲线救国”式地利用了模型的错误模式。

所以我们要给问题加上一道硬约束:wᵢ ≥ 0,这正是非负最小二乘(NNLS, Non-Negative Least Squares)要解决的事情。NNLS 不会出现“负信任”,每个模型的贡献要么是正数、要么是零。它本质上是一个带不等式约束的二次规划,成熟的库(如 SciPy)里一行就能调出来。

一个常见的坑是“先算普通最小二乘,把负权重裁成 0,再归一化”。这种做法虽然简单直观,但裁剪后的解已经不是原问题的解。真正正确的姿势是让约束参与求解过程:要么直接用 NNLS,要么用 SLSQP 同时约束“非负 + 总和为 1”,让优化器在约束定义的空间里找最优。

约束一加,老板豁然开朗:五位评委的“薪水单”终于都是正数,每一份信任都说得清、道得明。但如果评审团人数暴涨到几十人,目标函数又是个说不清的黑盒,闭式解还会失效。这时候,就该请出“试吃迭代”的贝叶斯优化了。

min⁡w ∥Xw−y∥22s.t.wi≥0, i=1,…,n\min_{w} \ \lVert Xw - y \rVert_2^2 \qquad \text{s.t.} \quad w_i \ge 0, \ i = 1, \dots, n
一句话:在“不允许负权重”的规则下,寻找让误差平方和最小的权重组合。
  1. 目标函数最小化加权打分与真实口碑之间的平方误差和,向量范数符号里是逐元素平方后求和。
    min⁡w ∥Xw−y∥22\min_{w} \ \lVert Xw - y \rVert_2^2
  2. 非负约束强制每个权重都大于等于 0,从数学上排除“反着听”这种反直觉解。
    s.t.wi≥0, i=1,…,n\text{s.t.} \quad w_i \ge 0, \ i = 1, \dots, n

贝叶斯优化

假设评委从 5 位涨到 20 位,而且最终评分规则变成了“去掉一个最高分再去掉一个最低分”这类非线性规则。此时误差面凹凸不平、处处是坑,解析解和梯度方法都束手无策。老板的新策略变成“盲试 + 记录”:先凭经验猜一组权重,请神秘顾客试吃一轮,拿到真实口碑反馈,再猜下一组。

贝叶斯优化(Bayesian Optimization)干的就是这件事,只不过它多了两个关键部件:一个概率代理模型(通常是高斯过程),它会给“每一组权重大概得多少分”画一条均值曲线,并标出上下置信带——这相当于老板脑中的“口味地图”:哪里可能好吃、哪里完全没把握;另一个是采集函数(如期望提升 EI),它结合均值与不确定性,决定下一次该试哪组权重。不确定性大的地方值得探索,均值高的地方值得利用,EI 自动平衡这两者。

每次采样后,代理模型都会用新数据更新“作料地图”,搜索位置越来越贴近最优区域。在权重搜索空间(就是 wᵢ 非负且和为 1 的单纯形)内反复迭代几十轮,通常就能找到比手工调参好得多的权重组合。整个过程不需要目标函数的梯度,非常适合 AUC 这类不平滑的指标。

贝叶斯优化帮老板省下了大量试错成本,但它也有自己的脾气:迭代次数少了容易骗自己,搜索空间大了收敛变慢。而且它给出的权重,有时会极端到让人不敢用。

EI(w)=(f(w+)−μ(w))Φ(z)+σ(w)ϕ(z),z=f(w+)−μ(w)σ(w)\mathrm{EI}(w) = \big(f(w^{+}) - \mu(w)\big) \Phi(z) + \sigma(w) \phi(z), \qquad z = \frac{f(w^{+}) - \mu(w)}{\sigma(w)}
一句话:贝叶斯优化像一位会画“好吃概率地图”的试菜经理,每次挑地图上最值得试的地方下嘴。
  1. f(w) 目标函数给一组权重 w 时,在验证集上算出的指标(如 AUC),越高越好。
    f(w)f(w)
  2. f(w⁺) 当前最优截至目前试过的所有权重里,目标函数值最高的一次。
    f(w+)f(w^{+})
  3. μ(w) 与 σ(w) 代理模型输出高斯过程预测的均值与标准差,代表“这个方向大概多少分”以及“有多大把握”。
    μ(w), σ(w)\mu(w), \ \sigma(w)
  4. Φ 与 φ 权衡公式标准正态的分布函数与密度函数,让公式在“冲新高”和“探未知”之间自动权衡。
    Φ(z), ϕ(z)\Phi(z), \ \phi(z)

权重收缩正则

贝叶斯优化跑完,老板发现最优权重居然给某位评委开了 90% 的薪水,剩下四位共享 10%。这在历史数据上确实惊艳,可下一批新菜上市,口碑立刻崩盘。原因很简单:这位评委最近几个月状态爆棚,权重优化把“近期运气”当成了“长期能力”,这就是过拟合。

解决思路很朴素:给“发薪水”加一条规矩——不要让任何人的权重离等权基线 w₀ = (1/n, …, 1/n) 太远。数学上就是在目标函数后面加一个二次惩罚项,这叫权重收缩(weight shrinkage),也是 L2 正则化在集成权重上的应用。惩罚项的系数 λ 控制保守程度:λ 越大,权重越被拉回等权;λ 越小,越信任优化结果。

从贝叶斯的角度看,等权基线其实是一个先验信念:“在没有足够证据之前,默认所有评委一样可靠。”数据会慢慢修正这个先验,但不会让你一下子被个别极端证据带跑。实践中,Ridge 回归的闭式解同样适用:目标函数对 w 求导置零,得到 (XᵀX + λI)w = Xᵀy + λw₀,加一个小对角项还顺带解决了前面说的矩阵病态问题。

加了收缩条款,老板的薪资方案终于既聪明又稳重。但无论用哪种方法,老板都不会直接拍板——他还要做一轮“神秘顾客”测试,用事实说话。

min⁡w ∥Xw−y∥22+λ∥w−w0∥22,w0=1n1\min_{w} \ \lVert Xw - y \rVert_2^2 + \lambda \lVert w - w_0 \rVert_2^2, \qquad w_0 = \frac{1}{n} \mathbf{1}
一句话:在拟合历史口碑的同时,要求权重不要偏离等权平均太远,λ 决定“保守”的程度。
  1. 数据拟合项让加权打分尽量贴近真实口碑,这是我们的核心目标。
    ∥Xw−y∥22\lVert Xw - y \rVert_2^2
  2. 收缩惩罚项惩罚权重与等权基线 w₀ 的欧氏距离,把它从极端位置拉回来。
    ∥w−w0∥22\lVert w - w_0 \rVert_2^2
  3. 正则系数 λλ 越大越保守、越接近等权;λ 越小越激进、越贴近纯优化结果。
    λ>0\lambda > 0

评估与生产落地

权重方案到底行不行,老板有自己的方法论:把过去一年的试菜记录随机分成若干部,轮流拿一部分“假装是新菜”来考评审团,其余部分用来定权重。这样每一道菜都在“没被偷看过答案”的情况下接受检验,得到的就是交叉验证(cross-validation)下的稳健指标。这也是判断“优化权重 vs 等权基线”谁更厉害的唯一标准。

评估时不能只看训练集。正确流程是:先在训练折上学权重,再在验证折上计算融合后的 AUC,最后把所有折的指标平均。如果优化权重的交叉验证指标没有显著超过等权基线,果断退回等权——它免费、稳健、可解释,还不用维护。对竞赛而言,这 0.001 的提升可能就是奖牌与陪跑的差别;但对生产系统而言,不值得为不显著的收益增加复杂度。

生产落地还要考虑权重漂移:模型会随数据变化而老化,当年最靠谱的评委今年可能状态下滑。业界常见的做法是定期(如每月)用滚动窗口重新学习权重,并监控线上指标是否偏离回测;若权重分布发生剧烈变化,要触发告警甚至回滚到等权方案。权重优化的终点不是“算出几个数”,而是“持续、可控地比等权好一点点”。

老板签下评审团的“长期合同”之前,先做了一轮神秘顾客盲测,确认加权方案确实稳定胜过平均分,才盖上公章。你的模型融合,也应该这样严谨。

CV-AUC(w)=1K∑k=1KAUC(w;Dkval)\text{CV-AUC}(w) = \frac{1}{K} \sum_{k=1}^{K} \mathrm{AUC}\big(w; \mathcal{D}_k^{\text{val}}\big)
一句话:把数据切成 K 份轮流验证,取平均 AUC 作为权重方案的真实水平。
  1. K 折交叉验证把历史数据切成 K 份,每次保留一份当验证集,其余 K-1 份学权重。
    D1val,…,DKval\mathcal{D}_1^{\text{val}}, \dots, \mathcal{D}_K^{\text{val}}
  2. 折内 AUC在第 k 份验证集上,用权重 w 做融合预测后计算的 AUC。
    AUC(w;Dkval)\mathrm{AUC}\big(w; \mathcal{D}_k^{\text{val}}\big)
  3. 平均得分把 K 份验证集的结果平均,得到对权重 w 的稳健评估。
    1K∑k=1KAUC(w;Dkval)\frac{1}{K} \sum_{k=1}^{K} \mathrm{AUC}\big(w; \mathcal{D}_k^{\text{val}}\big)

AI 应用场景

Kaggle 竞赛的最后一搏

阶段:模型融合与后处理

解决的问题:单模型交叉验证分数涨到天花板后,继续调参收益极低;手工试权重又全靠玄学。用非负最小二乘在 OOF(out-of-fold)预测上学习融合权重,再用贝叶斯优化微调,能稳定榨出 0.001~0.003 的 AUC 提升,往往决定银牌与金牌的差距。

具体案例:某 Kaggle 比赛中,一位选手手握 30 个种子模型的 OOF 预测。他在 OOF 上跑 NNLS 学权重,再用 Optuna 做贝叶斯优化微调,Public LB 提升了 4 名;为防过拟合,他还用“权重收缩”把最终权重拉回等权附近,Private LB 名次依然坚挺。

金融风控的多模型融合

阶段:生产部署与监控

解决的问题:风控场景对可解释性要求极高,负权重完全不可接受;等权融合又忽视了不同模型在不同客群上的表现差异。带非负约束的权重优化,让每个模型的贡献都是“正向信任”,同时比等权更贴合业务分布。

具体案例:某消费金融公司将规则引擎、XGBoost 和深度模型组成评审团,用带非负与归一约束的 SLSQP 学习融合权重,每月用滚动窗口重新学习;当线上坏账率偏离回测超过阈值时,自动回退到等权基线再排查。上线半年,模型整体 AUC 稳定提升约 0.8 个百分点。

Python 演示

python53 行
import numpy as npfrom scipy.optimize import nnls, minimizefrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import roc_auc_score # 造 800 道"菜"与 5 位评委的打分记录rng = np.random.default_rng(42)T = 800y = rng.binomial(1, 0.35, T)F = rng.normal(0, 1, (T, 5))F[:, 0] += 0.7 * yF[:, 1] += 0.4 * y + 0.2 * F[:, 0]F[:, 2] += 0.3 * y + 0.5 * F[:, 1]F[:, 3] += 0.1 * y + 0.6 * F[:, 0]F[:, 4] = rng.normal(0, 1, T)X = 1.0 / (1.0 + np.exp(-F))Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.3, random_state=7) def normalize(w):    s = w.sum()    return w / s if s > 1e-12 else np.ones(5) / 5 def auc_on(w, X_all, y_all):    return roc_auc_score(y_all, X_all @ w) def bce(w, X_all, y_all):    p = np.clip(X_all @ w, 1e-9, 1 - 1e-9)    return -np.mean(y_all * np.log(p) + (1 - y_all) * np.log(1 - p)) eq_w = np.ones(5) / 5 # 方法1: 普通最小二乘 + 裁剪负权重 + 归一化w_ols = normalize(np.clip(np.linalg.pinv(Xtr.T @ Xtr) @ (Xtr.T @ ytr), 0, None)) # 方法2: 非负最小二乘 NNLSw_nnls, _ = nnls(Xtr, ytr)w_nnls = normalize(w_nnls) # 方法3: L2 权重收缩(向等权收缩)lam = 0.8w_shrink = np.linalg.solve(Xtr.T @ Xtr + lam * np.eye(5), Xtr.T @ ytr + lam * eq_w)w_shrink = normalize(np.clip(w_shrink, 0, None)) # 方法4: SLSQP 直接约束求解(w>=0 且 sum(w)=1)cons = [{"type": "eq", "fun": lambda w: w.sum() - 1.0}]bnds = [(0.0, 1.0)] * 5res = minimize(lambda w: bce(w, Xtr, ytr), eq_w, method="SLSQP", bounds=bnds, constraints=cons)w_cns = normalize(res.x) for name, w in [("等权", eq_w), ("OLS裁剪", w_ols), ("NNLS", w_nnls), ("L2收缩", w_shrink), ("约束优化", w_cns)]:    print(name, "权重=", np.round(w, 3),          "训练AUC=", round(auc_on(w, Xtr, ytr), 4),          "测试AUC=", round(auc_on(w, Xte, yte), 4))
目的:在同一份合成数据上对比五种权重策略的训练/测试 AUC,直观展示等权基线、带约束求解与收缩正则的差异。
  1. F[:, 0] += 0.7 * y让评委 1 与真实口碑有最强关联,模拟一位明显更靠谱的模型。
  2. X = 1.0 / (1.0 + np.exp(-F))把评委原始打分映射到 0~1 区间,模拟模型输出的概率分数。
  3. def normalize(w)把权重缩放为总和等于 1;若总和近乎 0(极端情况)则回退到等权,防止除零。
  4. np.linalg.pinv(Xtr.T @ Xtr) @ (Xtr.T @ ytr)用伪逆计算最小二乘闭式解,比直接求逆更抗病态矩阵。
  5. w_nnls, _ = nnls(Xtr, ytr)一行调用科学计算库的非负最小二乘,让约束参与求解而非事后裁剪。
  6. np.linalg.solve(Xtr.T @ Xtr + lam * np.eye(5), ...)求解带 L2 收缩项的闭式解,加 λI 顺带解决了矩阵奇异性。
  7. res = minimize(..., method="SLSQP", bounds=bnds, constraints=cons)用约束优化同时强制 w≥0 与 Σw=1,得到真正满足全部约束的解。
  8. print(name, ..., "测试AUC=", ...)关键在测试 AUC:训练集上优化方法一定赢,测试集上才能看出谁真的稳健。

常见误区

误区“我费那么大劲学出来的权重,肯定比直接平均好,训练集上都验证过了,直接上线准没错。”

正解训练集上当然赢,因为优化本身就在拟合训练误差。可一旦换到新数据,学到的权重可能把“训练噪声”当成了规律。正确姿势是:把等权当作必须打败的对手,在交叉验证(out-of-fold)数据上对比提升是否显著;若不显著,果断退回等权——它免费、稳健、可解释。

为何常见:人们总盯着训练集指标高就兴奋,忽略了优化天然会压低训练误差这一事实。

误区“最小二乘算出负权重,说明这个模型在拖后腿,直接把负的设成 0 再归一化不就行了?”

正解直接裁剪再归一化,得到的已经不是原优化问题的解。负权重常常源于模型之间的强相关性(共线性),它可能正在“反向纠偏”其他模型的偏差。正确做法是用 NNLS 或带约束的 SLSQP 一次性求解,让“非负”成为求解过程中的规则,而不是事后修补。

为何常见:“裁剪 + 归一”实现起来只要两行代码,看起来合情合理,但数学上悄悄改变了问题的定义。

误区“权重最大的模型最重要,其他模型权重那么小,干脆只留权重最大的那个算了。”

正解权重表示“在这个组合中的边际贡献”,不是模型的独立能力。两个高度相关的模型会互相分薄权重;权重小的模型可能提供了独特的纠偏信息,删掉它集成分数反而大跌。评估一个模型的价值,应该看“去掉它之后集成指标掉了多少”。

为何常见:投票的直觉是票多者重要,但集成学习的权重与“冗余度”强相关,不能直接类比选票。

误区“把每个权重除以它们的和,就叫归一化,Σw=1 的约束不就满足了吗?”

正解若权重已经由 NNLS 求出,事后再归一化会偏离约束问题的最优解;若权重和接近 0,除法还会造成数值灾难。正确的做法是把 Σw=1 作为约束写进优化器(如 SLSQP 同时约束非负与求和为 1),得到的是“在约束定义的空间里”的真正最优解。

为何常见:把归一化当成可后加的装饰步骤,没有意识到它其实参与决定了最优解的位置。

面试题

Q1. 等权基线中,若有 5 个基模型参与融合,每个模型的权重是多少?

单选题 · easy

  • A.0.2,所有模型权重相等← 正确答案
  • B.1.0,每个模型都全额计入
  • C.0.5,两两配对的平均
  • D.由验证集 AUC 顺序决定

答案:A。等权基线就是 wᵢ = 1/n,5 个模型各占 1/5 = 0.2。它不学参数,是最朴素也最稳健的融合方式,也是权重优化必须打败的对照对象。

Q2. 加权集成预测 ŷ = Σwᵢyᵢ 中,关于权重的常见约束是哪一组?

单选题 · easy

  • A.权重可负且总和为 1
  • B.权重非负且总和为 1← 正确答案
  • C.权重非负且无总和约束
  • D.权重可负且总和为 0

答案:B。语义上我们不会“反着听”某个模型的意见,所以 wᵢ ≥ 0;同时把 100% 的发言权分完,所以 Σwᵢ = 1。这两条约束共同定义了权重搜索的“单纯形”空间。

Q3. 用最小二乘求解融合权重的闭式解是哪个?

单选题 · mid

  • A.w = Xᵀy(XᵀX)⁻¹
  • B.w = (XᵀX)⁻¹Xᵀy← 正确答案
  • C.w = (XXᵀ)⁻¹Xᵀy
  • D.w = Xᵀ(XXᵀ)⁻¹Xy

答案:B。目标 min‖Xw − y‖² 求导置零得到正规方程 XᵀXw = Xᵀy,解得 w = (XᵀX)⁻¹Xᵀy。注意维度匹配:X 是 T×n,(XᵀX) 是 n×n,结果 w 是 n 维向量。

Q4. 普通最小二乘可能解出负权重,通常因为什么?

单选题 · mid

  • A.模型间存在强相关性共线性← 正确答案
  • B.训练样本太多导致过拟合
  • C.标签数据不服从正态分布
  • D.权重没有被归一化处理

答案:A。当两个模型打分高度相似(共线性)时,一个模型负责“抬分”、另一个就负责“纠偏”,负权重由此产生。它不一定说明模型差,而是信息重叠导致的数学现象。

Q5. 把负权重直接裁剪为 0 再归一化,最大的问题是什么?

单选题 · mid

  • A.计算复杂度大幅上升
  • B.裁剪后的解不满足原约束问题← 正确答案
  • C.权重和会趋向无穷大
  • D.只能用于分类不能回归

答案:B。裁剪是“事后修补”,它改变了原优化问题的定义,得到的不是带约束问题的最优解。正确做法是用 NNLS 让约束参与求解,或直接用 SLSQP 同时施加非负与归一约束。

Q6. 贝叶斯优化中的采集函数 EI 主要用于什么?

单选题 · mid

  • A.在探索与利用之间自动权衡← 正确答案
  • B.计算高斯过程的协方差
  • C.对训练集做交叉验证分组
  • D.随机初始化一组候选权重

答案:A。EI(期望提升)结合代理模型的均值与不确定性:均值高代表“利用”(冲当前最优),方差大代表“探索”(探未知区域)。它决定下一次该试哪组权重,是贝叶斯优化的方向盘。

Q7. 在目标 min‖Xw−y‖²+λ‖w−w₀‖² 中,w₀ 取等权向量时代表了什么?

单选题 · hard

  • A.权重向等权基线收缩以防范过拟合← 正确答案
  • B.把所有权重强制设为完全相同的数值
  • C.让所有权重向量归零以简化模型
  • D.用学习率替代正则化系数 λ

答案:A。惩罚项把权重向 w₀ 拉近却并非强制相等;λ 控制拉力大小。这相当于把“等权可靠”当作先验信念,防止极端权重把近期运气当长期能力。

Q8. 融合权重的典型约束条件包含以下哪些?

多选题 · easy

  • A.每个权重都大于等于 0← 正确答案
  • B.所有权重之和等于 1← 正确答案
  • C.权重要按模型的单独精度排序
  • D.权重必须都是正整数值

答案:AB。非负与归一是权重优化的两个基本约束。权重并不要求按单模型精度排序,因为相关性会改变边际贡献;权重是连续实数,更不必是整数。

Q9. 用贝叶斯优化求解融合权重通常需要哪些要素?

多选题 · mid

  • A.高斯过程作为概率代理模型← 正确答案
  • B.采集函数决定下一个采样点← 正确答案
  • C.交叉验证给出目标函数值← 正确答案
  • D.保证找到全局最优解

答案:ABC。贝叶斯优化三要素是代理模型、采集函数与目标评估;目标值通常用交叉验证指标。但它不保证全局最优,这是所有黑盒优化的共性局限。

Q10. 关于权重优化中的过拟合与收缩,下列说法正确的有哪些?

多选题 · hard

  • A.等权平均是稳健的强基线← 正确答案
  • B.λ 越大权重越接近等权基线← 正确答案
  • C.权重收缩能降低权重方差← 正确答案
  • D.优化权重的测试分数一定更高

答案:ABC。等权不学参数、方差小,是必须对比的基线;λ 增大时惩罚项主导,权重被拉回 w₀;收缩压低极端权重,从而降低方差。但优化权重在测试集上不一定更高,这正是“可能过拟合”的体现。