《数据科学与分析:Python语言实现》 —3.5 机器学习和数据科学
3.5 机器学习和数据科学
我们希望使用机器学习来解决的许多问题往往具有高度复杂性。在尝试应用算法时我们必须牢记这一点,因为不太可能找到一个完美的实际解决方案。尽管如此,如果机器可以学习,我们也可以。机器学习算法适用于数据科学和分析流程中问题的解决方案,我们有兴趣从数据中获取有价值的见解。
举一个监督学习任务的例子,我们的最终目标是找到一个函数h(x)(称为假设)。此功能使我们能够根据给定的输入数据x预测问题的值。在实际情况中,特征向量x中的输入是变化的,我们必须决定要考虑的重要特征是什么,然后将它们包含在我们的模型中。
使用训练数据点完成预测器h(x)的优化,使得对于它们中的每一个,我们具有对应于预知的输出y的输入值xtrain。因此,从这个意义上讲,学习是在训练模型的任务中有效地使用数据,以完成其设定的工作。
从这个角度来看,我们可以将涉及该训练任务与1.4节中列出的数据科学工作流程步骤联系起来:一旦我们确定了任务,就需要获取相关数据、提取相关特征并构建模型。除了这些步骤之外,我们还必须考虑3个重要部分,这些部分将使我们能够决定对于遇到的问题,应选择何种机器学习算法。
通过每个预测,我们可以找到该预测与真实输出值之间的差异。这样做是为了评估预测器的执行情况。该过程的一个重要部分是获得能够在一般条件下良好运行的模型,而不是只对所训练的数据起作用的模型。
例如,如果我们有兴趣构建一个能够识别猫脸的算法,我们希望它能够很好地识别新的、以前没有见过的猫。如果算法只能识别Bowman、伊比利亚猞猁,却不能识别Mittens、Kitty,那么它不是一个很好的部署算法。然而,即使要识别的物体是图画、照片中的猫或真实的猫,算法也能够识别出来,那么这个算法很棒。当我们讨论算法评估时,将再提及这一点。
在这一点上,需要明确的是没有完美的模型,只有足够好的合适的模型。学习的改进来自在训练数据中泛化常规模式,以便能够对未观察到的数据点进行说明。因此,我们应该注意不要获得“记忆”数据的模型,也就是过度拟合。我们可以通过采用正则化和交叉验证等技术来避免这种情况,本章后面的内容中将会介绍。
- 点赞
- 收藏
- 关注作者
评论(0)