为什么需要模型评估?
在计算机科学特征时机器学习领域中,对模型的评估至关重要。只有选择与问题相匹配的评估方法才能快速第发现模型选择或者训练过程中出现的问题,迭代地对模型进行优化。模型评估主要分为离线评估和在线评估两个阶段。针对分类、排序、回归、序列预测等不同类型的机器学习问题,评估指标的选择也有所不同。算法工程师需要知道每种评估指标的精确定义,有针对性地选择合适的评估指标,根据评估指标的反馈进行模型调整。
【1】评估指标的局限性
(1)准确率的局限性
准确率,当不同类别的样本比例非常不均衡时占比大的类别往往成为影响准确率的最主要因素。为此,解决这个问题,可以使用更为有效的平均准确率(每个类别下的样本准确率的算术平均)作为模型评估的指标。
(2)精确率与召回率的权衡
精确率是指分类正确的正样本个数占分类器判定为正样本个数的比例。召回率是指分类正确的正样本个数占真正的正样本个数的比例。
Precision和Recall值是即矛盾又统一的两个指标,为了提高Precision值,分类器需要尽量在“更有把握”时才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,导致Recall值降低。针对这两个指标可以绘制PR曲线进行模型性能的对比。除此之外,F1 score和ROC曲线也能综合地反应一个排序模型的性能。F1 score是精确率和召回率的调和平均值,F1 = 2 * Precision * recall/(Precision + Recall)。
【2】ROC曲线
ROC 曲线(受试者工作特征曲线)。ROC曲线的横坐标为假阳性率(FPR),纵坐标为真阳性率(TPR)。FPR = FP / N,TPR = TP / P。P是真是的正样本的数量,N是真实的负样本的数量,TP是P个正样本中被分类器预测为正样本的个数,FP是N个负样本中被分类器预测为正样本的个数。
绘制ROC曲线
ROC曲线是通过不断移动分类器的“截断点”(预测概率阈值)来生成曲线上的一组关键点的。最终连接各个关键点。
ROC曲线下面积AUC
该值能够量化地反映基于ROC曲线衡量出的模型性能。一般情况下,AUC值越大模型性能越好。
【3】ROC曲线和PR曲线有什么特点
相比PR曲线,ROC曲线有一个特点,当正负样本的分布(或者类别不均衡)发生变化时,ROC曲线的形状基本保持不变,而PR曲线的形状一般发生较激烈变化。
【4】超参数调优
一般采用网格搜索、随机搜索。首先需要明确超参数搜索算法一般包括哪几个要素。一是目标函数,即算法需要最大化/最小化的目标;二是搜索范围,一般通过上限和下限来确定;三是算法的其他参数。
(1)网格搜索
通过查找搜索范围内的所有的点来确定最优值。如果采用较大的搜索范围以及较小的步长,网格搜索有很大概率找到全局最优值。然而,这种搜索方案十分消耗计算资源和时间,特别是需要调优的超参数比较多的时候。所以在实际应用中,网格搜索法一般会先使用较广的搜索范围和步长,来寻找全家最优值可能的位置。然后会逐渐缩小搜索范围和步长,来寻找更精确的最优值。这种操作方案可以降低所需的时间和计算量,但是由于目标函数一般是非凸的,所以很可能会错过全局最优值。
(2)随机搜索
随机搜索不再测试上界和下界之间所有值,而是在搜索范围i中随机选取样本点。理论:如果样本点集足够大,那么通过随机采样也能大概率地找到全局最优值或者近似值。随机搜索一般会比网格搜索要快一些,但是和网格搜索的快速版一样,它的结果是无法保证的。
【5】过拟合与欠拟合
过拟合是指模型对于训练数据拟合过当的情况,反映到评估指标上就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。欠拟合指的是模型在训练和预测时表现都不好的情况。
(1)降低过拟合风险的方法
1、获取更多的训练数据
2、降低模型复杂度。例如神经网络模型中减少网络层数,神经元个数等;在决策树模型中降低深度,进行剪枝等
3、正则化方法。
4、集成学习。集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险。
(2)降低“欠拟合”风险的方法
1、添加新特征。当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。
2、增加模型复杂度。使得模型具有更强的拟合能力。
3、较小正则化系数。