前言
一、数据集划分
- 训练集(Training Set):帮助我们训练模型,简单的说就是通过训练集的数据让我们确定拟合曲线的参数。
- 验证集(Validation Set):也叫做开发集( Dev Set ),用来做模型选择(model selection),即做模型的最终优化及确定的,用来辅助我们的模型的构建,即训练超参数,可选;
- 测试集(Test Set): 为了测试已经训练好的模型的精确度。
三者划分:训练集、验证集、测试集
机器学习:60%,20%,20%或者70%,10%,20%
深度学习:98%,1%,1% (假设百万条数据)
- 交叉验证:
- 使用训练集训练出k个模型
- 用k个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
- 选取代价函数值最小的模型
- 用步骤3中选出的模型对测试集计算得出推广误差(代价函数的值)
- 不平衡数据的处理:数据不平衡是指数据集中各类样本数量不均衡的情况.常用不平衡处理方法有采样和代价敏感学习采样欠采样、过采样和综合采样的方法。
1、SMOTE算法是过采样中比较常用的一种。算法的思想是合成新的少数类样本,而不是简单地复制样本。算法过程如图:
2、代价敏感学习:代价敏感学习是指为不同类别的样本提供不同的权重,从而让机器学习模型进行学习的一种方法。比如风控或者入侵检测,这两类任务都具有严重的数据不平衡问题,可以在算法学习的时候,为少类样本设置更高的学习权重,从而让算法更加专注于少类样本的分类情况,提高对少类样本分类的查全率,但是也会将很多多类样本分类为少类样本,降低少类样本分类的查准率。
二、评价指标
- 正确肯定(True Positive,TP): 预测为真,实际为真
- 正确否定(True Negative,TN):预测为假,实际为假
- 错误肯定(False Positive,FP): 预测为真,实际为假
- 错误否定(False Negative,FN):预测为假,实际为真
举例说明:有100张照片,其中,猫的照片有60张,狗的照片是40张。输入这100张照片进行二分类识别,找出这100张照片中的所有的猫。
- ROC和PR曲线:最容易看懂ROC曲线的方式就是看曲线下方的面积,面积越大分类效果越好;PR曲线亦是如此。