A. accuracy的局限性
样本极度不均衡时,模型全预测为多的那类,accuracy高,但是没用。
解决:可以用所有类别的accuracy的算术平均。
B. Precision和Recall
排序问题中,认为前N个是正例,后面的是负例;Precision@N, Recall@N
P-R曲线,横轴是R,纵轴是P;
F1-score = 2*P*R/(P+R) = 2 / ((1/P)+(1/R))
C. RMSE的缺点
离群点/噪声点会对RMSE造成很大干扰;
解决:1. 如果把离群点看成噪声,则应该在预处理阶段过滤掉噪声;2.如果把利群点看成正常数据,则应该调整模型能够把离群点正确预测对;3.可以用平均绝对百分比误差MAPE,
单一指标往往片面,用一组互补的指标评测,能更好的发现问题。
D. ROC&AUC
横轴是FPR, 纵轴是TPR; FPR=FP/负例个数;TPR=TP/正例个数;
AUC: Area Under Curve;
ROC曲线 VS P-R曲线:正负例样本比例发生大的变化后,ROC曲线形状基本不变,P-R曲线形状变化巨大;
E. 余弦距离
向量a的顶点,投影到向量b上,投影长度=, 也就是三角的"邻边";而|a|就是"斜边"; , 也就是邻边/斜边;
=, 当|a|和|b|都归一化为1时,等于夹角的余弦值,约相似值就约接近1,约远离就约接近-1;
当2个文本的内容相似,但长度相差很大时,用欧式距离得到的距离大,用余弦相似度得到的相似度大;即余弦相似度只关注向量之间的角度,忽略向量的长度;
文本、图像、视频等高维向量,适合用余弦相似度;
欧式距离体现数值上的绝对差异,余弦距离体现方向上的相对差异;有2个用户对很多电影的打分,分析这2个人的兴趣差异,适合用余弦相似度;有2个用户的<登录次数,观看时长,...>等使用信息向量,分析这2个人的活跃度差异,适合用欧式距离;
余弦距离=1-余弦相似度;
3条距离功能成立,才叫距离:1.正定性,即衡>=0; 2.对称性,dis(A,B)=dis(B,A); 3.满足三角不等式,dis(A,B)+dis(A,C)>dis(B,C); 余弦距离满足1和2,不满足3,所以不是严格意义上的距离;
F. A/B Test (搜狗网页搜索排序,一点资讯推荐效果)
2个要点:1.相同时间上进行测试;2.分流的用户属性要无偏(随机打散)
分流流量不宜过大,如果新版不好,就会影响很多用户的体验;也不宜过小,过小则样本数太少无法有效评测效果;
AA测试的作用:1. 测试该实验平台的正确性;2.测试流量是否够用(两组实验的指标相似,说明流量足够大);
流量不能再增的话,可以拉长测试时间得到更多样本;测试时间至少一周,才能把工作日和周末都覆盖上;
当有多个变量需要同时测试时,可以笛卡尔积方式(A1B1, A1B2, A2B1, A2B2),也可以分层:
分到不同版本的用户在多次登录应落入相同的实验版本,这样可以保证用户体验的一致性,保证用户能够在适应新版本的情况下有稳定的表现。通常会采用不同实验选用不同的hash种子,对用户的guid和上述分层实验的实验层次id的组合进行hash,然后根据hash值取余的方式进行分流。
A/B测试的局限:对于一些长期效果很难做到有效的监测和对比。
下线测得到P-R曲线,ROC曲线;线上要得到点击率、停留时长、PV、转化率等指标,线下测是无法得到的;线下不具备线上的工程环境;
Airbnb: 每一个改动,都先用 1%的流量来试验,然后再推到 5%,再到 10%,到 20%,到 50%,最后再发布给所有用户。
灰度发布:先让一小部分用户当小白鼠,如果新产品有bug,伤害面小很多;
G.
留一验证:样本数量很少时,每次留1个样本(或很少的)做验证集,所有次留的样本交集为空;
bootstrap法:有放回的随机采样,剩下没被采样的做验证集;多次重复实验,求平均指标;
bootstrap法,样本集大小是n,一个样本在n次都没有被选中的概率:(1-1/n)^n, n取正无穷,得约等于0.368
F. 调参
1. 网格搜索(就是穷举):可以先用大范围枚举,再缩小搜索区域进行小范围枚举;目标函数如果非凸,可能错过全局最优解;
2. 随机搜索:快,但结果无法保证
3. 贝叶斯优化:?
G. 过拟合和欠拟合