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

相关推荐
森诺Alyson2 分钟前
前沿技术借鉴研讨-2025.8.26(多任务分类/预测)
论文阅读·人工智能·经验分享·论文讨论
lisw055 分钟前
医学冥思:生物技术的下一次革命
人工智能·微服务·学习方法·冥想
樱花的浪漫11 分钟前
CUDA的编译与调试
人工智能·深度学习·语言模型·自然语言处理
掘金一周22 分钟前
DeepSeek删豆包冲上热搜,大模型世子之争演都不演了 | 掘金一周 8.28
前端·人工智能·后端
小鹿的工作手帐25 分钟前
有鹿机器人如何用科技与创新模式破解行业难题
大数据·人工智能·科技·机器人
视觉语言导航31 分钟前
中农具身导航赋能智慧农业!AgriVLN:农业机器人的视觉语言导航
人工智能·深度学习·机器人·具身智能
人机与认知实验室37 分钟前
人机环境空战矩阵
人工智能·线性代数·算法·机器学习·矩阵
新智元39 分钟前
刚刚,清华姚班校友陈丹琦加入 Thinking Machines!和北大翁荔做同事
人工智能·openai
努力犯错玩AI43 分钟前
微软开源TTS模型VibeVoice:一键生成90分钟超长多角色对话,告别机械音!
人工智能·后端·github
新智元44 分钟前
刚刚,全球 AI 百强榜发布!ChatGPT 稳坐第一,DeepSeek 第三,前 50 有 22 个来自中国
人工智能·openai