当前位置: 首页 > news >正文

预测模型及超参数:1.传统机器学习:SVR与KNN

        假设我们是一家水果商店的老板,目标是根据水果的外观(形状、颜色、大小等特征)来预测它们的甜度(一个连续的数值,比如 0-10)。为了实现这个目标,我们可以使用机器学习模型——支持向量回归(SVR)和 K 近邻回归(KNN)。它们是两种不同的回归方法,各有优势。

1. SVR(支持向量回归):

        SVR 就像是用一根橡皮筋绕着水果散点分布的边缘,找到一条最佳的“回归线”或“超平面”,既不过于贴合数据(防止过拟合),又能很好地预测水果的甜度。SVR 试图找到一个“容器”(间隔),让尽可能多的数据点落在容器里,容器外部的数据点则会被“罚款”(误差越大,罚款越高)。

2. KNN(K 近邻回归):

        KNN 则像是问了一些经验丰富的水果挑选员(邻居):“你觉得这个水果的甜度是多少?” 模型会挑选最近的 K 个邻居,将他们的甜度预测平均后作为最终结果。换句话说,KNN 假设相似的水果有相似的甜度。

        SVR 的相关参数决定了“橡皮筋”回归线的形状和弹性。以下是常见的参数:

  1. kernel(核函数)
    • 作用:决定用什么方式测量水果的特征相似性。SVR 需要将特征映射到高维空间来找到最佳回归线,核函数就是映射的方式。
    • 通俗解释:核函数就像不同的“尺子”,用来度量水果的特征差异。例如:
      • linear:线性核,相当于用直尺,只考虑直线关系。
      • poly:多项式核,相当于用曲尺,可以考虑曲线关系。
      • rbf:径向基核(高斯核),相当于用柔性尺子,能适应更复杂的关系。
      • sigmoid:S 型核,适合处理一些非线性数据。
    • 取值:['linear', 'poly', 'rbf', 'sigmoid']
  2. C(惩罚系数)
    • 作用:控制“橡皮筋”的弹性,决定模型应该更多关注准确预测还是允许一定程度的误差。
    • 通俗解释:值越大,模型越倾向于减少误差(更贴合数据,但可能过拟合);值越小,模型更宽容(更简化,但可能欠拟合)。
    • 取值:1e-3 到 1e3,通常采用对数刻度搜索。
  3. epsilon(ε 边界)
    • 作用:定义“橡皮筋”容器的宽度,允许预测结果在这个范围内误差不用罚款。
    • 通俗解释:就像一个“甜度误差余地”。如果预测结果和真实值差在 ε 范围内,就不罚款;超出范围的部分才罚款。ε 越大,模型越宽松。
    • 取值:1e-3 到 1e1
  4. gamma(核函数的系数)
    • 作用:控制水果间相似性的权重。
    • 通俗解释:就像挑选挑选员的“视野宽度”。gamma 值较高时,模型更关注附近的水果(局部),值较低时,模型关注更远的水果(全局)。
    • 取值:['scale', 'auto']
      • scale:根据样本特征数量自动调整。
      • auto:直接使用特征数量的倒数。
  5. degree(多项式核的阶数,仅对 poly 核有效)
    • 作用:控制多项式核的复杂度。
    • 通俗解释:相当于决定“橡皮筋”的弯曲程度。阶数越高,模型越能拟合复杂的非线性关系。
    • 取值:通常设置为 2-5。
  6. max_iter(最大迭代次数)
    • 作用:控制训练过程的限制,避免时间过长。
    • 通俗解释:就像告诉水果商挑选员“最多只能尝试这么多次”,如果超出就停止。
    • 取值:-1 表示无限制,或设置为一个正整数。

SVR的完整数学原理推导及超参数解释如下视频:(推荐1.25倍速)

SVR数学原理与超参数

K 近邻回归(KNN)参数

KNN 的参数决定了模型如何选择邻居以及如何预测甜度。以下是KNN中所含参数:

  1. n_neighbors(邻居数)
    • 作用:决定挑选多少个最相似的水果来预测甜度。
    • 通俗解释:假设模型问了 n_neighbors 个挑选员的意见,把他们的预测甜度平均后作为最终结果。n_neighbors 越大,预测越稳健,但可能无法捕捉细节;越小,预测更灵活,但可能受单个“挑选员”的影响。
    • 取值:通常为正整数,比如 1-30。
  2. weights(权重)
    • 作用:决定邻居对预测结果的贡献。
    • 通俗解释:挑选员的意见可以是等权重(uniform),即每个人的建议权重相同;也可以是按距离权重(distance),即离目标水果越近的挑选员意见权重越高。
    • 取值:['uniform', 'distance']
  3. algorithm(搜索算法)
    • 作用:决定如何快速找到最近的邻居。
    • 通俗解释:就像挑选员的寻找策略:
      • auto:自动选择最优算法。
      • ball_tree:使用“球树”结构。
      • kd_tree:使用“kd 树”结构。
      • brute:穷举所有数据点。
    • 取值:['auto', 'ball_tree', 'kd_tree', 'brute']
  4. leaf_size(叶子节点大小)
    • 作用:控制树结构的复杂度。
    • 通俗解释:如果用球树或 kd 树,leaf_size 决定挑选员的分组大小,值越小,分组越细致;值越大,分组越粗略。
    • 取值:通常为正整数,比如 10-50。
  5. p(距离度量的指标,曼哈顿距离或欧几里得距离)
    • 作用:控制相似性计算时使用的距离公式。
    • 通俗解释
      • p=1:使用曼哈顿距离(城市街道的网格距离)。
      • p=2:使用欧几里得距离(直线距离)。
    • 取值:1 或 2,也可以更高。

KNN的完整数学原理推导及超参数解释如下视频:(推荐1.25倍速)

KNN数学原理与超参数


参数汇总表:

参数名

模型

通俗解释

取值范围

kernel

SVR

测量水果特征相似性的“尺子”

'linear', 'poly', 'rbf', 'sigmoid'

C

SVR

橡皮筋的弹性,控制过拟合程度

1e-3 到 1e3

epsilon

SVR

允许误差的宽度

1e-3 到 1e1

gamma

SVR

挑选员视野的宽窄

'scale', 'auto'

degree

SVR

橡皮筋的弯曲程度,仅对 poly 核有效

2-5

max_iter

SVR

最多尝试预测几次

-1 或正整数

n_neighbors

KNN

挑选几个最相似的水果

1-30

weights

KNN

挑选员的建议是等权还是按距离加权

'uniform', 'distance'

algorithm

KNN

挑选邻居的策略

'auto', 'ball_tree', 'kd_tree', 'brute'

leaf_size

KNN

挑选员的分组大小

10-50

p

KNN

使用曼哈顿距离(p=1)还是欧几里得距离(p=2)

1-5

http://www.xdnf.cn/news/1374463.html

相关文章:

  • 工业网络安全:保护制造系统和数据
  • HIVE的Window functions窗口函数【二】
  • 【Hadoop】Zookeeper、HBase、Sqoop
  • 全球位置智能软件CR10为73%,市场集中度高
  • Java中高效获取IP地域信息方案全解析:从入门到生产实践
  • jQuery版EasyUI的ComboBox(下拉列表框)问题
  • JS(面试)
  • Proxmox VE 中启用 CentOS 虚拟机的串口终端(xterm.js 控制台)
  • 深度剖析HTTP和HTTPS
  • .NetCore 接入 Nacos,实现配置中心和服务注册
  • 本地windows电脑部署html网页到互联网:html+node.js+ngrok/natapp
  • oracle 表空间扩容(增加新的数据文件)
  • 使用appium对安卓(使用夜神模拟器)运行自动化测试
  • STM32八大模式
  • 基于单片机空调温度控制测温ds18b20系统Proteus仿真(含全部资料)
  • 人机交互如何变革科普展示?哪些技术正成吸睛焦点?
  • 初春养生指南模板页
  • Rust 登堂 之 迭代器Iterator(三)
  • el-carousel在新增或者删除el-carousel-item时默认跳到第一页的原因和解决
  • betaflight configurator 如何正确烧写飞控
  • 基于muduo库的图床云共享存储项目(二)
  • Linux 云服务器内存不足如何优化
  • 【RAG】使用llamaindex进行RAG开发
  • 6 种无需 iTunes 将照片从 iPhone 传输到电脑
  • TDengine IPv6 支持用户手册
  • “java简单吗?”Java的“简单”与PHP的挑战:编程语言哲学-优雅草卓伊凡
  • KDMS V4 重磅升级,智能迁移赋能国产化替代!
  • android证书相关
  • 像WPS Office 一样处理pdf页面尺寸
  • AI 解决生活小事 2——用 AI 做一回新闻播客