机器学习是研究如何让计算机不需要明确的程序也能具备学习能力。
机器学习非常利于:不存在已知算法解决方案的复杂问题,需要大量手动调整或是规则列表超长的问题,创建可以适应环境波动的系统,以及帮助人类学习(比如数据挖掘)。
1 机器学习系统的种类
种类划分标准之间并不排斥,可以任意组合。
1.1 是否在人类监督下训练
- 监督使学习:分类任务(垃圾邮件过滤器);回归任务(预测汽车价格)
- 无监督式学习:聚类算法(访客分组);可视化和降维(特征提取);异常检测(信用卡防诈骗);关联学习(超市摆货规则)
- 半监督式学习:有大量的未标记数据和少量的标记数据(照片托管服务)
- 强化学习:通过学习系统(智能体)观察环境->选择执行策略->获得回报/惩罚->不断迭代直至产生最优策略(获得最大回报)(AlphaGo)
1.2 是否可以动态进行增量学习
- 批量学习:只能将其所学到的应用出来,无法进行增量学习。【学习过程离线】如果要自主学习适应新环境,需要不断地更新数据,并根据需要频繁地训练新版本的系统。适用于有限资源的系统(智能手机应用程序)
- 在线学习:需要接收持续的数据流(例如股票价格),同时对数据流的变化做出快速或自主的反映。【学习过程离线】资源有限或者大数据集都使用。依赖学习率(适应不断变化的数据的速度),需要对异常数据做出响应,否则会影响系统性能。
核外学习:适用于超大数据集(超出一台计算机的主存储器的数据)的再选学习算法。算法每次只加载部分数据,并针对这部分数据进行训练,然后不断重复这个,直到完成所有数据的训练。
1.3 是否简单地将新旧数据点进行匹配(如何泛化)
- 基于实例的学习:系统先完全记住学习实例,然后通过某种相似度度量方式将其泛化到新的实例。(垃圾邮件处理)
- 基于模型的学习:先构造示例的模型,然后使用该模型进行预测。需要设定效用函数(衡量模型多好)/成本函数(衡量模型多差)使用线性回归算法评估模型。(居民生活满意度)
2 机器学习的主要挑战
- 训练数据的数量不足
- 训练数据不具代表性
- 质量差的数据:丢弃异常情况;忽略实例缺少的部分特征或者补充
- 无关特征:特征工程
- 训练数据过度拟合:简化模型;收集更多训练数据;减少训练数据中的噪声
- 训练数据拟合不足:选择带有更多参数的模型;给学习算法提供更好的特征集;减少模型中的约束