ROC曲线
二值分类器是机器学习中最常见的分类器。评价的指标也有很多,precision,recall,F1 score等等。ROC曲线也是之一。
ROC,Receiver Operating Characteristic Curve,受试者工作特征曲线。
ROC曲线的横坐标为假阳性率(False Positive Rate,FPR),纵坐标为真阳性率(True Positive Rate,TPR)。
P是真实的正样本数量,N是真实的负样本数量,TP是P个真样本中被分类器预测为正样本的个数,FP是N个负样本中被分类器预测为正样本的个数。
AUC
AUC是ROC曲线下的面积大小,该值可以衡量反应基于ROC曲线衡量出的模型性能。
余弦距离
余弦相似度的范围为[-1,1]。相同的两个向量相似度为1。1减去余弦相似度即是余弦距离,因此余弦距离的取值是[0,2],相同的两个余弦距离为0。
对于两个向量A和B,其余弦相似度定义
即两个向量夹角的余弦,关注两个向量之间的角度关系。取值范围[-1,1]。
比如一对文本相似度的长度差距很大,但是表达的内容差不多,那么在空间中的欧式距离就会很大,但是余弦相似度却可能很小。
比如在Word2Vec中,其向量的长度经过归一化,那么欧式距离和余弦距离关系单调。
,是余弦相似度。1-cos(A-B)是余弦距离。
欧式距离表示数值上的绝对差异,余弦距离表示方向上的差异。
模型评估方法
Holdout检验
Holdout检验是最简单且直接的验证方法,它把原始的样本随机分成训练集和验证集。
Holdout的缺点是最后的评价指标与原始数据划分的时候有很大关系,存在随机性。
交叉检验
k-fold交叉验证:首先把全部样本分成k个大小相等的样本子集,依次遍历这k个子集,每次把当前子集当做验证集,其余子集当做训练集。最后把k次评估的平均指标当做最终的评价指标,k一般取10。
留一验证
每次留下一个样本作为验证集,其余所有样本你作为测试集???样本总数为n,依次对n个样本进行遍历???留一验证是留p验证的特例,留p验证是每次留下p个样本作为验证集,因此有种可能,花销比留一验证。
想到这种方法的人真是奇才。
自助法
不管是Holdout还是交叉验证,如果数据集本身较小,对数据集再次划分使规模减少,影响模型的训练。
自助法不同,对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集,n次采样中,即是被重复采样,没被采集都没有关系。最后把抽到的作为训练集,没抽到的作为验证集。
自助法中,如果n无穷大,那么最终会有多少数据没被采集?
一次采集中,一个样本没被抽中的概率,n次都没被抽中,n趋于正无穷大,
n次采样大概有36.8%样本不会被采集到,会作为验证集。
网友评论