模型的选择
误差
- 误差:(Error): 是模型的预测输出值与其真实值之间的差异
- 训练(Training): 通过已知的样本数据进行学习, 从而得到模型的过程
- 训练误差(Training Error): 模型作用于训练集的误差
- 泛化(Generalize): 由具体的, 个别的扩大为一般的, 即从特殊都一般, 称为泛化. 对机器学习的模型来讲, 泛化是指模型作用于新的样本数据(非训练集)
-
泛化误差(Generalization Error): 模型作用于新样本数据时候的误差
误差
欠拟合和过拟合
- 模型容量(Model Capacity): 是指其拟合各种模型的能力
-
过拟合(Overfitting): 是某个模型在训练集上表现的很好, 但是在新样本上表现的很差. 模型将训练集的特征学习的太好, 导致一些非普遍规律被模型接纳和提现, 从而在训练集上表现的好, 在新样本上表现的很差.
- eg. 例题做的很好, 但是做类似的题, 换个数字就不会做了
-
欠拟合:(Underfitting): 即模型对训练集的一般性质学习表现的很差, 模型作用于训练集的时表现不好, 与过拟合(Overfitting)相反
-
eg. 连例题都没做好, 别说别的题了
三种拟合
-
模型选择
-
模型选择(Model Selection): 针对某个具体的任务, 通常会有多种模型可供选择, 对同一个模型也会有多组参数, 可以通过分析, 评估模型的泛化误差, 选择泛化误差最小的模型
红线是最佳模型选择
模型的评估方法
-
评估思路: 通过实验测试, 对模型的泛化误差进行评估, 选出泛化差最小的模型, 待测试数据集全集未知, 使用测试集进行泛化测试, 测试误差(Testing Error)即为泛化误差的近似.
将已知的数据集分为两个部分:训练集(80%), 测试集(20%)- 训练集和测试集尽可能互斥(测试集和训练集尽量不一样)
- 训练集和测试集独立同分布(eg. 训练集和测试集没有关系, 彼此独立, 预测身高的时候要都来自中国, 不能训练集是中国人的数据, 而测试集是冰岛人)
-
留出法(Hold-out): 将已知数据集分成两个互斥的部分, 其中一部分用来训练模型, 另一部分用来测试模型, 评估其误差, 作为泛化差的估计
- 两个数据集的划分尽可能保持数据分布一致性, 避免因数据划分过程引入人为的偏差
- 数据分割存在多种形式会导致不同的训练集, 测试机划分, 单次留出法结果往往存在偶然性, 其稳定性较差, 通常会进行若干次随机划分, 重复实现评估取平均值作为评估结果
- 数据集拆分成两部分, 每部分的规模设置会影响评估结果, 测试, 训练的比例一般是2:8, 3:7等
- 数据划分一般使用分层法, 比如一个训练集里分男人和女人, 那么按照男人和女人来划分数据
-
交叉验证法(Cross Validation): 将数据集划分为k个大小相似的互斥的数据子集, 子集数据尽可能保证数据分布的一致性
-
留一法(Leave-One-Out. LOO):是k折交叉验证的特殊形式, 将数据集分成两个, 其中一个数据集记录条数为1, 作为测试集使用, 其余记录作为训练集训练模型, 训练出的模型和使用全部数据集训练得到的模型接近, 其评估结果比较准确, 缺点是当数据集比较大的时候, 训练次数和计算规模比较大.
-
自助法(Bootstrapping):是一种产生样本的抽样方法, 其实质是有放回的随机抽样, 即从已知数据集中随机抽取一条记录, 然后将该记录放入测试集同时放回原数据集, 继续下一次抽样, 直到测试集中的数据条数满足要求. 通过有放回的抽样获得的训练集去训练模型, 不在训练集中的数据(约总数量的1/3)去用于测试, 这样的测试结果被称为包外估计(Out-of-Bag Estimate, OOB)
几种方法的适用场景
-
留出法
-
优点
- 实现简单, 方便, 在一定程度上能够评估泛化误差
- 测试集和训练集分开, 缓解了过拟合
-
缺点
- 一次划分, 苹果结果偶然性大
- 数据被拆分以后, 用于训练, 测试的数据更少了
-
优点
-
交叉验证法
-
优点
- K可以根据实际情况设置, 充分利用了所有样本
- 多次划分, 评估结果相对稳定
-
缺点
- 计算比较繁琐, 需要进行k次训练和评估
-
优点
-
自助法
-
优点
- 样本量比较小的时候可以通过自助法产生多个自助样本集, 且有约36.8%的测试样本
- 对于总体的理论分布没有要求
-
缺点
- 无放回抽样引起额外的偏差
-
优点
几种方法的选择
- 已知数据集梳理充足时, 通常采用留出法或者K折交叉验证法
- 对于已知数据集比较小且难以有效划分训练集/测试集的时候, 采用自助法
- 对于已知数据集比较小且可以有效划分训练集/测试集的时候, 采用留一法
性能度量
-
性能度量(Performance Measure):评价模型泛化能力的标准, 对于不同的模型, 有不同的评价标准, 不同的评价标准将导致不同的评价结果, 模型的好坏是相对的, 取决于对于当前任务需求的完成情况.
-
回归模型的性能度量通常选用均方误差
-
均方误差计算举例
均方误差计算
分类算法的常用性能度量

聚类算法的常用性能度量

网友评论