Chapter-1 The Machine Learning Landscape —— 《Hands On Machine Learning with Scikit-Learn and TensorFlow》
什么是机器学习?
- 机器学习领域主要研究如何让计算机通过学习掌握特定的技能,而不是具体编程 —— Arthur Samuel
- 如果一个计算机程序通过经验\(E\),能够在任务\(T\)上的表现\(P\)更好,那么可以认为计算机学习到了东西 —— Tom Mitchell
为什么需要机器学习?
- 解决传统具体编程难以解决的问题
- 发现隐藏的关联,更好地理解问题
机器学习的不同类型
-
训练是否需要人类监督
- 监督学习
- 分类
- 回归
- 非监督学习
- 聚类
- 降维
- 可视化
- 关联规则学习
- 强化学习
- 监督学习
-
是否能够增量训练(都是离线状态下训练)
- 在线学习:增加一点数据,就训练一下
- 批量学习:一次性放入所有数据,加入新数据后重新训练
-
简单比较或者挖掘模式
- 基于实例学习: 比较样本,例如KNN
- 基于模型学习: 建立函数模型,例如神经网络
机器学习的主要挑战
-
训练数据数量不足
-
训练数据不具有代表性
-
训练数据质量差
- 异常数据
- 特征缺失
-
特征不相关
- 特征工程
- 特征选择
- 特征抽取
- 通过收集新数据,创建新特征
- 特征工程
-
过拟合
过拟合指的是模型在训练数据上表现很好,但是在测试数据上表现很差,泛化能力差。主要由于训练数据中存在噪声,相对复杂的模型误把噪声当做特征导致过拟合。- 简化模型
- 收集更多数据
- 减少训练数据噪音(修正噪音、移除异常数据)
- 正则化
-
欠拟合
模型过于简单,无法学习到数据之下的隐藏模式。- 选择参数更多,更复杂的模型
- 通过特征工程,给学习算法更好的特征
- 减小对模型的约束(减小正则项)