基本概念
1.精度 :(1-a/m) x 100%,m为样本总个数,a为出错的样本数目。
在训练集上的误差为经验误差。在新样本上面的误差为泛化误差。
2.P问题:可以在多项式时间内解决并且验证答案。(多项式时间指的是复杂度中n总在下面。计算机可以承受其复杂度)。
NP问题:保证在多项式时间内验证问题的正确答案。
NPC问题:NPC问题就是一个NP问题领域的大boss。所有的NP问题都可以约化为这个问题。
3.测试样本也是从样本真是分布中独立分布采样而得。测试集应该尽可能与训练集互斥。
4.留出法:将训练集划分为两份互斥集合,用作训练集和测试集。在划分集合的时候应该尽可能保证集合的数据分布一致性。
两个集合的比例约为2:1或者4:1.
5.交叉验证法:将赝本随机分为k份,取其中的k-1份为训练集,剩下的一份为测试集。k通常取10,位10折交叉验证。
留一法:k为样本数量。适用于小规模数据。当数据量较大的时候计算开销无法忍受。
自助法:在m个样本中随机采样m次,采样所得的数据为训练集,未被采集到的数据用作训练集。采样的方式为独立重复采样。未被采集到的数据所占比例约为0.368。即训练集:测试集=2:1。用于数据集较小,难以有效划分训练/测试集的时候使用。
6.性能度量
均方误差
错误率
精度
查准率:在认定为真的示例中,真正的正例所占的比例。
查全率:在全部真正的示例中,找出来的正例所占的比例。
查全率越高,查准率越低,因为为了提高查全率,必须要降低阈值。这样取值较高的反例也是会被选择为正例的。
查准率越高,查全率越低,因为为了提高查准率,必须要提高阈值。这样取值较低的正例会被判定为反例。
所以在实际工作中是要在二者之间做一个均衡的。使用调和平均和加权调和平均。
调和平均就是二者取到数再取平均数。=2 x TP/(样本总数+TP-TN)。
ROC和AUC
ROC曲线的横坐标为“假正例率”,纵坐标为“真正例率”,其实就是查全率。取值都是0-1.与曲线相交,曲线下的面积为AUC。AUC越高,说明模型效果越好。
代价敏感错误率与代价曲线
所谓代价敏感就是指不同错误所带来的代价是不同的,所以在计算代价的时候需要对不用错误增加不同代价的比重。
所绘制的图下方的 面积就是期望总体代价。如果要是只看一个梯形的面积还是很好理解的,就是假正例率与假反例率求平均。那多条曲线求交集的目的是什么,是指通过不断优化,最终不断减小代价吗,在这里不是很明白。
习题
1.数据集包含1000个样本,其中500个正例,500个反例,将其划分为包含70%样本的训练集和30%样本的测试集用于留出法评估,试估算共有多少种划分方式。
就是一个随机抽取的问题。从500里面选取350个,选两次,最后得结果。2.数据集包含100个样本,其中正反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果。
10折交叉法:因为将样本平均分为10份,所以其中每一份的正反样本比例应该是一样的,所以最后的答案应该是随机猜测的,所以错误率应该1-0.5^10。每个样本都正确的可能性是0.5^10,所以整体错误率就是1减去正确率。但是对于其中的每一个样本来说,错误率与正确率相等为0.5。
留一法:对于留一法来说,分为两种情况考虑。当测试样本为正例的时候,训练样本中有49个正例,50个反例,所以此时会判定为反例。对于测试样本为反例时,同样会是这种情况,所以正确率为0。错误率为100%。
3.若学习器A的F1值比学习器B高,试析A的BEP值是否也比B高。
需要先明白F1和BEP都分别指的什么,之后再分析他们之间的关系。F1是查准率与查全率的调和平均,BEP是“查准率=查全率”的取值。
看网上上的思路就是确定了二者没有关系。具体就是先确定当二者的BEP都相同时,F1是否相同。如果这个时候F1不同,那就没有再进行下去的必要了。因为已经证明了二者是没有任何关系的。最好的证明方法是举一个反例。
出自http://blog.csdn.net/icefire_tyh/article/details/52065867
这样证明了二者没有关系,那么当F1高的时候,不能确定BEP也是高的。
4.试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。
5.试证明(2.22) AUC=1−lrank