机器学习常识 9: 如何定义机器学习问题

本文探讨了如何以问题为导向定义机器学习问题,通过约束满足问题的框架,举例说明了最优决策树构建和最优聚类问题的定义,强调了优化目标和约束条件的重要性。同时指出问题定义并不直接决定解决方案,因为要考虑模型的泛化性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要: 做研究应该以问题为导向. 机器学习问题定义清楚了, 才能保证在解决它的过程中不出大的偏差. 准确地抓住问题, 是这一系列贴子的重要动机.

本贴起到承上启下的作用: 一方面前面已经有了问题定义的例子, 另一方面接下来会有更多的问题定义.

1. 机器学习问题定义的模式

多数机器学习问题可以按照如下约束满足问题 (Constraint Satisfaction Problem) 进行定义:

  • 输入.
  • 输出.
  • 优化目标.
  • 约束条件.

看上去平平无奇. 只有你自己去面对具体的问题, 才会知道是否思路清晰, 心如磐石.

2. 例子

来两个栗子吧.

2.1 最优决策树构建

  • 输入: 结构化数据, 其中特征均为枚举型.
  • 输出: 决策树 (分类器, 模型的输出是标签).
  • 优化目标: 最小化叶节点数量.
  • 约束条件: 与训练集的所有数据相容, 即在训练数据上的分类准确率为 100%.

说明:

  • 有些训练数据本身有冲突对象, 即特征相同 (检测指标相同), 但标签值不同 (有的患病, 有的不患病), 这涉及数据的不确定性 (参见机器学习常识 1: 不确定性). 这时可以把约束条件改为第 1 个优化目标, 即最大化在训练数据上的分类准确率.

2.2 最优聚类

  • 输入: 结构化数据, 其中特征均为实型;簇数 k k k.
  • 输出: 聚类器, 它对每个实例 (可以是未见实例) 分配一个簇编号 (1 到 k k k).
  • 优化目标: 每个实例到簇中心的距离和 (参见 机器学习常识 8: kMeans 中的 (1) 式).

说明: 优化目标也可以写成簇内每对实例的距离之和. 但这样计算量要大得多. 例如, 1,000 个实例分成 10 个簇, 每个簇刚好有 100 个实例. 则计算实例到中心的距离只需要进行 1,000 次距离计算, 而计算实例对的距离, 需要 10 * C(100, 2) = 500*99 次.

3. 问题定义并不决定解决方案

在解决机器问题的时候, 我们很可能不直接按照定义来设计算法, 因为这涉及模型的泛化性 (参见 机器学习常识 4: 分类问题的训练与测试). 这是后面很多贴子讨论的重要内容.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值