本文始发于个人公众号:TechFlow,原创不易,求个关注
今天是机器学习真题的第17篇文章,我们来讲讲机器学习模型的评估。
在之前的文章当中我们已经介绍了好几个模型了,有朴素贝叶斯、KNN、KMeans、EM还有线性回归和逻辑回归。今天我们来和大家聊聊该怎么评估这些模型。
均方差
这个概念很简单,它和回归模型当中的损失函数是一样的。可以理解成我们预测值和真实值之间的偏差,我们用y表示样本的真实值,y_表示模型的预测值,那么均方差可以写成:
M S E = 1 m ∑ i = 1 m ( y − y _ ) 2 MSE= \frac{1}{m}\sum_{i=1}^m (y-y\_)^2 MSE=m1i=1∑m(y−y_)2
这里的m是样本的数量,是一个常数,我们也可以忽略,如果忽略的话就是平方差和,好像并没有一个专门的术语。而且如果不算均值的话,可能这个和会很大,所以通常我们会计算均值。
这里的MSE是mean square error的缩写,也就是平均方差的意思。我们都知道方差在统计学当中表示样本距离均值的震荡程度,方差越大,表示一个指标越不稳定,波动幅度越大。在回归模型的场景当中,我们衡量的不是距离均值的离散程度,而是距离实际值的离散程度。这两者的含义非常近似,应该不难理解。
均方差越小说明模型距离真实值越接近,所以它既可以作为模型训练时候的损失函数,又可以作为我们人工审查模型效果的参考。
回归模型一般使用的指标就是均方差,而分类模型则要复杂得多,会涉及好几个指标,我们一个一个来看。
TP,TN,FP和FN
这四个值看起来傻傻分不清楚,但是一旦我们理解了它们的英文,其实很好懂。T表示true,也就是真,那么F自然表示false,也就是假。P表示positive,可以理解成阳性,N就是negative,就是阴性。这里的阴阳没有逻辑上的含义,表示的只是类别,我们也可以理解成01或者是甲乙,因为没有逻辑因素,所以叫什么都一样。
所以这四个就是真假和阴阳的排列组合,有T的都表示真,可以理解成预测正确。比如TP就是真阳,也就是说检测是阳性,实际上也是阳性。同理,TN就是真阴,检测是阴性,实际上也是阴性。有F则表示预测错误,FP是假阳,也就是检测是阳性,但是实际上是阴性,表示检测错了。同理,FN是假阴,检测是阴性,但是实际上是阳性。
我们用医院检测代入这几个值当中一下就理解了,TP和TN表示检测试剂给力,检测准确,检测是阴就是阴,是阳就是阳。而FP和FN说明检测试剂不行,检测错了,要么就把没病的检测出了有病,要么就是明明有病没检测出来。显然在医疗检测的场景当中,假阳是可以接受的,假阴不行。因为假阳我们还可以再检测,来确定究竟是阴还是阳,如果假阴放过了病例会对病人产生不好的影响,所以一般来说医疗检测试剂都会比标准更加敏感,这样才能尽量不放过漏网之鱼。
召回率
召回率的英文是recall,我觉得这个词翻译得很好,中文的意思和英文基本一致,也有的教材当中翻译成查全率,我感觉差了点意思,还是叫召回率更加信雅达一些。
我们假设一个场景,比如说甲是一个排长,手下有10个小兵,有一个任务需要甲召集所有成员去执行。甲一声令下,召来了8个。那么召回率就是80%。我们放入机器学习的场景当中去也是一样的,在二分类场景当中,一般情况下模型考虑的主要都是正例。可以理解成沙里淘金,负例就是沙,一般价值不大,而金子就是