目录
准确率 Accuracy:
t p + f n t p + t n + f p + f n \frac {tp+fn}{tp+tn+fp+fn} tp+tn+fp+fntp+fn
缺陷:样本比例不均,占比大的样本影响过大
精确率 Precision ,召回率 recall
p r e c i s i o n = t p t p + f p precision = \frac {tp}{tp+fp} precision=tp+fptp
r e c a l l = t p t p + f n recall = \frac {tp}{tp+fn} recall=tp+fntp
为提高precision,需要减少p的预测,但会可能会减少recall。
综合评价一个排序模型的性能?
Precision-Recall 曲线
横轴recall, 纵轴precision
图上的每一个点代表着一个阈值,大于这个阈值则会被模型模型判定为正样本你。整条曲线的阈值从高到低。
F1 score
F1分数是recall 和 precision的调和平均值:
F 1 = 2 P R P + R F1 = \frac {2PR}{P+R} F1=P+R2PR
ROC曲线(重要)
评价二分类模型的重要指标
横坐标:假阳率
F P R = F P N FPR = \frac {FP}{N} FPR=NFP
纵坐标: 真阳率
T P R = T P N TPR = \frac {TP}{N} TPR=NTP
例子:
10个病人,3个患癌,诊断出2个,7个无癌,诊断出1个。
F P R = 1 7 FPR=\frac {1}{7} FPR=71 T P R = 2 3 TPR=\frac {2}{3} TPR=32
绘制ROC曲线
方法一:
动态调整二分类器的截断点(分类阈值), 从而得到不同的(FPR, TPR)
从最高的得分开始
方法二:
横轴刻度设为1/N, 纵轴设为1/P, 根据模型输出概率对样本进行排序(高到低),遍历样本,正样本往纵轴移动一个个刻度,负样本往横轴移动一个刻度
AUC面积
AUC面积是ROC曲线下的面积大小, 可以量化的反映模型性能。越大说明分类器越可能把正样本放在前面。
与PR曲线对比
- 正负样本的比例变化会剧烈影响PR,但基本不会影响ROC
- 在特定数据集上(数据分布固定), PR能更直观反映性能
评价回归模型指标 RMSE 平均根误差
R M S E = ∑ i = 1 n ( y i − y ^ i ) 2 n RMSE = \sqrt {\frac {\sum_{i=1}^{n}(y_i - \hat y_i)^2}{n}} RMSE=n∑i=1n(yi−y^i)2
缺点: 对于偏离程度很大的outlier,对RMSE的影响比较大, 处理方法有:
-
数据预处理阶段过滤噪声
-
检查outlier是否是因为模型预测能力不够
-
寻找比RMSE鲁棒性更好的指标: M A P E = ∑ i = 1 n ∣ y i − y ^ i y i ∣ × 100 n MAPE=\sum_{i=1}^{n}|\frac {y_i - \hat y_i}{y_i}| \times \frac {100}{n} MAPE=i=1∑n∣yiyi−y^i∣×n100
平均绝对百分比误差,对每个误差做归一化
2. 余弦相似度, 余弦距离, 欧氏距离
评估样本距离是定义优化目标和训练方法的基础。特征通常被表示为向量,余弦相似度可以衡量向量之间的相似度,阈值为[-1,1]
余弦相似度定义:
c o s ( a , b ) = a b ∣ ∣ a ∣ ∣ 2 ∣ ∣ b ∣ ∣ 2 cos(a,b) = \frac {ab}{||a||_2||b||_2} cos(a,b)=∣∣a∣∣2∣∣b∣∣2ab,本质上是a,b向量的夹角
余弦距离则为 1 − c o s ( a , b ) 1-cos(a,b) 1−cos(a,b)
相比于欧氏距离,他不关心向量的维度差异,且高维时依然保持(相同为1,正交为0,相反为-1)的性质
注意:
当向量模长经过归一化:
欧 氏 距 离 = ∣ ∣ A − B ∣ ∣ 2 = 2 ( 1 − c o s ( A , B ) ) 欧氏距离=||A-B||_2 = \sqrt {2(1-cos(A,B))} 欧氏距离=∣∣A−B∣∣2=2(1−cos(A,B))
此时,如果选择相似度最大作为近邻,则使用欧氏距离与使用余弦相似度的结果相同
异同:
欧氏距离体现数值上的绝对差异,余弦距离体现方向上的相对差异
例如
我们关注两个人的视屏偏好(0,1)(1,0),使用余弦距离,方向上完全不同,使用欧氏距离,两者却一样,这个时候应该使用余弦距离
我们关注用户活跃度(0,1), (0,10),余弦距离一样,但是欧式距离差距明显,此时使用欧氏距离
余弦距离是不是严格定义的距离?
- 正定性
d i s t ( A , B ) = ( ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 − A B ) / ∣ ∣ A ∣ ∣ 2 ∣ ∣ B ∣ ∣ 2 > = 0 dist(A,B)=(||A||_2||B||_2 -AB) / ||A||_2||B||_2 >= 0 dist(A,B)=(∣∣A∣∣2∣∣B∣∣2−AB)/∣∣A∣∣2∣∣B∣∣2>=0
- 对称性
d i s t ( A , B ) = d i s t ( B , A ) dist(A,B)= dist(B,A) dist(A,B)=dist(B,A)
- 三角不等式 不满足
3. 模型评估的方法
HoldOut检验
按比例划分成训练集,测试集
交叉验证
将样本分为K分,每份以此作为测试集,其余作为训练集,评估K次,取平均
自助法
进行n次有放回的随机采样,得到大小为n的训练集,从未被抽样过的样本作为验证集,当样本无限多时,从未被抽样过的样本总数占比为0.368。
4. 超参数调优
网格搜索
查找所有可能的超参数范围来确认最优,补偿小,容易找到全局最优,计算消耗大,后期减小步长,也容易错过全局最优
随机搜索
跟网格搜索类似,在搜索范围内随机取参数值,但结果无法保证
贝叶斯优化
根据先验分布,假设一个搜集函数,然后每一次采样测试目标函数,都会更新目标函数的先验分布,最后根据得到的后验分布,给出全局最有可能的位置点。
但是贝叶斯优化一旦采样到了局部最优,就容易在局部最优附近采样无法逃出,所以未设置一个概率,使得采样点在最可能出现全局最值附近(局部最优)的地方采样的同时也有可能在还未取样的地方取样
参考:
《百面机器学习》第二章