机器学习的几个革命性教训
扫描二维码
随时随地手机看文章
在机器人技术、智能家电、智能零售店、自动驾驶汽车技术等的推动下,我们正步入一个新时期。机器学习是所有这些新时代技术进步的前沿。在不久的将来,自动化机器的发展将使得机器与人类智能相当甚至超过人类智能。机器学习无疑是下一个“大”事件。而且,人们相信,未来的大多数技术都将与之挂钩。
为什么机器学习这么重要?
机器学习非常重要,因为它有助于预测人类无法预测的行为和模式。机器学习有无数非常有用的实际应用。通过机器学习,有可能管理以前令人困惑的场景。在理解了具有高效泛化能力的机器学习模型之后,可以使用它做出相应的重要决策。机器学习使个人能够根据大量场景做出决策。显然,现在还不能编写出能够用于所有新场景的代码。
人工智能能够执行各种需要学习和判断的活动。从自动驾驶汽车、投资银行、许多医疗相关功能到招聘,人工智能已经被用于完成不同领域的各种任务。
6 个关于机器学习的革命性教训
机器学习算法能够简单地从场景中泛化,得到执行必要任务的方法。这样更切实可行和而且具有成本效益,然而,手工编程并不那么具有成本效益和可行性。“可用数据”数量的增加肯定会导致出现更多的与获取数据相关的问题。因此,机器学习是未来,因为它将广泛应用于计算机和其他领域。尽管如此,开发有效的机器学习应用需要大量的“黑魔法”,这在手册中很难找到。
以下是关于机器学习最有价值的 6 个经验教训:
1. 泛化是核心
机器学习最基本的特征之一是,算法必须从训练的数据中泛化出该领域中所有不可见场景的完整领域,以便在使用模型时能够做出正确的推断。这个泛化的过程需要我们用来训练模型的数据有一个我们希望算法去学习的,像样的和可靠的映射。数据的质量越好,表达能力越高,模型就越容易理解从输入到输出的未知的和基本的“真实”映射。泛化是指从某种精确的东西转向某种广泛的东西。
机器学习算法是从历史场景中自动简化的技术。它们有能力在更大的数据量和更快的速度上进行泛化。
所有机器学习初学者最常犯的错误就是对训练数据进行测试,然后看起来像是成功了。如果在新数据上尝试所得到分类器,它通常不会比随机猜测更好。所以,如果你想要开发一个分类器,一定要留一些数据做测试。同时,用你的分类器对测试数据进行测试。
2. 学习=表示+评估+优化
机器学习算法分为 3 个部分,表示、评估和优化。
· 表示:数据需要以合适的算法形式输入。对于文本分类,可以从全文输入中提取特征,并将其变为 bag-of-words 的表示形式。相反,选择一种表示方法与选择它可能学习的分类器集是同义词。这个集合称为学习者的假设空间。
· 评估:这是一个帮助我们理解我们正在做什么的度量。需要一个评估过程来区分好分类器和不好的分类器。如果你可以给测试集预测出一个数字,例如测试集的大小为 n,在这里,你可以计算平均绝对误差,甚至可以选择使用均方根误差。
· 优化:它是指寻找方法来选择不同的技术来优化它的过程。例如,我们可以简单地尝试假设空间中的每一个假设。我们也可能选择使用更智能的技术来尝试最有利的假设。同时,当我们进行优化时,我们可以利用评价函数来了解这个特定的假设是否成立。如果评价函数有多个最优值,则优化技术允许用户了解更多关于所创建分类器的信息。首先,初学者应该从现成的优化器开始,然后再转向定制设计的优化器。
3. 只有数据是不够的!
泛化是主要目的,但主要关注的是,无论数量多少,仅有数据是不够的。但是,幸运的是,我们想掌握的功能并不是从所有可计算的功能中统一得出的!即使是最一般的假设(包括平滑度,具有类似类的相似示样本,不充分的依存关系或受限制的复杂度)也足以正常运行,这是使机器学习如此强大的主要原因之一。基本上,所有初学者都联合了解大数据来制作应用程序。
4. 小心过拟合
如果数据不充分,不能完全训练好一个分类器,我们可能最终得到的是只在训练集上有用的分类器。这个问题被称为 overfitting,它被认为是 ML 的一个麻烦事。发现自己的模型过拟合了是有用的,但并不能解决这个问题。你得想办法摆脱它。幸运的是,你有很多选择去尝试。交叉验证有助于防止过拟合。训练更多的数据,正则化,删除特征,早期停止,集成是一些其他的防止过拟合的方法。
5. 特征工程是成功的关键
特征工程是利用数据的核心领域知识来开发使机器学习算法更好工作的特征的技术。如果处理得当,它可以通过从原始数据中开发特征来增强算法的预测能力。这些特征简化了整个机器学习过程。利用几个独立的特征,很好地与类相关,然后让学习变得容易。
6. 准确性&简单性是不一样的
奥卡姆剃刀(Occam’s razor)精辟地指出,实体的增加不应超出要求。这意味着两个分类器有相似的训练误差,两个分类器中较简单的可能有最低的测试误差。每一个机器学习项目都应该以你希望回答的业务问题为目标。你应该从制定分析的主要成功原则开始。
应用 Occam’s razor 并选择最容易解释、阐明、部署和管理的模型是构建强大的机器学习程序的关键步骤。建议选择最简单的、足够精确的模型,但是,要确保你深入了解这个问题,以了解“足够精确”在实践中意味着什么。