机器学习西瓜书&南瓜书介绍&模型评价与选择

机器学习西瓜书&南瓜书介绍&模型评价与选择

介绍

基本概念

计算机科学是对“算法”的研究,而机器学习是对“学习算法”的研究,即从计算机上的数据生成“模型”的算法。

数据集:相应数据的集合。

示例(instance):数据集中的每条记录都成为实例或样本(sample),如果把示例中的每个属性都是单独的左边,可以把一个示例称为一个特征向量(feature vector)

属性(attribute):事件或对象在某方便的表现或性质,也称特征(feature)

属性值(attribute value):属性上的取值

属性空间(attribute space):属性张成的空间,也称样本空间、输入空间

学习(learning):从数据中学得模型的过程,也称训练(training)

训练数据(training data),训练样本(training sample),训练集(training set)

假设(hypothesis):学得模型对应了关于数据的某种潜在的规律。

真相或真实(ground-truth):潜在规律本身。

模型(model):也叫学习器(learner)

分类(classification):预测的值是离散值

回归(regression):预测的值是连续值

机器学习西瓜书&南瓜书介绍&模型评价与选择

假设空间

归纳induction:特殊到一般的泛化(generalization)过程

演绎deduction:一般到特殊的特化(specialization)过程

假设空间:由所有假设组成的空间

归纳偏好inductive bias:任何一个有效的机器学习算法必有其归纳偏好,因为可能出现假设空间等效的假设

奥卡姆剃刀:如果多个假设与观察结果一致,选择最简单的一个

没有免费的午餐定理No Free Lunch Theorem:要讨论算法的相对优劣,必须要针对具体的学习问题。0

模型评估和选择

概念

错误率error rate:错误分类样本 / 总样本数

精度accuracy:1 – 错误率

误差error:包括训练误差training error / 经验误差 empirical error和泛化误差 generalization error

过拟合overfitting:在训练样本中表现良好,导致泛化能力下降,只能缓解,不能避免

欠拟合underfitting:与过拟合相对

评价方法

使用测试集来测试学习器区分新样本的能力,然后使用测试集上的“测试误差”作为泛化误差的近似值。通常假设测试样本也是从样本的真实分布中独立且相同地抽样的。但是请注意,测试机器应尽可能与训练集互斥。

通常情况下,只有一个包含m个样例的数据集D,通过对D进行适当的处理,从中产生训练集S和测试集T。

1.留出法

直接将数据集D划分为两个互斥的集合,即D%20%3D%20S%20%5Ccup%20T%2C%20S%20%5Ccap%20T%20%3D%20%5Cvarnothing

需要注意两个问题:

  • 训练/测试集划分尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,通常使用分层采样
  • 一般采用多次随机划分,经过反复实验评价,取平均值作为放样法的评价结果​​。

他们的比例通常是2 / 3 – 4 / 5 用于训练,剩余的用于测试。

2.交叉验证法

先将数据集D划分为k个大小相似的互斥子集,即D%20%3D%20D_1%20%5Ccup%20D_2%20%5Ccup%20...%20%5Ccup%20D_k%2C%20D_i%20%5Ccap%20D_j%20%3D%20%5Cvarnothing%20%28i%20%5Cne%20j%29

每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后每次用k-1个自己的并集作为训练集,余下的子集作为测试集,这样就可获得k组训练/测试集,从而进行k次训练和测试,最终返回的k个测试结果的均值。

显然,交叉验证法评估结果的稳定性和保真性很大程序取决于k的取值,通常把交叉验证法称为”k折交叉验证“,k常用的取值是10、5、20等。

与留出法相似,将数据集D划分危k个子集同样存在多种划分方式,为减小因样本划分不同而引入的差别,k折交叉验证通常要随即使用不同的划分重复p次,最终的评估结果是p次k折交叉验证结果的均值。

假设数据集D包含m个样本,若令k = m,则得到交叉验证法的一个特例:留一法(Leave-One-Out),通常与实际评估的模型很相似,因此认为评估结果比较准确。

3.自助法

可以减少训练样本规模不同造成的影响,同时还能比较高效地进行实验估计,以自助采样法(bootstrap sampling)为基础。

给定m个样本的数据集D,对它进行采样产生数据集D’:每次随即从D中挑选一个样本,将其拷贝到D’,然后再将样本放回初始数据集D中,重复m次后,得到了包含m个样本的数据集D’

可以做个简单的估计,样本在m次采样中始终不被采到的概率是%281%20-%20%5Cfrac%7B1%7D%7Bm%7D%29%5Em,取极限得到:
%5Clim_%7Bn%20%5Cto%20%5Cinfty%7D%281%20-%20%5Cfrac%7B1%7D%7Bm%7D%29%5Em%20%3D%20%5Cfrac%7B1%7D%7Be%7D%20%5Capprox%200.368
于是可以将D’用作训练集,D\D’用作测试集,这样,实际评估的模型与期望评估的模型都是用m个训练样本,而仍有数据量约1/3的没在训练集出现的样本用于测试,这样的测试结果称为”包外估计“(out-of-bag estimate)。

该方法在数据集较小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集产生多个不同的训练集,对集成学习等方法有很大的好处。但会引入估计偏差,因此在初始数据量足够时,留出法和交叉验证法更常用一些。

4.调参与最终模型

大多数学习算法都有参数需要设定,参数配置不同,学得模型的性能往往有显著差别。因此,在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的”参数调节“或简称”调参“(parameter tuning)。

通常把学得模型在实际使用中遇到的数据成为测试数据,在模型评估与选择中用于评估测试的数据称为验证集validation set。

性能指标

1.预测任务中的性能度量

对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评估标准,这就是性能度量(performance measure)。

性能指标反映了任务要求。在比较不同模型的能力时,使用不同的性能指标往往会导致不同的判断结果;这意味着模型的“好坏”是相对的,取决于算法、数据和任务要求。

常用的性能度量是均方误差(mean squared error):
E%28f%3B%20D%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum_%7Bi%3D1%7D%5Em%28f%28x_i%29%20-%20y_i%29%5E2
更一般的,对于数据分布D和概率密度函数p(),均方误差可描述为:
E%28f%3B%20D%29%20%3D%20%5Cint_%7Bx%5Csim%20D%7D%28f%28x%29-y%29%5E2p%28x%29dx
2.分类任务中的性能度量

错误率:
E%28f%3B%20D%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum_%7Bi%3D1%7D%5Em%5Cmathbb%7BI%7D%28f%28x_i%29%5Cne%20y_i%29
准确性:
acc%28f%3B%20D%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%20%3D%201%7D%5Em%5Cmathbb%7BI%7D%28f%28x_i%29%20%3D%20y_i%29%20%5C%5C%20%3D%201%20-%20E%28f%3B%20D%29
更一般的,针对数据分布D和概率密度函数p,错误率与精度可分别描述为:
E%28f%3B%20D%29%20%3D%20%5Cint_%7Bx%5Csim%20D%7D%5Cmathbb%7BI%7D%28f%28x%29%5Cne%20y%29p%28x%29dx%20%5C%5C%20acc%28f%3B%20D%29%20%3D%20%5Cint_%7Bx%5Csim%20D%7D%5Cmathbb%7BI%7D%28f%28x%29%3D%20y%29p%28x%29dx%20%5C%5C%20%3D%201%20-%20E%28f%3B%20D%29
3.查准率、查全率与F1

对于二分类问题,可将样例根据真是类别与学习器预测类别的组合划分为真正例true positive、假正例false positive、真反例true negative和假反例false negative,以下用TP、FP、TN、FN表示。
%E6%9F%A5%E5%87%86%E7%8E%87%20P%20%3D%20%5Cfrac%7BTP%7D%7BTP%20%2B%20FP%7D%20%5C%5C%20%E6%9F%A5%E5%85%A8%E7%8E%87%20R%20%3D%20%5Cfrac%7BTP%7D%7BTP%20%2B%20FN%7D
以查全率为横轴、查准率为纵轴,得到了P-R曲线,若某种机器学习算法的P-R曲线被另一种包住,则被包住的机器学习算法性能要差一些。
F1%20%3D%20%5Cfrac%7B2%20%2A%20P%20%2A%20R%7D%7BP%20%2B%20R%7D%20%5C%5C%20%3D%20%5Cfrac%7B2%20%2A%20TP%7D%7B%E6%A0%B7%E4%BE%8B%E6%80%BB%E6%95%B0%20%2B%20TP%20-%20TN%7D
F1度量的一般形式F_%5Cbeta,能表达出对查准率/查全率的不同偏好,其中%5Cbeta%20%3E%200度量了查全率对查准率的相对重要性,如果%5Cbeta%20%3D%201退化为标准的F1,%5Cbeta%20%3E%201表示查全率更大影响,%5Cbeta%20%3C%201表示查准率更大影响。

当有多个二分类混淆矩阵,如进行多次训练/测试,每次得到一个混淆矩阵,希望能够在n个二分类混淆矩阵上综合考察查准率和查全率,有两种方法。

  • 宏查准率、宏查全率、宏F1

macro-P%20%3D%20%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5EnP_i%20%5C%5C%20macro-R%20%3D%20%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5EnR_i%20%5C%5C%20macro-F1%20%3D%20%5Cfrac%7B2%2Amacro-P%2Amacro-R%7D%7Bmacro-P%2Bmacro-R%7D

  • 微查准率、微查全率、微F1

得到TP、FP、TN、FN的平均值,然后基于平均值计算结果
micro-P%20%3D%20%5Cfrac%7B%5Cbar%7BTP%7D%7D%7B%5Cbar%7BTP%7D%20%2B%20%5Cbar%7BFP%7D%7D%20%5C%5C%20micro-R%20%3D%20%5Cfrac%7B%5Cbar%7BTP%7D%7D%7B%5Cbar%7BTP%7D%20%2B%20%5Cbar%7BFN%7D%7D%20%5C%5C%20micro-F1%20%3D%20%5Cfrac%7B2%2Amicro-P%2Amicro-R%7D%7Bmicro-P%2Bmicro-R%7D

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年3月16日 下午3:00
下一篇 2022年3月16日 下午3:27

相关推荐