↵
一、机器学习概览
本书假定你对机器学习几乎一无所知。它的目标是给你实际实现能够从数据中学习的程序所 需的概念,直觉和工具。
https://github.com/ageron/handson-ml 是 Jupyter notebooks上的代码示例。
机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督学习、非监督学习、 半监督学习和强化学习。
另一个用来分类机器学习的准则是,它是否能从导入的数据流进行持续学习:批量和在线学习。
另一种分类机器学习的方法是判断它们是如何进行归纳推广的。大多机器学习任务是关于预 测的。这意味着给定一定数量的训练样本,系统需要能推广到之前没见到过的样本。对训练 数据集有很好的性能还不够,真正的目标是对新实例预测的性能。
有两种主要的归纳方法:基于实例学习和基于模型学习。
使用 Scikit-Learn 训练并运行线性模型步骤:
- 研究数据
- 选择模型
- 用训练数据进行训练(即,学习算法搜寻模型参数值,使代价函数最小)
- 最后,使用模型对新案例进行预测(这称作推断),但愿这个模型推广效果不差
机器学习的主要挑战
- 训练数据量不足
- 没有代表性的训练数据
- 低质量数据
- 不相关的特征(特征工程=特征选择+特征提取+收集新数据创建新特征。)
- 过拟合训练数据
- 欠拟合训练数据
回顾:
- 机器学习是让机器通过学习数据对某些任务做得更好,而不使用确定的代码规则。
- 有许多不同类型的机器学习系统:监督或非监督,批量或在线,基于实例或基于模型, 等等。
- 在机器学习项目中,我们从训练集中收集数据,然后对学习算法进行训练。如果算法是 基于模型的,就调节一些参数,让模型拟合到训练集(即,对训练集本身作出好的预 测),然后希望它对新样本也能有好预测。如果算法是基于实例的,就是用记忆学习样 本,然后用相似度推广到新实例。
- 如果训练集太小、数据没有代表性、含有噪声、或掺有不相关的特征(垃圾进,垃圾 出),系统的性能不会好。最后,模型不能太简单(会发生欠拟合)或太复杂(会发生 过拟合)。