1. 机器学习基本知识(3)——机器学习的主要挑战

1.5 机器学习的主要挑战

1.5.1 训练数据不足

  • 对于复杂问题而言,数据比算法更重要
  • 但中小型数据集仍然很普遍,获得额外的训练数据并不总是一件轻而易举或物美价廉的事情,所以暂时不要抛弃算法。

1.5.2 训练数据不具有代表性

  • 采样偏差:如果样本太小,那么会出现采样噪声(即非代表性数据被选中),但如果采样方法有缺陷,即使是非常大的样本也可能不具有代表性。

1.5.3 低质量数据

训练数据充满错误、异常值和噪声(例如,低质量的测量产生的数据),系统将更难检测到底层模式,也就更不太可能表现良好。

需要对数据进行清洗,必须决定是完全忽略此属性、忽略这些实例、将缺失值补充完整(例如,填写年龄的中位数),还是训练一个具有该特征的模型,再训练一个没有该特征的模型。

1.5.4 无关特征

机器学习项目成功的一个关键部分是提取出好的特征集来进行训练。这个过程称为特征工程,包括以下步骤:

  • 特征选择(在现有特征中选择最有用的特征进行训练)。
  • 特征提取(结合现有特征产生更有用的特征,正如我们之前看到的,降维算法可以提供帮助)。
  • 通过收集新数据创建新特征。

1.5.5 过拟合训练数据

  • 过拟合,也就是指该模型在训练数据上表现良好,但泛化效果不佳。
  • 当模型相对于训练数据的数量和噪声过于复杂时,就会发生过拟合。以下是可能的解决方案:
    • 通过选择参数较少的模型(例如,线性模型而不是高阶多项式模型)、减少训练数据中的属性数量或约束模型来简化模型。
    • 收集更多训练数据。
    • 减少训练数据中的噪声(例如,修复数据错误并移除异常值)。
  • 正则化:通过约束模型使它更简单,并降低过拟合风险的过程。

正则化例子:

例如,我们之前定义的线性模型有两个参数:θ0和θ1。

因此,该学习算法有两个自由度来调整模型使其适应训练数据,它可以调整直线的高度(θ0)和斜率(θ1)。

如果我们强制θ=0,该算法只有一个自由度,并且会更难正确地拟合数据:它所能做的就是向上或向下移动线以尽可能接近训练实例,所以它最终会在平均值附近。这确实是一个非常简单的模型!

如果我们允许算法修改θ1,但强制它保持较小的值,那么该学习算法的自由度将在1到2之间。它生成的模型会比有两个自由度的模型更简单,但比只有一个自由度的模型要复杂一些。

你希望在完美拟合训练数据和保持模型足够简单之间找到适当的平衡点,以确保模型能够较好地泛化。

  • 超参数:学习期间应用的正则化程度可以由超参数控制。超参数是学习算法(而非模型)的参数。因此,它不受学习算法本身的影响,必须在训练前设置并在训练期间保持不变。

如果将正则化超参数设置得非常大,你将得到一个几乎平坦的模型(斜率接近于零)。学习算法虽然肯定不会过拟合训练数据,但也不太可能找到好的解决方案。调整超参数是构建机器学习系统的重要部分。

1.5.6 欠拟合训练数据

欠拟合与过拟合正好相反:当模型太简单而无法学习数据的底层结构时,就会发生欠拟合。

例如,生活满意度的线性模型容易出现欠拟合。

因为现实情况总是比模型更复杂,所以它的预测必然是不准确的,即使是在训练样例上也是如此。

以下是解决此问题的主要方式:

  • 选择具有更多参数的更强大的模型。
  • 为学习算法提供更好的特征(特征工程)。
  • 减少对模型的约束(例如通过减少正则化超参数)。

1.5.7 总结💥

  • 机器学习是关于如何让机器更好地完成某些任务的理论,它从数据中学习而无须清晰地编写规则。
  • 机器学习系统有许多类型:有监督和无监督,批量的和在线的,基于实例的和基于模型的。
  • 在机器学习项目中,你从训练集中收集数据,然后将训练集提供给学习算法。
    • 如果该算法是基于模型的,它会调整一些参数以使模型拟合训练集(对训练集本身做出良好的预测),然后希望它也能够对新实例做出良好的预测。
    • 如果该算法是基于实例的,那么它会记住样例,并根据相似性度量将它们与学习过的实例进行比较,从而泛化到新实例。
  • 如果训练集太小,或者数据不具有代表性、有噪声或被不相关的特征(垃圾进、垃圾出)污染,那么系统的表现不会很好。
  • 最后,你的模型既不能太简单(这种情况会导致欠拟合)也不能太复杂(这种情况会导致过拟合)。
  • 一旦训练了一个模型,你就不能只是"希望"它泛化到新实例,你还需要评估它并在必要时对其进行微调。
相关推荐
Chengbei114 分钟前
红队专属Bing Dork自动化工具,敏感信息侦察效率拉满、自动生成可视化信息泄露审计报告
java·人工智能·安全·web安全·网络安全·自动化·系统安全
掘金一周17 分钟前
掘友们,一人说一个你买过夯到爆的东西 | 沸点周刊 4.23
前端·人工智能·后端
AI首席情报员_阿布20 分钟前
Numa:用 Rust 从零造一个 DNS 解析器,顺手解决了开发者最头疼的几件事
人工智能·rust·dns
了不起的云计算V21 分钟前
2027年信创大考倒计时,联想开天打出“生态+AI”的组合牌
人工智能
财经资讯数据_灵砚智能22 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月21日
人工智能·python·信息可视化·自然语言处理·ai编程
电子科技圈24 分钟前
IAR作为Qt Group独立BU携两项重磅汽车电子应用开发方案首秀北京车展
开发语言·人工智能·汽车·软件工程·软件构建·代码规范·设计规范
Axis tech27 分钟前
Xsens:使用惯性动捕技术研究更安全的足球运动训练
人工智能
淹死在鱼塘的程序猿27 分钟前
🚀 告别"一次性聊天":揭秘让 AI 智能体越用越聪明的秘密武器 —— Skills
前端·人工智能·agent
醉卧考场君莫笑40 分钟前
NLP(正向,逆向,双向匹配法分词及代码实现)
人工智能·自然语言处理·easyui
拓朗工控1 小时前
视觉革命:独立显卡工控机在医疗领域的深度应用
人工智能·智慧医疗·工控机