ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

参数化模型与非参数化模型:机器学习算法分类的深入辨析(基于 Python Machine Learning 项目 FAQ)

参数化模型与非参数化模型:机器学习算法分类的深入辨析(基于 Python Machine Learning 项目 FAQ) 机器学习教程【免费下载链接】python-machine-learning-bookThe Python Machine Learning (1st edition) book code repository and info resource项目地址https://gitcode.com/gh_mirrors/py/python-machine-learning-book点击查看免费下载参数化parametric与非参数化non-parametric是机器学习中划分算法族的一条关键分界线但非参数化这个术语极具迷惑性——它并不意味着模型没有参数。本文以 faq/parametric_vs_nonparametric.md 为核心骨架结合本仓库Python Machine Learning 第一版配套代码库中的线性模型、决策树、KNN、RBF 核 SVM 等源码实例系统辨析两种模型的定义、复杂度增长规律、统计视角下的含义及其在实战选型中的意义。读完本文你将能准确回答为什么线性 SVM 是参数化模型而 RBF 核 SVM 不是这类问题并在实际建模时据此做出合理取舍。一、先破除误解非参数化≠没有参数原文开篇就点破了最常见的认知误区non-parametric does not mean that they have NO parameters!非参数化non-parametric一词容易让人望文生义地以为模型不含任何参数事实恰恰相反非参数化模型的参数数量会随数据量的增加而增长甚至可能趋近于无穷大。反观参数化模型其参数数量是有限的、固定的。用一句话概括两者的本质区别参数化模型参数数量有限且固定或者说模型结构固定训练结束后模型就定型了之后不再需要原始训练数据。非参数化模型参数数量理论上无穷多模型复杂度随训练样本数量的增长而增长预测阶段往往仍高度依赖训练数据。这个区分在整个机器学习体系中是一个基础性的分类维度。本仓库的 faq/classifier-categories.md 在讨论分类器分类时就明确指出除了判别式 vs 生成式懒惰 vs 急切之外第三种重要的划分方式正是参数化 vs 非参数化非参数化表示representation随训练数据规模增长例如决策树、K 近邻参数化表示是固定的例如逻辑回归等大多数线性分类器。二、典型例子两组算法的直观对照原文给出了两组非常典型的对照我们结合仓库源码逐一展开。2.1 参数化模型的代表线性模型线性回归、逻辑回归、线性 SVM都是典型的参数化学习算法它们拥有的参数是固定大小的权重系数向量 w。以仓库中第 2 章用纯 Python 实现的感知机Perceptron和自适应线性神经元Adaline为例两者都是经典参数化线性模型。code/optional-py-scripts/ch02.py 中感知机类在初始化时就用固定大小的零向量分配参数空间self.w_ np.zeros(1 X.shape[1])其中self.w_[0]是偏置单元bias unitself.w_[1:]是对应于每个特征的权重系数。无论训练数据增加到多少条参数个数始终等于特征数 1不会随样本量改变——这正是参数化模型的标志性特征。其决策函数是一个固定的内积点积形式def net_input(self, X): return np.dot(X, self.w_[1:]) self.w_[0]这与 faq/logistic_regression_linear.md 中解释逻辑回归为何是线性模型的论述完全一致逻辑回归属于广义线性模型其输出始终依赖于输入与参数的求和additive不存在w1*x1 * w2*x2这类参数交互项。因此逻辑回归的模型容量被线性可加这一结构牢牢约束住属于典型的参数化、固定结构的学习器。线性 SVM 同理其决策边界由支持向量与权重向量决定模型最终只保存一组固定大小的权重系数因此也是参数化模型。2.2 非参数化模型的代表KNN、决策树与 RBF 核 SVM与之相对K 近邻K-NN、决策树、RBF 核 SVM属于非参数化学习算法因为它们的有效参数可理解为模型所需保存的信息/结构随训练集规模增长。K 近邻是最直观的例子。仓库 faq/lazy-knn.md 详细解释了 K-NN 被称为懒惰学习器的原因它并不在训练阶段学习一个判别函数而是直接把整个训练数据集记住。因此训练数据越多模型需要保存的信息越多——参数训练样本本身随数据量线性增长。在第 3 章中KNN 在 scikit-learn 中的标准用法为knn KNeighborsClassifier(n_neighbors5, p2, metricminkowski)见 code/optional-py-scripts/ch03.py 与 code/ch03/ch03.ipynb。每次预测都要在整个训练集中搜索最近邻这就是模型复杂度随数据增长在计算上的直接体现。决策树同样是非参数化的树的深度、节点数、分裂规则都由训练数据决定数据越多树可以长得越复杂如果不加剪枝限制的话。仓库第 3 章中决策树的构造方式为tree DecisionTreeClassifier(criterionentropy, max_depth3, random_state0)见 code/optional-py-scripts/ch03.py。即便这里人为限制了max_depth3决策树的整体结构仍然完全由训练数据塑造而非由预先固定的参数个数决定。三、深度剖析为什么 RBF 核 SVM 是非参数化的而线性 SVM 是参数化的这是原文中最具思辨价值的一个问题。两种 SVM 在训练目标最小化 hinge loss上完全一致但它们的模型表示截然不同线性 SVM决策函数是sign(w·x b)模型只需保存一组固定大小的权重向量w参数个数 特征数 1与训练样本量无关。RBF 核 SVM决策函数依赖于所有训练样本两两之间的核函数值。RBF 核定义为K(x_i, x_j) exp(-γ||x_i - x_j||²)模型需要构造并保存一个规模为 n×n 的核矩阵kernel matrix其中 n 是训练样本数。正是通过计算训练点两两之间的距离来构造核矩阵这一操作使得模型的表示规模随训练集大小 n 增长从而让 RBF 核 SVM 被归入非参数化模型。仓库 faq/select_svm_kernels.md 从模型选择的角度印证了这一观点Linear SVM is a parametric model, an RBF kernel SVM isnt, and the complexity of the latter grows with the size of the training set.该文还进一步列举了 RBF 核 SVM 相比线性 SVM 在实际使用中的代价训练更昂贵需要计算和存储 n×n 的核矩阵预测更昂贵新样本需要与所有训练样本计算核值再映射到那个无穷维的高维特征空间超参数更多除了正则化参数 C还要调核参数 γ模型选择如网格搜索成本更高更容易过拟合模型越复杂越容易在训练集上记住噪声。仓库第 3 章的源码实践也展示了 RBF 核 SVM 的实际配置方式例如svm SVC(kernelrbf, random_state0, gamma0.10, C10.0) svm SVC(kernelrbf, random_state0, gamma100.0, C1.0)见 code/optional-py-scripts/ch03.py 与 code/optional-py-scripts/ch03.py。注意 γ 从 0.10 变到 100.0决策边界会从近似线性变得极度弯曲——这正是非参数化模型容量大、对超参数敏感的直接体现。补充理解RBF 核的无穷维映射RBF 核 SVM 之所以强大是因为它等价于把原始特征映射到一个更高维理论上无穷维的特征空间在这个空间里数据变得线性可分然后仍然使用线性决策边界。因此RBF 核 SVM 的决策区域本质上仍是线性的——只是线性性发生在被核函数隐式提升后的空间中。这一点在 faq/select_svm_kernels.md 中也有明确说明也是理解其参数随数据增长性质的关键背景。四、统计学视角参数化与分布假设的关联原文还指出在统计学语境中参数化一词还有另一层含义它通常与一个你假设数据服从的特定概率分布绑定该分布带有有限个参数。例如若假设数据服从正态分布则只需估计两个参数均值 μ 和标准差 σ。一旦这两个参数确定整个分布就完全确定了——这是典型的参数化建模。非参数化方法则不预先假设数据的分布形式因此可以直观地把它理解为一种准无假设assumption-free的模型模型形状完全由数据自己塑造。这也是为什么在机器学习语境里决策树、KNN 这类不依赖分布假设的算法被视为非参数化——它们不对数据的生成机制做正态、伯努利之类的强假设。五、定义的边界警惕过度简化原文在结尾处给出了一条重要的方法论提醒参数化与非参数化的定义本身就存在一定的模糊性不宜过度较真。引用《The Handbook of Nonparametric Statistics 11962》第 2 页的权威表述A precise and universally acceptable definition of the term nonparametric is not presently available. The viewpoint adopted in this handbook is that a statistical procedure is of a nonparametric type if it has properties which are satisfied to a reasonable approximation when some assumptions that are at least of a moderately general nature hold.目前尚不存在关于非参数化一词精确且被普遍接受的定义。本手册采纳的观点是如果一个统计程序在若干至少具有中等一般性的假设近似成立时其性质仍能近似满足则该程序属于非参数类型。这段引文告诉我们实际应用中不必执着于给某个算法贴一个绝对精确的标签更重要的是理解两种模型在参数规模、复杂度增长方式、训练/预测成本、过拟合风险上的实际差异并据此做出工程选型。六、实战启示何时选择参数化何时选择非参数化综合原文与 faq/select_svm_kernels.md 的论述可以总结出以下可落地的选型建议维度参数化模型线性回归 / 逻辑回归 / 线性 SVM非参数化模型KNN / 决策树 / RBF 核 SVM参数数量固定≈ 特征数 1随训练数据量增长模型复杂度固定不随数据增长随数据增长而增长训练成本低一次优化求出权重KNN 无显式训练RBF SVM 需构造 n×n 核矩阵成本高预测成本低一次点积高需遍历训练集找最近邻 / 与全部样本算核值超参数少如正则化强度多如 K 值、γ、max_depth 等调参成本高过拟合风险相对较低相对较高需要正则化/剪枝控制分布假设可关联特定分布假设如正态准无分布假设工程上的经验法则源自 faq/select_svm_kernels.md从简单模型开始在不确定数据形态时先尝试最简单的假设空间。线性问题用线性 SVM 或逻辑回归即可若数据本身线性可分线性核已经足够。非线性问题再升级当数据明确非线性可分时才引入 RBF 核等非线性核此时虽然训练、预测、调参成本全面上升但换来的是对复杂决策边界的拟合能力。奥卡姆剃刀原则在效果相当的前提下优先选择更简单的参数化模型——不仅训练快、预测快、易调参而且过拟合风险更低。借助交叉验证做最终裁决在多维真实数据上无法直接可视化时应通过网格搜索GridSearchCV等超参数搜索手段比较不同模型的性能指标准确率、F1、MCC、ROC AUC 等来决定最终选型。仓库第 6 章的管道Pipeline 网格搜索代码见 code/optional-py-scripts/ch06.py正是这一流程的完整示范。七、总结非参数化不等于没有参数而是指参数或模型表示的规模随训练数据增长线性回归、逻辑回归、线性 SVM 是参数化模型的典型代表其参数个数固定KNN、决策树、RBF 核 SVM 是非参数化模型的典型代表其复杂度随数据规模增长RBF 核 SVM 因需构造基于训练样本两两距离的核矩阵而成为非参数化模型在统计学语境中参数化还隐含对数据分布做有限参数假设之意非参数化则近似无分布假设参数化/非参数化的定义存在模糊性参见 1962 年《非参数统计手册》的经典引文实战中应更关注其在参数规模、成本与过拟合风险上的实际差异。理解这组概念是进行模型选型、控制过拟合、评估训练/预测成本的重要基础——它帮助你在面对一个新任务时清醒地权衡该用固定结构的线性模型还是让模型复杂度随数据自由生长。赞分享机器学习教程【免费下载链接】python-machine-learning-bookThe Python Machine Learning (1st edition) book code repository and info resource项目地址https://gitcode.com/gh_mirrors/py/python-machine-learning-book点击查看免费下载相关推荐DBeaver 崩溃后如何找回未保存的 SQL 脚本一份完整恢复指南DBeaver 崩溃后如何找回未保存的 SQL 脚本一份完整恢复指南 DBeaver 崩溃或闪退后未保存的 SQL 脚本多数情况下都能找回。本文先帮你判断丢数据库客户端桌面应用数据库如何快速上手MaxViT-Large TF 224.in1k5分钟实现图像分类的完整指南如何快速上手MaxViT Large TF 224.in1k5分钟实现图像分类的完整指南 MaxViT Large TF 224.in1k是一款基于多轴视觉TTermuxAlpine安全配置保护你的移动Linux环境TermuxAlpine安全配置保护你的移动Linux环境 TermuxAlpine是一款能在Android设备上通过Termux安装Alpine Linux开发工具CLI上一篇Ory Kratos 深度解析云原生身份与用户管理系统的核心架构、Auth0/Okta 迁移方案与快速部署指南下一篇突破矩阵乘法瓶颈CUTLASS分组GEMM技术详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表