周志华老师的西瓜书学习笔记 第一二章

第一章 绪论

1.1.引言

      机器学习自成立到现在只有近60年的年龄,所以机器学习还很年轻,当前正处于工程领先与理论的阶段,还有很多未解之谜。正如人类先学会使用指南针,然后才发现磁场理论一样,机器学习还有很多内容等待开发与探讨。

1.什么是机器学习?

人工智能:让机器像人一样变得拥有智能的学科。

机器学习:让机器像人一样从数据中学习出规律得一类算法。

深度学习:神经网络类的机器学习算法。

       人工智能是一个庞大的学科,他还可以包含机械领域等各种领域去实现人工智能,机器学习只是我们计算机领域去实现人工智能的一种方式。

      深度学习只是神经网络类的机器学习算法,但深度学习现在几乎可以和机器学习划等号,因为神经网络类机器学习算法效果最好,以至于很多任务只需要神经网络类算法就可以解决。可以说机器学习已经被神经网络类的算法“一统天下”。

       所以从包含关系上来看,人工智能是包含机器学习,机器学习包含深度学习。

2.人工智能具体领域应用

计算机视觉:让计算机拥有视觉能力。(比如人脸识别,图像检测)

自然语言处理:让计算机拥有语言能力。(文本处理,chatgpt)

推荐系统:让计算机精确分析出人的喜好。

1.2基本术语

1.算法:是指从数据中学习模型的方法,例如线性回归,对数几率回归,决策树等。

2.算法产出的结果被称作模型:通常是具体的函数或者可以抽象的看做函,例如一元线性回归算法产出的模型即为形如y=ax+b的一元一次函数。

3.样本:对于一件事或对象的描述。

关于事件活对象的描述,需要让计算机理解,然而计算机只能了解运算符号,数字和字母,所以我们可以通过将对象的特征提取为向量让计算机理解。

4.向量中的各个维度称为特征或者属性。向量中的元素用分号“;”分隔时表示列向量,用逗号“,”分隔时表示行向量。

例如一个2020年建成在北京海淀区的学区房小区。可以用向量x=(2020年;北京海淀区;学区房)来表示。

5.标记:机器学习的本质就是在学习样本在某个方面的表现是否存在规律,我们称该方面的信息为标记。

标记通常看做样本的一部分,因此,一个完整的数据通常表示为(x,y)。

例如,一条西瓜样本:x=(青绿;蜷缩;清脆),y=好瓜。

6.样本空间:也成为输入空间或者属性空间。由于样本采用表明各个特征取值得特征向量来进行表示,有向量就会有向量所在的空间,因此称样本的特征向量所在的空间所在的空间为样本空间,由花式大写的x表示。

7.标记空间:标记所在的空间称为标记空间或者输出空间,数学表示为花式大写y。

8.数据集:数据集通常由集合表示,一般同一份数据集中每个样本都有相同个数的特征,蛇特征由a个,则样本i的数学表示为a维向量xi=(xi1;xi2...;xia),xij表示样本xi在第j个属性上的取值。

9.泛化:由于机器学习的目标是根据已知对未来做出尽可能准确的判断,因此对未知事物判断的准确与否是衡量模型好坏的关键,称次为泛化的能力。

10.分布:指概率论的概率分布,通常假设样本空间服从未知分布,我们收集到的每个样本都独立的服从未知分布,既独立同分布。

1.3.机器学习任务

根据标记额取值类型不同,可将机器学习任务分为两类

1.分类:标记取值类型为离散性,例如将手机分为oppo,华为,苹果和其他。当分类只有两个时,称此任务为二分类,称其中一个为正类,另一个为负类福(反类),通常将正类记为1,负类记为0;当分类为多个时,此类任务为多分类。

2.回归:标记取值类型比如预测股票未来的走势,由于是连续性,因此标记的所有取值无法罗列,通常只有取值范围。

根据是否用到标记信息,可以将机器学习任务分为两类

1.用到标记信息时称为监督学习。

2.没有用到时称为无监督学习。

1.4.归纳偏好

1.归纳偏好,例如预测房价走势时,选用一元线性回归算法时,学的模型是一元一次函数,选用多项式回归算法时,模型是一元二次函数,所以不同的机器学习算法有这不同的偏好,称为归纳偏好。

当然,机器学习算法没有有劣之分,只是有是否适合当前待解决的问题之分。

数据决定模型效果的上限:其中数据指从数据量和工程量两个角度考虑。通常数据量越多越好。从特征工程角度来看,通常对特征数字化越合理,特征收集越细致,模型效果越好。

算法是让模型无限逼近上限。

第二章 模型评估与选择

2.1经验误差与过拟合

1.经验误差:我们把学习器的实际预测输出与样本的真实输出之间的差异称为误差,学习器在训练集上的误差成为训练误差或经验误差。在新样本上的误差称为泛化误差。

就好比在预测房价时,现在处于十月份,先让学习器通过学习今年一至八月份的每日房价与学校数量的样本数据,让后在让机器通过已得的模来计算八到十月份的房价,通过预测的数据与实际的数据进行比较来筛选不符合的错误样本并称之为经验误差。

2.多数情况下,我们可以学得一个经验误差很小,在训练集上表现很好的机器,但是遗憾的是,这样的学习器多数情况下都不好。我们希望的是在实际预测上做的很好的学习器,也就是在新样本上表现很好的学习器,所以应该在训练样本中尽可能学习出适用于所有潜在样本的普遍规律。然而,把训练样本学习太好的机器很可能把训练样本自身的特点当做潜在样本的一班性质,这会导致泛化的下降。这就是“过拟合”现象。与之对应的是“欠拟合”。

在学习分辨是否为人类额学习时,如果样本都是有这头发的数据,当机器在新样本中发现一个秃头程序员样本事,就会因为过拟合而认为没有头发就不是人类从而产生错误。

3.过拟合通常由于学习能力过于强大而导致,而欠拟合由于学写能力低下导致,这可以通过决策树学习中扩展分支,神经网络中增加训练轮数解决。过拟合是无法避免的,我们只能缓解。

2.2评估方法

如果我们有一个包含m个样例的数据集D={(x1,y1),...(xm,ym)},既要训练,又要测试,我们需要对D进行适当的处理,从中产生训练集S和测试集T。

留出法:直接将数据集D划分为两个相斥的子集,其中一个作为训练集,一个作为测试集。

交叉验证法:先将数据集D分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,既通过分层采样得到,然后每次用k-1个子集的并集作为训练集,余下的子集都是测试期,这样可以得到k组训练集和测试集,最终返回的是k个测试结果的平均值。

我们希望评估的是D训练出来的模型,但在留出法和交叉验证法中,由于保留一部分用于样本测试,因此实际测试模型所用的集合比D小,这会引入因训练规模不同而导致的估计偏差。所以自助法可以解决因减少训练样本而造成的影响。

自助法:以自助采样为基础,通过对D进行自助采样产生D':每次随机在D中挑选一个样本,将其拷贝放入D',然后再讲该样本放回初始集D中;重复进行该过程m次后得到包含m个数据的数据集D'。于是我们可以将D'用作训练集,然后将没有在训练集出现的样本应用于测试,这样的测试结果,也被成为“包外估计”。

自助法在数据集较小,难以划分训练和测试集是很有用,在数据量足够时,交叉验证法和留出法更常用一些。

2.3性能度量

对机器学习的泛化性能进行评估,除了有效的实验估计方法,还需要衡量模型范化额度评价标准,这就是性能度量。这意味着模型的好坏是相对的,不仅取决于算法和数据,是取决于任务需求。

在预测任务中,给定样列集合D={(xi,yi),...(xm,yn)},其中yi是xi的真实标记,这需要把学习器预测结果f(xi)和y进行比较。

回归任务最常用的性能度量是“均方误差”:E(f;D)=1/mΣ(f(xi)-yi)²

下面介绍分类任务中常用的性能度量

错误率与精度:错误率是分类错误样本站样本总量的比例,精度是分类正确的样本占总样本的比例。

错误率定义为E(f;D)=1/mΣΠ(f(xi)!=yi)

精度定义为acc(f;D)=1/mΣΠ(f(xi)=yi)

对于二分类问题, 可将样例根据其真实类别与学习器预测类别的组合划

分为真正例(true positive)、假正例(false positive)、 真反例(true negative)、假反例(false negative)四种情形,令TP、FP、 TN、FN分别表示其对应的样例数,则显然有TP+FP+TN+FN =样例总数。分类结果的“混淆矩阵”(confusion matri)。57282fd15d92483c946abeaf901f2675.png

 ROC与AUC

ROC全称是“受试者工作特征”(Receiver Operating Characteristic)曲线,它源于“二战” 中用于敌机检测的雷达信号分析技术, 二十世纪六七十年代开始被用于一些心理学、 医学检测应用中, 此后被引入机器学习Spackman,1989].与2.3.2节中介绍的P-R 曲线相似,我们根据学习器的预测结果对样例进行排序, 按此顺序逐个把样本作为正例进行预测, 每次计算出两个重要量的值,分别以它们为横、 纵坐标作图,就得到了“ROC曲线”。与P-R曲线使用查准率、查全率为纵、 横轴不同,ROC曲线的纵轴是“真正例率”(TruePositiveRate,简称TPR),横轴是 “假正例率”(FalsePositiveRate,简称FPR),基于表2.1中的符号, 两者分别定义为

  TPR=TP/TP+FN’ (2.18)

  FPR= FP/TN +FP (2.19)ae5b4670a1cf40d3b20bbf285cd5dc3a.png

 

2.4比较检验

假设检验中的“假设”是对学习 器泛化错误率分布的某种判断或猜想,例如“=∈o”。现实任务中我们并不知道学习器的泛化错误率,只能获知其测试错误率é。泛化错误率与测试错误率未必相同 ,但直观上,二者接近的可能性应 较大,相差很远的可能性比较小。因此, 可根据测试错误率估推出泛化错误率的分布。泛化错误率为e 的学习器在一个样本上犯错的概率是; 测试错误率é意味着在m个测试样本中恰有xm个被误分类。 假定测试样本是从样本总体分布中独立采样而得,那么泛化错误率为e 的学习器将其中m'个样本误分类、其余样本全都分类正确的概率是em'(1-e)m-m'; 由此可估算出其恰将éxm个样本误分类的概率如下式所示, 这也表达了在包含m个样本的测试集上, 泛化错误率为e的学习器被测得测试错误率为 的概率:

8f71fff87c8e438baad7f17d769c7d48.png

 2.5偏差与方差

对学习算法除了通过实验估计其泛化性能, 人们往往还希望了解它“为什么”具有这样的性能。“偏差-方差分解” (bias-variancedecomposition)是解释学习算法泛化性能的一种重要工具。偏差-方差分解试图对学习算法的期望泛化错误率进行拆解。 我们知道,算法在不同训练集上学得的结果很可能不同, 即便这些训练集是来自同一个分布。

对测试样本x,令yD为x在数据集中的标记,y为 x的真实标记,f(x;D)为训练集D上学得模型f在x上的预测输出。 以回归任务为例,学习算法的期望预测为f1f9f2b711ea45a8846dd1bd51c03017.png回顾偏差、方差、噪声的含义:偏差(2. 40)度量了学习算法的期望预测与真实结果的偏离程度,即刻画 了学习算法本身的拟合能力;方差(2. 38)度量了同样大小的训练集的变动所导致的学习 性能的变化,即刻画了数据扰动所造成的影响;噪声(2.39) 则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。 偏差-方差分解说明,泛化性能是由学习算法的能力、 数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能, 则需使偏差较小,即能够充分拟合数据, 并且使方差较小,即使得数据扰动产生的影响小。一般来说,偏差与方差是有冲突的, 这称为偏差-方差窘境(bias-variancedilemma).图2.9给出了一个示意图。 给定学习任务,假定我们能控制学习算法的训练程度,则在训练不足时, 学习器的拟合能力不够强, 训练数据的扰动不足以使学习器产生显著变化,此时偏差主导 了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强, 训练数据发生的扰动渐渐能被学习器学到, 方差·逐渐主导了泛化错误率;在训练程度充足后, 学习器的拟合能力已非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。a16726f8c39b495c92277809330eb059.png

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值