【吃瓜教程】西瓜书+南瓜书 第一、二章 学习笔记

吃瓜教材:

西瓜书:周志华老师的《机器学习》

南瓜书:《机器学习公式详解》第2版

吃瓜视频:【吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导

目录

第一章  绪论

1.1引言

1.2基本术语

1.3假设空间、版本空间

1.4归纳偏好

数据决定模型的上限,算法让模型无线逼近上限

第二章  模型评估与选择

2.1经验误差与过拟合

2.2评估方法

2.2.1留出法

2.2.2交叉验证法

2.2.3自助法

2.2.4调参与最终模型

2.3性能度量

2.3.1错误率与精度

2.3.2查准率、查全率、F1


第一章  绪论

1.1引言

机器学习:研究计算机从数据中产生“模型”(model)的算法——“学习算法”(learning algorithm)

深度学习:指神经网络类算法,机器学习子集

1.2基本术语

算法:从数据中学得“模型”的具体方法

模型:“算法”产出的结果,通常是具体的函数或可抽象看作函数,有时称为学习器

严格区分两者意义不大,经常混用,具体指代根据上下文具体判断即可;

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

真相(真实):潜在规律自身


一批西瓜数据:

瓜1:色泽=青绿;根蒂=蜷缩;敲声=浊响;好瓜

瓜2:色泽=乌黑;根蒂=稍蜷;敲声=沉闷;好瓜

瓜3:色泽=浅白;根蒂=硬挺;敲声=清脆;坏瓜

数据集(data set):这组西瓜数据的集合( D = {瓜1,瓜2,瓜3} )

样本(示例):一个事件或对象的描述(瓜1/瓜2/瓜3),通常假设全体样本独立同分布

属性(特征):反映事件或对象在某方面表现或性质的事项(色泽/根蒂/敲声)

属性值:属性的取值(青绿/乌黑......)

属性空间(样本空间、输入空间):属性张成的空间(把属性“色泽”“根蒂”“敲声”作为三个坐标轴,张成的三维空间,每个瓜都可在这个空间中找到自己的坐标位置)

特征向量:属性空间中的每一个点对应一个坐标向量,因此也把一个示例称为一个特征向量

学习(训练):从数据中学得模型的过程

训练数据(training data):训练过程中使用的数据

标记(label):示例结果的信息(好瓜/坏瓜)

样例:拥有标记信息的示例

标记空间(输出空间):标记的集合


监督学习:训练数据有标记信息——分类、回归是代表

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

  •   二分类:只涉及两个类别(一个为“正类”,一个为“反类”)
  •   多分类:涉及多个类别

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

无监督学习:训练数据没有标记信息——聚类是代表

聚类:通常在没有标记信息时将训练样本分成若干组,每组称为一个“簇”


测试:学得模型后,使用其进行预测的过程

测试样本:测试中被预测的样本

泛化能力:学得模型适用于新样本的能力,一般来说,训练样本越多,我们得到的关于 𝓓 的信息越多,就越有可能通过学习获得具有强泛化能力的模型

1.3假设空间、版本空间

归纳:从特殊到一般的“泛化”,即从具体事实归结出一般性规律

演绎:从一般到特殊的“特化”,即从基础原理推演出具体状况 

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

(由【色泽=?,根蒂=?,敲声=?】的所有可能取值所形成的假设组成) 

062413ae10d54e3e8a3526a24f6fd56f.png

版本空间:学习过程基于有限样本训练集进行,因此,会有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”(所有能够拟合训练集的模型构成的集合),称为“版本空间”

1.4归纳偏好

归纳偏好:机器学习算法在学习过程中对某种类型假设的偏好,不同的机器学习算法有不同的偏好

有多个算法学得的多个模型时,哪个更好呢?

“奥卡姆剃刀”原则认为“若有多个假设与观察一致,则选最简单的那个”。

何为“简单”见仁见智,因此最常用的方法是基于模型在测试集上的表现来评判模型之间的优劣。

“没有免费的午餐”定理(NFL定理):

众算法生而平等,要谈论算法的具体优劣,必须要针对具体的学习问题,哪个算法训练出来的模型在测试集上表现好哪个算法在这个学习任务中就更优

数据决定模型的上限,算法让模型无线逼近上限

数据决定模型的上限:数据质量不高,不论怎么调整算法,产生的模型都达不到更高的水平;

算法让模型无线逼近上限:在相同数据下,不同的算法拟合的效果不同,对这些数据来说,某个算法拟合的效果可能最好

第二章  模型评估与选择

ps:目前只看到2.3.2

2.1经验误差与过拟合

错误率:分类错误的样本数占样本总数的比例

精度:精度=1-错误率

误差:预测值与真实值之间的差异

训练误差(经验误差):学习器在训练集上的误差

泛化误差:学习器在新样本上的误差

我们希望得到泛化误差小的学习器,实际只能努力最小化训练误差。

过拟合:学习器过于复杂,把训练样本自身的一些特点当做了所有潜在样本都会有的一般性质,训练误差小但泛化误差大。

  • 过拟合无法彻底避免,只能缓解。

欠拟合:学习器过于简单,对训练样本的一般性质尚未学好,训练误差和泛化误差都很大。

2.2评估方法

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

需要注意测试集尽可能和训练集互斥(举一反三的能力)。

2.2.1留出法

留出法直接将数据集D划分为两个互斥的集合,一个训练集S,另一个测试集T,在S上训练出模型后,用T来评估测试误差,作为泛化误差的估计。

注意:
1.训练集和测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,从采样的角度来看待数据集的划分过程,即“分层采样”。
2.由于数据集D的划分方式有多种,因此单次使用留出法得到的结果往往不够稳定可靠,在使用留出法时,一般采用若干次随机划分、重复实验评估后取平均值作为留出法的评估结果。
3.训练集S包含绝大多数样本时,模型更接近用D训练出的模型,但由于测试集T较小,评估结果不够稳定准确;测试集T多包含一些样本,则训练集S和D差别更大,模型和用D训练的模型有较大差别,降低了评估结果的保真性。一般将大约2/3~4/5的样本用于训练,剩下样本用于测试。

2.2.2交叉验证法

将数据集D分为k个大小相似的互斥子集,每次选k-1个作为训练集,剩下一个作为测试集,获得k组训练/测试集,进行k次训练和测试,最终返回k个测试结果的均值。(k最常用10)

同样,通常随机使用不同的划分重复p次,例如常见的“10次10折交叉验证”

特别地:留一法(LOO)——数据集D包含m个样本,k=m

2.2.3自助法

(有放回抽样)每次从D随机挑一个样本,再放回D中,再抽,重复m次,得到一个包含m个样本的数据集D'。初始数据集D中约有36.8%的样本未出现在D'中,将D'作为训练集,初始数据集D中未出现在D'中的样本作为测试集。

自助法改变了数据集的分布,引入了估计偏差,因此初始数据量足够时,留出法和交叉验证法更常用。

2.2.4调参与最终模型

调参:对算法参数进行设定

验证集:模型评估与选择中用于评估测试的数据集(训练集训练模型—验证集进行模型选择和调参—测试集估计模型实际使用时的泛化能力)

2.3性能度量

性能度量:衡量模型泛化能力的评价标准

回归任务最常用的性能度量:均方误差(预测值-真实值)的平方和求平均

2.3.1错误率与精度

分类任务最常用的性能度量:错误率和精度

2.3.2查准率、查全率、F1

查全率、查准率解决问题例如:挑出的瓜有多少比例是好瓜,所有好瓜中有多少比例的被挑了出来

TP+FP+FN+TN=样例总数

查全率和查准率是一对矛盾的度量。

P-R曲线:

若一个学习器的P-R曲线完全包住另一个,则前者的性能优于后者;

若发生交叉,难以评判,比较P-R曲线下面积的大小,但这个值不太好估算,因此设计了“平衡点”度量。

平衡点(BEP):“查全率=查准率”的取值,BEP更大则更优

但BEP还是过于简化,更常用F1度量:

根据对查全率和查准率的重视程度不同,F1度量的一般形式:

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
西瓜是《机器学习》这本教材的昵称,在这本中作者使用Python语言进行代码实现。以下是关于西瓜Python代码的回答: 西瓜中的Python代码用于实现各种机器学习算法和相关实验。作者使用Python这一通用的高级编程语言,结合各种机器学习库,如Scikit-learn等,来实现算法。 例如,在第二章关于感知机的代码实现中,作者使用Python定义了一个类Perceptron,包含初始化函数、训练函数和预测函数。这些函数使用Python语法实现了感知机算法的各个步骤,如权重的初始化、正类和负类的划分、误分类点的更新等。通过调用这些函数,可以进行感知机的训练和预测过程。 同样,在后续的章节中,作者使用Python代码来实现了其他的机器学习算法,如k近邻算法、朴素贝叶斯等。通过这些代码实现,读者可以学习到如何使用Python实现这些算法,以及如何使用相关的库函数来简化实现过程。 此外,西瓜中的代码还包括了一些实验演示,通过使用Python代码可以完成一些实验,如不同算法在一些数据集上的表现比较、参数调优等。这些实验可以帮助读者更深入地理解机器学习算法的原理和效果。 总而言之,西瓜的Python代码是作者使用Python语言来实现机器学习算法和相关实验的一种方式,通过这些代码,读者可以学习并应用这些算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值