————————————————————————————
原文发表于夏木青 | JoselynZhao Blog,欢迎访问博文原文。
————————————————————————————
深度学习 | 绪论
深度学习 | 线性代数基础
深度学习 | 机器学习基础
深度学习 | 实践方法论
深度学习 | 应用
深度学习 | 安装conda、opencv、pycharm以及相关问题
深度学习 | 工具及实践(TensorFlow)
深度学习 | TensorFlow 命名机制和变量共享、变量赋值与模型封装
深度学习 | TFSlim介绍
深度学习 | TensorFlow可视化
深度学习 | 训练及优化方法
深度学习 | 模型评估与梯度下降优化
深度学习 | 物体检测
深度学习| 实战1-python基本操作
深度学习 | 实战2-TensorFlow基础
深度学习 | 实战3-设计变量共享网络进行MNIST分类
深度学习 | 实战4-将LENET封装为class,并进行分类
深度学习 | 实战5-用slim 定义Lenet网络,并训练测试
深度学习 | 实战6-利用tensorboard实现卷积可视化
深度学习 | 实战7- 连体网络MINIST优化
深度学习 | 实战8 - 梯度截断
深度学习 | 实战9- 参数正则化
机器学习:通过算法 A,在假设空间 H 中,根据样本集 D,选择最优假设 g。选择标准: g 近似于 f
评测是用来挑选最优模型的
泛化误差Eout 指的是在“未来”样本上的误差
经验误差Ein 指的是在训练集上的误差,也称为“训练误差”
泛化性能由学习算法的能力、数据的充分性以及学习任务本身的难度 共同决定
任务复杂度 → 足量数据表达 → 足够复杂模型学习
给定假设空间是否可学到有效模型?
任务难度无法控制
**可以控制的因素:**数据量 N, 模型复杂度 M((或有效假设数,或模型容 量)
泛化性能由学习算法的能力、数据的充分性以及学习任务本身的难度共同决定
一般而言,偏差与方差存在冲突
随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导
训练充足后,学习器的拟合能力很强,方差主导
可见,偏离中心的方差成为泛化误差主要来源,其本质又是什么?
图解: 模型复杂度太低 会 导致学习器拟合能力不强,此时方差小,偏差占主导
模型复杂度高时,使得学习器集合能力强(过拟合),方差主导。 (模型复杂度过高会导致过拟合)
模型经过样本充分训练,依然存在的问题
模型经过样本充分训练,依然存在的问题
? 什么叫有效的不同映射个数?
妈呀,这页看不懂
如果 VC Dimension 太大,模型复杂度增加,E-in 与 E-out 偏离 (过 拟合)
如果 VC Dimension 太小,虽然 E-in≈E-out,但 H 不够给力,很难 找到不犯错(或很少犯错)的 h(欠拟合)
例:用模型的 VC Dimension = 3 的模型做分类,要求 E-in 与 E-out 差 距最大为 ε=0.1;置信度为 90
理论上:need N ≈ 10000 * VC Dimension
实际应用:need N ≈ 10* VC Dimension
因为 VC Bound 过于宽松,是一个比实际大得多的上界
“留出法”直接将数据集 D 划分为两个互斥的集合,其中一个集合作为 训练集,另一个作为测试集。
注意:
精度可以理解为正确率
问题:当正负样例在数据集中严重失衡时,会使得这种度量方式缺乏说服力。
例如生物信息学中的基因剪辑点的识别任务中,正样例的占比可能只有万分之一,那么 假设有一个无效模型,把所有的样例都分类为负样例,这样它的错误率会小于 0.01%, 而精度会高于 99.99%,但这个模型显然是无效的。
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例 (true positive)、假正例 (false positive)、真反例 (true negative)、假反例 (false negative) 四种情形 由此定义二分类结果的“混淆矩阵”(confusion matrix)如下:
对于多分类,也可构造类似混淆矩阵,此时表头行、列分别表示各类预测 (prediction) 与 各类真实值 (ground truth)
怎样好记?T,F,P,N 都是在修饰预测结果
前缀:”T” 真,就是正确预测,”F” 假,就是错误预测;
后缀:”P” 就是预测成正例,”N” 就是预测成反例
例如:FN: 错误预测成反例 (也就是把正例预测为反例)
查准率(精度)是 正确预测的 正例 / 所有对正例的预测
查全率(召回率) 是 正确预测的 正例 / (正确预测的正例+ 错误预测的反例)
在目标检测中,人脸识别等应用中,这两个指标我们关心比较多:
很多模型的应用,需要设置额外的参数或阈值:例如二分类的阈值,目标检测的 IoU 等 不同的模型的比较,应该比较不同参数、阈值下的综合性能
综合性能评测:模型针对不同参数、阈值等得到的预测结果,可按查准率(精度)、查全 率 (召回率)作为点坐标,在平面上绘出一条 P-R(Precision-recall) 曲线
不同模型的 P-R 曲线比较:**P-R 曲线下方包裹面积:AP(Average precision);AP 大,性能 更高;**对于多分类问题,实际每一类有一条 P-R 曲线,此时综合性能用 mAP(mean Average precision) 衡量,即是各类的 AP 的平均值
不同 PR 曲线交叉时,还可参考 BEP 盈亏平衡点的高低,判断模型性能
BEP 盈亏平衡点: 曲线上,查准率(精度)= 查全率 (召回率)的点
P-R 曲线是以正例为中心的评价方式,事实很多应用 (例如人脸识别),我们关心正例 (两 张照片是同一个人) 和反例 (两张照片不是一个人) 都有同样高的精度
ROC (Receiver Operating Characteristic) 曲线,与 P-R 图类似,纵轴是“真正例率”(True Positive Rate,TPR) ,横轴是“假正例率”(False Positive Rate,FPR),其意义为:
因此,ROC 曲线并不是 P-R 曲线反过来画 (x’=1-x) 的结果 理想的结果应该:TPR 高,说明正例漏检少,FPR 低,说明反例误检低
随着阈值向左移动 (右为正例,左为负例) 正例被正确检出的比例不断增大,y 值增大, 但到所有正例全被检出时 (y=1),停止增长
而事实反例中被误检为正例的比例也同样增大 (在阈值接触到反例之 前,x=0 不变),x 值增大
因此 ROC 曲线上的点随阈值向左移动,从左下角沿曲线向右上角移动
不同模型的 ROC 曲线,怎样比较优劣?类似 P-R 曲线,也看 ROC 曲 线下所包围的面积:称为 AUC(Area Under ROC Curve)
AUC 与 AP 区别:AUC 主要考察模型对正样本以及负样本的覆盖能力(即“找的全”),而 AP 主要考察模型对正样本的覆盖能力以及识别能 力(即对正样本的“找的全”和“找的对“
若一个学习器的 ROC 曲线被另一个学习器的曲线完全包住,则可断言 后者性能优于前者
若两条 ROC 曲线交叉,则难以一般性断言孰优孰劣。此时如果一定要 进行比较,则可以用 AUC 来进行比较