一、机器学习发展历程
- 逻辑推理,例如神经网络(neural networks)等
- 基于知识学习,例如专家系统(expert systems)等
- 归纳和统计学习,例如BP神经网络、统计学习等
- 深度学习,例如深度神经网络(deep neural networks)等
二、传统编程 vs. 机器学习
- 传统编程:具有明确指令流程的计算机程序,由数据(data)和程序(program)得到结果(results)
- 机器学习:自动向示例学习的计算机程序,由数据(data)和结果(results)得到程序(program)
三、机器学习关键四要素
- 数据(data)
- 模型(model),即对数据作出的假设
- 损失函数(loss function),即对模型作出的评价标准
- 优化算法(optimal algorithm),即以损失函数为标准对模型作出改善
总而言之,机器学习即是使用模型使机器能够使用数据朝着损失函数优化
四、机器学习系统流程
- 数据准备,包括数据收集、数据预处理(pre-processing)、特征提取(feature extraction)
- 训练模型,包括训练模型(train)和验证模型(validation)
- 评估模型,包括测试模型(test)和评估模型(evaluation)
五、机器学习算法分类
- 有监督学习(supervised learning):数据有输入以及对应的期望输出(即有标签),例如分类、回归等
- 无监督学习(unsupervised learning):数据只有输入而无对应的期望输出(即无标签),例如聚类、降维、概率估计等
- 强化学习(reinforcement learning):学习从状态(state)到行动(action)的映射,以最大化长期回报(reward),例如蒙特卡洛方法等
六、机器学习中的重要概念
- 泛化(generalization):学习通用模式,而非细节(如噪声)
- 偏差(bias):模型对数据的拟合度
- 方差(variance):模型的复杂度(自由度)
- 欠拟合(underfitting):模型过于简单未学习到数据中的知识,即低复杂度、低方差、高偏差
- 过拟合(overfitting):模型过于复杂而学习到了数据中的细节(如噪声),即高复杂度、高方差、低偏差
七、削弱过拟合的方法
- 增加训练数据
- 正则化(regularization):惩罚模型复杂度,例如L1范数惩罚项、L2范数惩罚项等
- 保留和交叉验证(Hold-out & cross validation):在训练阶段保留部分数据,交叉验证使充分利用数据
- 早停止:在可能过拟合前停止训练,例如验证集损失开始上升等