【机器学习】1.绪论(模型评估)

文章目录

  • 基本术语
  • 模型评估与选择
    • 经验误差和过拟合
    • 评估方法
      • 留出法
      • 交叉验证法/k折交叉验证法
      • 自助法
    • 性能度量
      • 回归任务
      • 分类任务
        • 错误率和精度
        • 查准率、查全率和F1
        • ROC与AUC
        • 代价敏感错误率和代价曲线
      • 比较检验
        • 假设检验
        • 交叉验证T检验
        • mcNemar检验
        • Firedman与Nemneyi检验
      • 方差和偏差

基本术语

eg:(色泽=青绿,根蒂=卷缩),(色泽=乌黑,根蒂=稍卷)

  • 每一个括号内是一条数据,是关于一个事务或对象的描述,称为一个示例或样本
  • 记录的集合称为数据集
  • 属性的张成空间称为属性空间/样本空间/输入空间

eg:((色泽=青绿,根蒂=卷缩),好瓜)

  • 将示例结果(好瓜)称为标记
  • 有标记的示例称为样例
  • 所有标记的集合称为标记空间

分类:欲预测的是离散数据
回归:欲预测的是连续数据
聚类:将训练集分为若干组,每个组称为簇

监督学习:训练集合有标记(分类,回归)
无监督学习:训练集合无标记(聚类)

范化:学习模型适用于新样本的能力

假设空间:?* ?* ?+1

奥卡姆剃刀:若多个假设与观察一致。则选择最简单的。

模型评估与选择

经验误差和过拟合

训练误差:学习器在训练集上的误差,又称为经验误差
泛化误差:学习器在新样本上的误差。

过拟合:训练样本学习的过多,模型泛化能力下降
欠拟合:对训练样本的一般特性尚未学习好

评估方法

使用测试集来测试学习器对新样本的判别能力,然后以测试集上的测试误差作为泛化误差的近似

留出法

直接将数据集D划分为两个互斥的集合,其中一个集合为训练集S,另外一个作为测试集T,即D=S U T, SNT=空
tips:

  • 训练集测试集的划分尽可能保持数据分布的一致性
  • 进行多次随机划分,返回多吃随机划分的平均值
  • 常见将大约2/3或4/5的样本用于训练,其余作为测试

交叉验证法/k折交叉验证法

将数据集D划分为k个大小相似的互斥子集,即D = D1 U D2 U…U DK,每次使用k-1个子集的并集作为训练,余下的作为测试,最后取均值。
tips:

  • k最常见取值为10,其他的取值有5,20
  • 为了减少因样本划分不同而引入的误差,通常进行p次k折交叉验证
  • 留一法,即k=m(m为数据集D中包含的样本数)

自助法

对包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机重D中挑选一个样本,将其拷贝放入D’中,然后将该样本放回数据集D中,重复m次,得到D’,以D’为训练集,D!=D’为测试集。
tips:

  • 样本在m次采样中始终没有被取到的概率为(1-1/m)^m,约等于0.36
  • 自助法在样本集较小时,比较适用
  • 自助法产生的数据集,会改变初始样本的分布,会引入估计误差

性能度量

衡量模型范化能力的评价标准

回归任务

常用均分误差
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D) = \frac{1}{m} \displaystyle\sum_{i=1}^{m} (f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

分类任务

错误率和精度

错误率:分类错误的样本占总样本数目的比例
精度:分类正确的样本数占样本总数的比例

E ( f ; D ) = 1 m ∑ i = 1 m ∏ ( f ( x i ) ≠ y i ) E(f;D) = \frac{1}{m} \displaystyle\sum_{i=1}^{m} \prod(f(x_i)\neq y_i) E(f;D)=m1i=1m(f(xi)=yi)
a c c ( f ; D ) = 1 m ∑ i = 1 m ∏ ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D) = \frac{1}{m} \displaystyle\sum_{i=1}^{m} \prod(f(x_i)= y_i) = 1-E(f;D) acc(f;D)=m1i=1m(f(xi)=yi)=1E(f;D)

查准率、查全率和F1

预测情况\预测情况 正例 反例
正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)

精确率:
查 准 率 = P = T P T P + F P 查准率 = P = \frac{TP}{TP+FP} =P=TP+FPTP
召回率:
查 准 率 = R = T P T P + F N 查准率 = R = \frac{TP}{TP+FN} =R=TP+FNTP
(1)P-R曲线:以查准率为纵轴,查全率为横轴作图,根据比较平衡点(P=R)判断学习器的优劣
(2)F1度量
F 1 = 2 P ∗ R P + R = 2 T P 2 T P + F P + F N F1 = \frac{2P*R}{P+R} = \frac{2TP}{2TP+FP+FN} F1=P+R2PR=2TP+FP+FN2TP
F1度量的一般形式为 F β \mathop F_\beta Fβ:
F β = 1 + β 2 ∗ P ∗ R β 2 ∗ P + R F_\beta=\frac {1+\beta ^2*P*R}{\beta^2*P+R} Fβ=β2P+R1+β2PR
β = 1 \mathop\beta=1 β=1时退化为标准F1,当 β > 1 \mathop\beta>1 β>1时查全率影响大,当 β < 1 \mathop\beta<1 β<1时,查准率影响大。

当在多个混謵矩阵上进行综合考察时,分别求得P,R取平均,即宏查全率,宏查准率,与宏F1:
m a c r o − F 1 = 2 ∗ m a c r o − P ∗ m a c r o − R m a c r o − P + m a c r o − R macro - F1 = \frac {2*macro-P*macro-R}{macro-P+macro-R} macroF1=macroP+macroR2macroPmacroR
分别求得TP,FP,FN,TP,取平均,即微查准率
m i c r o − P = T P ‾ T P ‾ + F P ‾ micro -P = \frac {\overline {TP}}{\overline {TP} + \overline {FP}} microP=TP+FPTP
m i c r o − F 1 = 2 ∗ m i c r o − P ∗ m i c r o − R m i c r o − P + m i c r o − R micro - F1 = \frac {2*micro-P*micro-R}{micro-P+micro-R} microF1=microP+microR2microPmicroR

ROC与AUC

ROC曲线的纵轴是真正例率,横轴是假正例率,TPR/FPR
T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P T N + F P FPR = \frac{FP}{TN+FP} FPR=TN+FPFP
AUC是ROC曲线下的面积

代价敏感错误率和代价曲线

非均等代价:权衡不同错误所造成的不同损失
以二分类任务为例, c o s t i j \mathop cost_{ij} costij表示将第i类判断为第j类的代价

第0类 第1类
第0类 0 c o s t 01 \mathop cost_{01} cost01
第1类 c o s t 10 \mathop cost_{10} cost10 0

若将第0类作为正例,第1类作为反例,另D+和D-分别代表样例集D中正/反类的子例。
代价敏感错误率:
E ( f ; D ; c o s t ) = 1 m ( ∑ x i ∈ D + ∏ ( f ( x i ) ≠ y i ) ∗ c o s t 01 + ∑ x i ∈ D − ∏ ( f ( x i ) ≠ y i ) ∗ c o s t 10 ) E(f;D;cost) = \frac{1}{m}( \displaystyle\sum_{x_i\in D^+} \prod(f(x_i)\neq y_i)*cost_{01} +\displaystyle\sum_{x_i\in D^-} \prod(f(x_i)\neq y_i)*cost_{10} ) E(f;D;cost)=m1(xiD+(f(xi)=yi)cost01+xiD(f(xi)=yi)cost10)
代价曲线:横轴是取值为[0,1]的正例概率代价
P ( t ) c o s t = P ∗ c o s t 01 P ∗ c o s t 01 + ( 1 − P ) ∗ c o s t 10 P_{(t)}cost = \frac{P*cost_{01}}{P*cost{01}+(1-P)*cost{10}} P(t)cost=Pcost01+(1P)cost10Pcost01
纵轴是取值为[0,1]的归一化代价
c o s t n o r m = F N R ∗ P ∗ c o s t 01 + F P R ∗ ( 1 − P ) ∗ c o s t 10 P ∗ c o s t 01 + ( 1 − P ) ∗ c o s t 10 cost{norm} = \frac{FNR*P*cost_{01}+FPR*(1-P)*cost_{10}}{P*cost_{01}+(1-P)*cost_{10}} costnorm=Pcost01+(1P)cost10FNRPcost01+FPR(1P)cost10

代价曲线的绘制:ROC曲线上的每一个点对应代价平面上的一个线段,ROC曲线上的每一个点的坐标为(FPR,TPR),可在代价平面上绘制一条(0,FPR)到(1,FNR)的线段,线段下的面积为该条件下的期待总代价,如此多个线段围城的面积在所有条件下学习器的期望总体代价。

比较检验

假设检验

对当个学习器泛化性能的假设进行检验

交叉验证T检验

mcNemar检验

Firedman与Nemneyi检验

方差和偏差

泛化误差可以分解为偏差,方差和噪声之和
偏差:描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。

方差:描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。

你可能感兴趣的:(机器学习)