预测模型及超参数: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 |

相关推荐
China_Yanhy5 小时前
动手学大模型第一篇学习总结
人工智能
空间机器人5 小时前
自动驾驶 ADAS 器件选型:算力只是门票,系统才是生死线
人工智能·机器学习·自动驾驶
C+++Python5 小时前
提示词、Agent、MCP、Skill 到底是什么?
人工智能
小松要进步5 小时前
机器学习1
人工智能·机器学习
泰恒5 小时前
openclaw近期怎么样了?
人工智能·深度学习·机器学习
KaneLogger6 小时前
从传统笔记到 LLM 驱动的结构化 Wiki
人工智能·程序员·架构
tinygone6 小时前
OpenClaw之Memory配置成本地模式,Ubuntu+CUDA+cuDNN+llama.cpp
人工智能·ubuntu·llama
正在走向自律6 小时前
第二章-AIGC入门-AIGC工具全解析:技术控的效率神器,DeepSeek国产大模型的骄傲(8/36)
人工智能·chatgpt·aigc·可灵·deepseek·即梦·阿里通义千问
轩轩分享AI6 小时前
DeepSeek、Kimi、笔灵谁最好用?5款网文作者亲测的AI写作神器横评
人工智能·ai·ai写作·小说写作·小说·小说干货
Aevget6 小时前
基于嵌入向量的智能检索!HOOPS AI 解锁 CAD 零件相似性搜索新方式
人工智能·hoops·cad·hoops ai·cad数据格式