一、简介 机器学习就是使用计算机来“学习”如何解决问题而无需“编程”(这是人工智能的一个分支)。 我们获取一些数据,在该数据上训练模型,然后使用训练后的模型对新数据进行预测。 基本上,这是一种使计算机创建程序的方法,该程序给出具有已知输入的某些输出,而后者给出与其他但相似的输入的智能输出。 我们需要对难以手动编程的分类/预测问题的所有可能变体的案例进行机器学习。
二、机器学习 机器学习的基本思想是使计算机从数据中学到东西。 机器学习有两种形式: 监督学习:您向计算机提供了一些输入/输出对,因此在将来出现新输入时,您将获得智能输出。 无监督学习:您可以让计算机从数据本身中学习,而无需显示预期的输出。 监督学习的例子 图片分类:带有图片/标签的火车。 然后在将来您提供一张新图像,期望计算机可以识别新对象(分类) 市场预测:您使用历史市场数据训练计算机,并要求计算机预测未来的新价格(回归) 无监督学习的例子 聚类:您要求计算机将相似的数据分成多个簇,这在研究和科学中至关重要。 高维可视化:使用计算机帮助我们可视化高维数据。 生成模型:在模型捕获了输入数据的概率分布之后,它将能够生成更多数据。 这对于使分类器更健壮非常有用。
特征 想象以下问题,您正在一个应该对肿瘤是良性还是恶性进行分类的系统上,首先,您唯一需要做出决定的信息就是肿瘤的大小。 我们可以在下面看到此示例的训练数据分布。 观察到肿瘤大小的特征(或特征)似乎并不能单独决定肿瘤是恶性还是良性。
现在考虑我们为该问题(年龄)添加了另一个功能。 直觉是,通过添加与您要解决的问题相关的更多功能,可以使系统更强大。 像这样的复杂系统可能具有多达数千个功能。 您可能会问的一个问题是如何确定与我的问题相关的功能。 另外,使用哪种算法可以最好地解决无限数量的可能特征,例如支持向量机具有一些数学技巧,可让您使用大量特征。
训练 这个想法是提供一组输入及其预期的输出,因此在训练之后,我们将拥有一个模型(假设),该模型会将新数据映射到一个训练过的类别中。 例如:假设您提供了一组图像以及以下类别(鸭子还是不鸭子),其想法是,经过训练,您可以从互联网上获得鸭子的图像,并且模型应该告诉您这是“鸭子”。
绝招 有很多不同的机器学习算法,在本书中,我们将更多地集中在神经网络上,但是没有一个单一的最佳算法,这全部取决于您需要解决的问题和可用的数据量。 基本食谱 这是超级简单的秘诀(可能涵盖了50%的可能情况),我们稍后将解释“如何做”,但这为在处理机器学习问题时如何思考提供了一些提示。 首先检查您的模型在训练数据上是否运行良好,是否不能使模型更复杂(更深或更深的神经元) 如果是,则对“测试”数据进行测试,如果不是,则表示过度拟合,而解决过度拟合的最可靠方法是获取更多数据(将测试数据放入训练数据中不计算在内)