想象在两条街的转角,开着一对姐妹的小吃店。姐姐阿简的厨房墙上只贴着一张配方卡:盐 7 克、糖 3 克、生抽 10 克、辣椒 2 克——四行数字,永远不变。无论来了多少客人,她都按这张卡出菜:快、稳、便宜,可要是客人点一道酸菜鱼,她只能摇头。妹妹阿活的厨房里没有配方,只有一摞越来越厚的笔记本:每做一道菜,她都记下食材、火候、客人的表情。新菜上门,她翻着笔记本找最像的做法参考:灵活、能应对刁钻口味,可笔记越厚,翻起来越慢,厨房也越挤。 这对姐妹,正是机器学习里两大流派的生活缩影:参数化(parametric)模型与非参数化(non-parametric)模型。阿简的配方卡,对应“参数个数在训练前就固定”的参数化模型——线性回归如此,神经网络也如此;阿活的笔记本,对应“参数随数据增多而膨胀”的非参数化模型——K 近邻、高斯过程都如此。这堂课,我们就借这对姐妹的厨房,把“参数数量是否固定”“偏差与方差如何权衡”“什么任务该选谁”讲透。
弄清参数化与非参数化的区别,是你做模型选型的第一把尺子:数据少时靠强假设稳住,数据多时用灵活性换精度——AI 从业者几乎每天都要做这样的取舍。
可视化演示
展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。
本节配有交互动效(进入视口后自动加载,约 3KB)。
系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T
概念定义
阿简的厨房墙上贴着一张配方卡,上面只有四行数字:盐 7 克、糖 3 克、生抽 10 克、辣椒 2 克。无论店里来了多少客人、客人点了多少种菜,这张卡都不会加行。她的全部“厨艺知识”,就压缩在这四个数字里。这就是参数化模型的缩影——模型在见到数据之前,就定好了自己要学几个参数,所谓训练,只是把参数卡上的数字填得更准。
与之相对,妹妹阿活的厨房里没有配方卡,只有一摞越来越厚的笔记本。每做一道新菜,她都会把食材、火候、客人的反应记上一页。笔记的页数完全由“见识过多少种菜”决定——这正是非参数化模型的本质:模型没有预先固定的参数清单,它的有效“参数”会随着训练数据的增多而增长。
在数学上,参数化模型把数据生成过程假设为一个已知的固定形式。记模型参数为 $\boldsymbol{\theta}$,输入为 $\boldsymbol{x}$,模型输出为 $y$,则参数化模型可以写成:
回到姐妹俩的厨房——阿简的配方卡不管客人再多也绝不加行,这是“参数化”;阿活的笔记每来一道新菜就多一页,这是“非参数化”。记住这个画面,后面所有概念都可以挂在这张画上理解。
- 输出与输入的关系$y = f(\boldsymbol{x}; \boldsymbol{\theta})$ 表示模型的输出 $y$ 由输入 $\boldsymbol{x}$ 经过函数 $f$ 计算得到,分号后的 $\boldsymbol{\theta}$ 是模型随身携带的“配方参数”,一旦训练完成就固定下来。
- 参数所处的空间$\boldsymbol{\theta} \in \mathbb{R}^{d}$ 表示参数向量生活在 $d$ 维实数空间,也就是它由恰好 $d$ 个实数组成,像配方卡上恰好有 $d$ 行数字。
- 决定性条件$d$ 与样本量 $n$ 无关,意思是训练数据从 1 千条变成 100 万条,参数的个数也一个不多、一个不少——这是判断参数化与非参数化的分水岭。
典型代表
姐妹俩各自把家法发扬光大。阿简的“配方派”里,最朴素的是线性回归——把所有调料按固定比例相加;最豪华的是神经网络——成百上千层传递,像流水线上每道工序都按各自的配方加工。阿活的“笔记派”里,最直白的是 K 近邻——新菜来了翻最像的几页笔记参考;最生猛的是决策树——把笔记整理成一棵不断分叉的“口味决策树”。
这两个流派在机器学习里各有代表。参数化阵营的招牌是线性回归和神经网络:线性回归把所有知识压缩进“权重向量 + 偏置”;神经网络的参数就是每一层的权重矩阵和偏置,数量由网络结构决定,一旦训练完成就固定下来。非参数化阵营的招牌是 K 近邻、决策树与高斯过程:KNN 干脆不做总结,直接保存全部训练样本;决策树的叶子数、树的深度会随着数据变多变深;高斯过程的“参数”是随训练点数量增长的核矩阵。
把两派代表作并列,差距一目了然:
一个靠公式,一个靠记忆。公式派出菜快但只有一种套路,记忆派花样百出但要现翻笔记。你手上要解决的问题更像“炖菜”还是“翻笔记”,决定了你该跟谁学艺。
- 线性回归的加权和$y = \boldsymbol{w}^{\mathsf{T}}\boldsymbol{x} + b$ 表示输出是输入各特征的线性加权和再加偏置,全部学习成果浓缩在 $\boldsymbol{w}$ 与 $b$ 两个“配方数字”里,预测时直接套公式。
- KNN 的估计值$\hat{y}(\boldsymbol{x})$ 是对新输入 $\boldsymbol{x}$ 的预测,带“帽子”的 $y$ 表示估计值,不是真实值。
- 邻居平均$\frac{1}{k}\sum_{\boldsymbol{x}_i \in N_k(\boldsymbol{x})} y_i$ 的意思是先找到 $\boldsymbol{x}$ 最近的 $k$ 个邻居集合 $N_k(\boldsymbol{x})$,再把它们的标签取平均——每次预测都要重新翻笔记。
核心差异
把姐妹俩的差距摊开,其实是三条:第一,配方卡的行数是固定的,笔记本的页数是随见识增长的;第二,阿简做好配方卡后,客人点菜只按卡做,不用回头读旧账本,而阿活每道菜都要从头到尾翻笔记;第三,阿简把配方卡背熟后可以把笔记本全烧了,阿活要是丢了笔记,就什么菜也不会做了。
这三条对应到模型上就是三个核心差异。其一是参数量:参数化模型的参数量与训练样本数无关;非参数化模型的有效参数量随样本数增长。其二是训练与推断模式:参数化模型的成本集中在训练阶段(离线学参数),推断时只做一次固定计算;非参数化模型“训练”成本极低(KNN 训练就是存下数据),但推断时要遍历全部样本。其三是是否保留训练数据:参数化模型学完即弃,部署时不需要原始数据;非参数化模型必须长期持有数据,带来了存储与隐私的负担。
用记号把第一条差异写清楚:
妹妹的笔记本页数等于见过的菜数,姐姐的配方卡永远是同一张。所以数据对参数化模型是“练习题”,练完就扔;对非参数化模型是“随身行囊”,走到哪背到哪——这就是二者最本质的分野。
- 参数化的参数量$|\boldsymbol{\theta}_{\text{参}}| = d$ 表示参数化模型的参数个数是常数 $d$,训练样本从 1 千变成 100 万,参数个数纹丝不动。
- 非参数化的参数量$|\boldsymbol{\theta}_{\text{非参}}| \sim O(n)$ 表示非参数化模型的有效参数量与样本数 $n$ 同阶增长,数据越多模型越“庞大”。
- 训练与推断的分工参数化把成本押在训练阶段,推断只需 $O(d)$;非参数化把成本放在推断阶段,每次预测要付出 $O(n \cdot d)$ 的代价——知识“现用现查”。
偏差与方差
镇上举行厨艺大赛,规定菜式是“蚝油生菜”。阿简按川菜配方卡做——熟练、稳定,但蚝油放成了辣椒油,整道菜方向性跑偏;阿活没有固定套路,每次翻笔记临场发挥,运气好被评委夸上天,运气差咸得没法入口。裁判给出的评语是:一个“稳定地错”,一个“看天吃饭”。
机器学习把“稳定地错”叫高偏差、低方差;把“看天吃饭”叫低偏差、高方差。偏差是模型系统性偏离真相的程度,方差是换一批训练数据后预测结果的抖动程度。参数化模型假设太强,像一张过于精简的配方卡,容易欠拟合——高偏差低方差;非参数化模型假设很弱,几乎完全跟随数据,容易过拟合——低偏差高方差。
把期望泛化误差拆开看:
所以选模型不是一味求“复杂”或“简单”。数据少时,参数化的强假设等于自带正则,反而更稳;数据多时,非参数化的灵活性才有足够的燃料去逼近真相。好厨子的秘诀不是固定配方或临场发挥二选一,而是看食材和胃口来调自己的策略。
- 总误差$\mathbb{E}\big[(\hat{y} - y)^2\big]$ 对随机训练集取期望的平均平方误差,相当于“换很多批数据训练再考试”的平均总遗憾。
- 偏差项$\mathrm{Bias}[\hat{y}]^2$ 是模型系统性偏离真相的平方——阿简的配方整体偏辣,练一百遍也救不回来。
- 方差项$\mathrm{Var}[\hat{y}]$ 是预测值在不同训练集之间的波动——阿活今天 90 分明天 40 分,发挥极不稳定。
- 噪声项$\sigma^2$ 是数据里天然存在的噪声,任何模型都消不掉——评委的心情,神仙也左右不了。
优势与局限
阿简的快餐店模式开了三家连锁:出餐快、好复制、厨房小——一张配方卡走天下。但遇到客人点“分子料理”,她只能鞠躬道歉。阿活的私房菜馆口碑两极:识货的老饕趋之若鹜,但每一桌都要等很久,后厨堆满笔记,还要天天担心笔记泄露客人的口味隐私。
这两家店的得失,正是参数化与非参数化的优势与局限。参数化的三大优势:推断快(预测新样本只做一次固定计算)、体积小(模型就是几个参数,几 KB 到几 MB)、成本低(训练完成后可丢弃原始数据,部署在手机等边缘设备)。代价是表达受限:当真实关系足够复杂,固定形式的模型学不出来,偏差变大。非参数化的优势正好反过来:假设弱、灵活、能逼近任意复杂函数;代价是存储开销大(要保留全部或部分训练数据)、推断慢(每次预测都要检索数据)。
用复杂度记号把代价写清楚:
连锁店图快、图标准,选配方卡;私房菜图灵、图口碑,留笔记。没有哪张牌绝对好,只有合不合适——这正是下一节选型的问题。
- 参数化的推断开销$T_{\text{推断, 参数化}} = O(d)$ 表示按公式预测一次新样本,成本只和参数维度 $d$ 成正比——像阿简按配方卡称料,几秒出餐。
- 非参数化的推断开销$T_{\text{推断, 非参数化}} = O(n \cdot d)$ 表示每次预测都要把新样本与全部 $n$ 个训练样本逐一比对,成本随数据量线性增长——像阿活为一道菜翻遍整本笔记。
- 乘积的含义$n \cdot d$ 中数据量 $n$ 和维度 $d$ 同时放大代价,样本越多、特征越多,单次预测越慢——记忆越厚,翻得越久。
选型决策
姐妹俩决定把生意做到新城市,出发前要做三个决定:第一,新城市的人流有多大?如果一天只有十来个客人,阿简的固定配方更稳妥;如果每天排长队,阿活可以靠厚厚的笔记把每个客人的口味照顾到位。第二,客人等不等得起?快餐窗口只接受几秒出餐,私房菜馆可以等十分钟。第三,新店的厨房预算多少平?阿活的大笔记仓库,不是每个铺面都租得起。
选型同理,主要看四件事:数据规模、实时性要求、硬件资源、任务复杂度。数据少 → 参数化(强假设等于免费正则,避免过拟合);数据充足 → 非参数化(让数据自己说话,避免欠拟合)。在线服务要求毫秒级响应 → 参数化(或参数化召回 + 非参数化精排的组合);离线分析允许秒级 → 非参数化。边缘设备内存小 → 参数化;服务器集群存储大 → 非参数化。任务近似线性、简单 → 参数化;任务高度非线性、模式多样 → 非参数化。
从渐近意义上看,两种模型的总误差与数据量的关系可以概括为:
选型不是站队,而是三问:我有多少数据?顾客多急?厨房多大?回答了这三问,配方卡还是笔记本,心里自然有数。
\displaystyle n \text{ 小}: \ \mathrm{Err}_{\text{参数化}} \le \mathrm{Err}_{\text{非参数化}}, \qquadn \to \infty: \ \mathrm{Err}_{\text{非参数化}} \le \mathrm{Err}_{\text{参数化}}- 小样本情形$n$ 小时 $\mathrm{Err}_{\text{参数化}} \le \mathrm{Err}_{\text{非参数化}}$,因为参数化的固定结构相当于正则项,能压住方差——巷尾小店食材少,固定配方反而稳。
- 大样本情形$n \to \infty$ 时非参数化误差更小,因为它的灵活结构可以逼近任意真实函数,而参数化被固定形式“锁死”在天花板之下——笔记厚到覆盖所有口味时,临场发挥神准。
- 拐点与验证中间的拐点没有公式可套,实际工程中用交叉验证分别训练两个候选模型,比较验证集误差——先试菜,再定菜单。
应用场景
现实世界里,姐妹俩的店都以各种形态开了起来。阿简的配方卡变成了手机里的人脸识别门禁、邮箱里的垃圾邮件过滤器——模型训练一次、部署千万次,每个手机上都装着一份固定参数的“配方卡”。阿活的笔记本变成了视频 App 里的“猜你喜欢”、医院的相似病例检索——把每个用户的历史行为像笔记一样存起来,新请求来了找最像的邻居。
看几个具体场景。推荐系统:先用参数化的双塔神经网络把用户和物品编码成向量,再在向量库里做最近邻检索——本质是一场 KNN,参数化和非参数化前后接力。金融风控:银行信用卡审批用逻辑回归(参数化),每个特征一个固定权重,可解释、可审计、毫秒出分。医疗辅助诊断:把历史确诊的 CT 影像当“笔记”存下来,新影像与库里最相似的几个病例做匹配,医生拿到最像的 5 例辅助决策——数据越多,这本影像笔记越厚越准。
非参数化模型在推荐系统里找“口味相似的人”,靠的就是向量相似度:
无论快餐还是私房菜,只要把菜做对了,两种流派都能在各自的厨房里发光。参数化负责“快、稳、省”,非参数化负责“灵、准、厚”,而聪明的工程师,永远在两者之间找组合。
- 相似度函数$\mathrm{sim}(\boldsymbol{u}, \boldsymbol{v})$ 输出用户 $\boldsymbol{u}$ 和用户 $\boldsymbol{v}$ 口味相似程度的分数,越大越像,KNN 靠它找邻居。
- 点积$\boldsymbol{u} \cdot \boldsymbol{v}$ 把两个向量对应分量相乘再求和,同一方向上的分量越多,分数越高——两个吃货都在“辣”的维度上打高分,就越来越像。
- 归一化分母$\|\boldsymbol{u}\| \cdot \|\boldsymbol{v}\|$ 是两人向量的长度乘积,用来把分数压到 $[-1, 1]$,避免“点得多分就高”的偏差。
- 用途算出所有用户与我的相似度后,取前 $k$ 个邻居,把它们看过而我没看过的内容推荐给我——这就是推荐系统里最经典的 KNN 应用。
AI 应用场景
电商推荐系统
阶段:模型选择与线上推理部署
解决的问题:传统按热门榜推荐的“千人一面”体验差;如果只用 KNN 协同过滤,用户量百万级时每次推荐都遍历全部用户,延迟不可接受。业界常用“参数化召回 + 非参数化精排”:参数化双塔模型把用户/物品编码成固定维向量,训练完参数固定、推断快;再用向量最近邻检索在亿级物品库里召回候选,两边的好处都要。
具体案例:某短视频 App 将用户点击序列编码成 128 维向量,在 10 亿视频向量库中用近似最近邻检索(如 HNSW)召回 Top 50,端到端延迟控制在 50ms 内——“配方卡”负责把所有内容压缩成向量,“笔记本”负责在仓库里快速翻找最像的部分。
金融信贷风控
阶段:特征建模与合规上线
解决的问题:信贷决策必须可解释、可审计,监管部门要求“为什么拒绝”能说清楚。逻辑回归每个特征一个固定权重,权重正负直接反映变量影响方向,模型仅几十 KB、推断毫秒级;相比之下,某些非参数化模型虽然精度高,但解释性弱、线上推断更重。
具体案例:某银行信用卡申请评分卡使用年龄、收入、负债率等约 20 个特征训练逻辑回归,输出 0-100 分。模型上线后每秒处理数千笔申请,每笔拒绝都能自动生成“收入覆盖比不足”等理由——一张明明白白的“配方卡”。
医学影像辅助诊断
阶段:知识检索与决策支持
解决的问题:罕见病样本稀少,参数化模型训练不充分;而且医生更相信“相似病例”而非黑盒分数。检索式诊断把历史确诊影像当“笔记”积累,新影像进来就找最相似的若干病例做参考,数据越多、记忆越厚、参考越准。
具体案例:某三甲医院肺结节数据库存有数万例确诊 CT,医生上传新影像后,系统秒级返回最像的 5 例确诊病历、病理结果与随访记录,辅助判断结节良恶性——本质是医疗版的“翻笔记”。
Python 演示
"""Parametric vs Non-parametric demo: 参数化(线性回归) vs 非参数化(KNN)"""import timeimport numpy as npfrom sklearn.linear_model import LinearRegressionfrom sklearn.neighbors import KNeighborsRegressor rng = np.random.default_rng(42)n = 60x = np.linspace(0, 1, n).reshape(-1, 1)y = 2.0 * x.ravel() + np.sin(x.ravel() * 16) * 0.5 + rng.normal(0, 0.1, n) lin = LinearRegression().fit(x, y)knn = KNeighborsRegressor(n_neighbors=5).fit(x, y) print("参数化模型 参数个数 :", len(lin.coef_) + 1)print("参数化模型 预测0.42 :", round(float(lin.predict([[0.42]])[0]), 4))print("非参数化模型 保留样本数:", knn.n_samples_fit_)print("非参数化模型 预测0.42 :", round(float(knn.predict([[0.42]])[0]), 4)) test_x = np.linspace(0, 1, 1000).reshape(-1, 1)t0 = time.perf_counter()lin.predict(test_x)t_lin = time.perf_counter() - t0t0 = time.perf_counter()knn.predict(test_x)t_knn = time.perf_counter() - t0print("1000次预测耗时 参数化: %.4fs 非参数化: %.4fs" % (t_lin, t_knn))
y = 2.0 * x.ravel() + np.sin(x.ravel() * 16) * 0.5 + rng.normal(0, 0.1, n)生成带非线性成分和噪声的“真实世界”数据,让直线无法完美拟合。LinearRegression().fit(x, y)参数化:把全部知识压缩进“斜率 + 截距”两个参数,训练完即可丢弃原始数据。KNeighborsRegressor(n_neighbors=5).fit(x, y)非参数化:训练几乎不做“总结”,只是把 60 个样本记下来供预测时翻查。len(lin.coef_) + 1数一数配方卡上有几行:1 个特征权重加 1 个偏置,共 2 个参数。knn.n_samples_fit_非参数化的“参数”就是保留的训练样本数(60),数据越多它越大。
常见误区
误区非参数化模型就是没有参数的模型,纯粹靠数据本身说话,所以比参数化模型更高级、更“原生态”。
正解名字里的“非”不是说没有参数,而是说参数的个数和维度不预先固定、会随数据规模增长。KNN 保留的每个样本都是它的“参数”,样本越多参数越多;决策树的叶子、高斯过程的核矩阵也随数据膨胀。用比喻说:阿活的笔记本每一页都是参数,页数等于见过的菜数,绝不是零页。
为何常见:从“参数化”三个字做字面反推,把 non-parametric 理解成 no-parameter,忽略了它真正区别于参数化的是“参数量是否固定”。
误区反正知识都被压缩进参数里了,模型部署后原始训练数据一点用处都没有,可以直接销毁。
正解参数化模型部署时确实可以脱离原始数据,但这份数据仍有三个价值:一是模型出现分布漂移(概念漂移)时要拿旧数据重训或微调;二是做消融实验、调试错误样本需要追溯数据;三是“信息全在参数里”只在模型假设正确时成立——如果真实关系比模型复杂,参数里留下的只是被压缩丢失的版本。配方卡封装了经验,但经验不等于全部真相。
为何常见:把“推断时不需要数据”错当成“数据没有价值”,混淆了部署阶段的便利与整个模型生命周期对数据的需求。
误区神经网络动辄上亿参数,参数那么多,肯定属于非参数化模型。
正解判断标准不是“参数多不多”,而是“参数个数是否随训练样本数增长”。神经网络的参数量在训练前就由网络结构(层数、宽度)定死,训练集从 1 万变成 1 亿,参数个数不变,所以是参数化(固定容量)模型。参数多 ≠ 非参数化。好比配方卡印了 100 万行,它也还是一张配方卡,不会因为印得厚就变成笔记本。
为何常见:把“参数很多”当成“非参数”的字面理解,忽略了非参数的真正内核是参数量随数据变化。
误区KNN、决策树这么灵活,拟合效果又好,实际项目里应该永远优先选非参数化。
正解灵活是把双刃剑。数据少时,非参数化方差大,容易跟着噪声起舞(过拟合);参数化的强假设相当于天然正则,在小数据上反而更稳。偏差-方差权衡告诉我们:样本少 → 参数化占优,样本多 → 非参数化占优。阿活笔记本只有三五页时,翻笔记瞎猜的概率并不低。
为何常见:只看到灵活性带来的低偏差,没看到它对数据量和计算资源的高要求,忽略了偏差-方差权衡的整体图景。
面试题
Q1. 判断一个模型是参数化还是非参数化,最核心的标准是什么?
- A.模型参数的数量是否多
- B.参数数是否随样本量增长← 正确答案
- C.训练是否用梯度下降法
- D.是否含多层隐藏层结构
答案:B。判定标准是参数个数是否随训练数据量变化。参数化模型参数个数固定(线性回归永远两个系数);非参数化模型(KNN)的“参数”就是它记住的样本数,随数据增长。A 把“多少”当标准,神经网络参数多达上亿仍是参数化;C、D 都只是训练或结构特征,不是本质。阿简的配方卡不会因客人变多而加行,这才是判据。
Q2. 下列模型中,属于参数化模型的是?
- A.K近邻算法模型
- B.线性回归模型← 正确答案
- C.决策树算法
- D.高斯过程模型
答案:B。线性回归把知识压缩为固定个数的系数,是参数化模型。KNN 记住每个样本、决策树叶子随数据变多、高斯过程核矩阵随样本平方增长,三者都属于非参数化。神经网络参数虽多但个数固定,同样属于参数化。好比阿活的笔记本页数=见过的菜数,而阿简的配方卡永远是四行。
Q3. 关于 K 近邻(KNN)的描述,哪一项正确?
- A.训练时需迭代优化权重
- B.预测时需遍历全部样本← 正确答案
- C.参数个数固定不会变化
- D.无法处理分类任务
答案:B。KNN 训练几乎不做事,只是把样本存下来;真正的计算发生在预测时:每个新样本都要与全部训练样本算距离,所以说它“预测时需遍历全部样本”。A 是神经网络的特征;C 说反了,KNN 的参数随数据增长;D 错误,KNN 既能分类也能回归。这就好比阿活从不写菜谱,每次做菜都现翻一摞笔记。
Q4. 参数化模型通常具有的特点是?
- A.高偏差且低方差← 正确答案
- B.高方差且低偏差
- C.低偏差且低方差
- D.高偏差且高方差
答案:A。参数化模型假设形式固定,当真实关系更复杂时,预测会系统性偏离真相,这是高偏差;但换个训练集它的预测也不会大变,这是低方差。阿简的川菜配方做蚝油生菜,“稳定地错”。B 是非参数化的典型特征,C、D 都不是参数化的固定搭配。
Q5. 当训练样本非常少时,更稳妥的模型选择是?
- A.高灵活度的非参数化模型
- B.强假设的参数化模型← 正确答案
- C.参数量很大的神经网络
- D.分支众多的复杂决策树
答案:B。样本少时,非参数化模型高度依赖局部数据,方差大,容易把噪声当规律;参数化的强假设相当于自带正则,总误差更小。阿活的笔记本只有三五页时,翻笔记瞎猜不如阿简按配方稳。A、C、D 在小样本下都容易过拟合。
Q6. 神经网络的参数数量很大,但它属于参数化模型,因为?
- A.参数很多所以容量很大
- B.参数量由网络结构预定← 正确答案
- C.参数量随样本数增长
- D.推断时计算速度极快
答案:B。判断参数化看的是“参数量是否在训练前由结构固定”,而不是多不多。神经网络参数量由层数、宽度决定,训练集从 1 万变 1 亿,参数个数不变,所以是参数化(固定容量)模型。A 因果颠倒,C 是非参数化的判据,D 与分类无关。
Q7. KNN 每次预测需要遍历全部训练样本,其单次推断时间复杂度是?
- A.常数时间且与样本量无关
- B.时间随样本和维度线性增长← 正确答案
- C.时间随样本数量平方级增长
- D.时间与总体数据量对数相关
答案:B。KNN 每次预测要计算新样本与全部 n 个训练样本在 d 维空间的距离,复杂度为 O(n·d)。A 是参数化模型的特征,C 是核方法训练的开销,D 依赖特殊索引结构而非 KNN 朴素实现的复杂度。笔记越厚翻得越久,就是这条公式的直觉。
Q8. 下列哪些属于非参数化模型?
- A.K近邻分类器模型← 正确答案
- B.高斯过程回归模型← 正确答案
- C.线性回归算法模型
- D.决策树分类模型← 正确答案
答案:ABD。判断非参数化的标准是有效参数量随数据增长:KNN 记住每个样本、高斯过程的核矩阵随样本点增多而膨胀、决策树的分支随数据变多变深。线性回归的系数个数固定,属于参数化。阿活笔记本的页数=见过的菜数,正是这三者的写照。
Q9. 相比非参数化模型,参数化模型的优势包括?
- A.推断速度快且部署轻量← 正确答案
- B.参数量随数据灵活变化
- C.模型体积小内存占用低← 正确答案
- D.对小样本数据更稳健← 正确答案
答案:ACD。参数化的优势来自“固定配方”:推断只需一次固定计算(快),模型只是几个参数(轻),强假设等于正则(小样本稳)。B 说的是非参数化的特征。阿简的连锁快餐店,出的就是这三张牌。
Q10. 下列哪些情况下应优先选择非参数化模型?
- A.训练数据规模非常充足← 正确答案
- B.线上推断要毫秒级响应
- C.目标任务高度非线性复杂← 正确答案
- D.内存与算力资源很充裕← 正确答案
答案:ACD。非参数化要吃数据、吃资源:数据足够多才能发挥灵活性,容量与算力充足才扛得住存储和检索开销,任务高度复杂非线性才值得放弃固定形式。B 要求毫秒级响应,恰恰是参数化的主场——配方卡出餐快,深笔记翻得慢。