编辑: 山南水北 | 2016-04-23 |
13 ? Overfitting & underfitting,以回归 (regression)为例 ? 以一阶多项式拟合 (直线) ? 学习模型的复杂性 小于数据的复杂性 ? 称为欠拟合 underfitting ? 以七阶多项式拟合 (直线) ? 学习模型的复杂性 大于数据的复杂性 ? 称为过拟合 overfitting ? 以二阶多项式拟合 (直线) ? 学习模型的复杂性 适合数据的复杂性 ? 效果最佳 正则化regularization
14 ? 通常难以精确估计学习模型、数据的复杂性 ? 往往选用较复杂的学习模型 ? 训练集误差通常小于测试集误差(需要两者不相交) ? 那么如何降低overfitting的可能性呢? ? 正则化regularization,会在SVM部分看到例子 ? 进一步阅读: ? 正则化如何能降低模型的复杂性?PRML以及ESL(The Elements of Statistical Learning) 如果没有测试集
15 ? 例如,总的数据量比较小(如医学图像) ? 如何评估? ? 交叉验证cross validation 1. 将训练集分为大小大致相等的 部分 2. for = 1: 1. 取第 部分的数据为测试集 2. 取所有其余(一共 ? 1个部分)的数据为训练集 3. 学习模型并评估/测试得到错误率为 3. 交叉验证得到的错误率为 ∑ ? 称为 倍交叉验证N-fold CV (常用N=5 or 10) ? 可能需要进行多次试验(后面会讲) 数据、代价的不平衡性imbalance
16 ? 例如,两类问题中,一类数据远比另一类数据多 ? 如,体检中阴性和阳性 ? 男女比例 ? 或在一类犯错的代价远高于另一类 ? 不平衡学习(imbalance learning) ? 代价敏感学习(cost-sensitive learning) ? 进一步阅读:周志华教授主页和论文 http://cs.nju.edu.cn/zhouzh/zhouzh.files/publi cation/publication.htm 评价不平衡时的准则(1)
17 预测为positive 预测为negative 真实值为positive True positive (真阳性) False negative(伪阴性) 真实值为negative False positive(伪阳性) True negative(真阴性) ? TP、TN、FP、FN:标记四种情况的样例数目 ? TOTAL:总数 TP+TN+FP+FN ? 正样本数目:P = TP+FN,负样本数目:N = FP+TN ? False positive rate: FPR = FP / N ? False negative rate: FNR = FN / P ? True positive rate: TPR = TP / P ? Accuracy:ACC = (TP+TN) / TOTAL 评价不平衡时的准则(2)
18 ? AUC-ROC (Area Under the ROC Curve) ? ROC C Receiver operating characteristic http://upload.wik imedia.org/wikipe dia/commons/6/6b/ Roccurves.png ? Y轴:TPR ? X轴:FPR ? 其值为面积 ? 为什么? ? 对角线是? ? 非减 评价不平衡时的准则(3)
19 ? Precision(查准率): PRE = TP / (TP + FP) ? Recall(查全率):REC = TP / P (和TPR一样) ? F1 score:Precision和Recall的调和平均 (harmonic mean) ? 调和平均: = ? F1 = 2TP / (2TP+FP+FN) ? 推导一下 ? 为什么? 评价不平衡时的准则(4)
20 ? AUC-PR (Area Under the Precision-Recall Curve) 进一步阅读: The Relationship Between Precision-Recall and ROC Curves, 左边的图来自该论文 ? Y轴:Precision ? X轴:Recall ? 其值为面积 ? 为什么? ? 单调吗? 代价矩阵
21 ? 目前常见的为 =
0 1
1 0 ? : 当真实值为 、模型预测为 时付的代价 ? 0-1代价:即分类正确代价为0,分类错误代价为1 ? 但是,根据实际情况,可以给 设置任何值 ? 代价不平衡学习 ? 对代价的计算: ? 当使用0-1代价时,和错误率一致 真实值Groundtruth
22 ? 大多数时候,是手工标注的(manual annotation) ? 或者人也不知道确切的答案 ? 有时候疲劳或其他因素会导致标注的错误 ? 很耗时、昂贵 ? 真实值的形式 ? 分类:一个离散的类别 ? 回归regression:一个连续的值 ? 结构structured output:例如,输出一个句子的分 词结果"一个/句子/的/分词/结果" 能100%准确吗:Bayes框架的回答(1)