(西瓜书)-------周志华 著
所有图片公式均来自Datawhale。
数据集中的每条记录是关于一个事件或对象的描述——示例(instance) 或样本 (sample).
一个示例也可以称为一个特征向量(feature vector)
反映事件或对象在某方面的表现或性质的事项——属性(attribute)或特征 (feature).
属性取值——属性值(attribute value)
属性张成的空间——属性空间(attribute space)或 样本空间(sample space)或输入空间
从数据中学得模型的过程——学习(learning)或训练(training)
训练过程使用的数据——训练数据(training data)
训练样本的结果——标记(label)
拥有了标记信息的样本——样例(example)
预测的是离散值的学习任务——分类(classification)
预测的是连续值的学习任务——回归(regression)
学得模型后,使用其进行预测的过程——测试(testing)
被预测的样本——测试样本(testing sample)
将训练集中的结果按照一定规律分成若干组,每组称为一个“簇”(cluster)——“聚类”(clustering)
训练数据有标记信息——监督学习(supervised learning) 【分类和回归】
训练数据没有标记信息——无监督学习(unsupervised learning) 【聚类】
两个重要概念:
(待更新——归纳偏好)
又是一波重要概念~~
目标:努力使经验误差最小化,BUT…
如果学习器把训练样本学得”太好“,经验误差很小,很可能学习器已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质(说人话就是,学习能力过于强大,把训练样本所包含的一些不太一般的特性都学习了,以为普通样本都该具有这种特性)。这种就叫过拟合(overfitting),这种情况会导致泛化性能下降。
反面情况就是,学习能力低下,对训练样本的一般性质尚未学好,叫欠拟合(underfitting).
注意,学习能力是由学习算法和数据内涵共同决定的。
理想的模型选择(model selection)是在候选模型中,选择其中泛化误差最小的那个。但是,我们无法直接获得泛化误差,因为我们事先并不知道新样本是什么样的。
2.2 评估方法:
测试集(testing set):
为了通过实验测试来对学习器的泛化误差进行评估并进而做出选择,使用一个测试集来测试学习器对新样本的判别能力,然后以测试集的测试误差(testing error)作为泛化误差的近似。
对于测试样本,我们假设它也是从样本的真实分布中独立同分布采集得到。同时,测试样本应该满足,尽量不在训练集中出现,没有在训练过程中使用过。
那么,当我们只有一个数据集时,就需要通过适当处理,从中产生出训练集S和测试集T。
2.2.1 方法一:留出法(hold out)
直接将数据集划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。
需要注意,训练/测试集的划分要尽可能保持数据分布的一致性,如果从采样(sampling)的角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为“分层采样”(stratified sampling)。
通常做法是将大约2/3~4/5的样本用于训练,剩余样本用于测试。(一般而言,测试集至少应含30个样本)
2.2.2 方法二:交叉验证法(cross validation)
先将数据集D划分为k(通常取10)个大小相似的互斥子集Di,每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。
每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样可获得k组训练/测试集,从而进行k次训练和测试,最后返回这k个测试结果的均值。
这个方法通常被称为”k折交叉验证“(k-fold cross validation)
假定数据集D中包含m个样本,若令k=m,则得到了交叉验证法的一个特例:留一法(Leave-One-Out,简称LOO)。这样的划分法不受随机样本划分方式的影响,因为m个样本只有唯一的方式划分为m个子集——每个子集包含一个样本;留一法使用的训练集与初始数据集相比只少了一个样本。
2.2.3 方法三:自助法(bootstrapping)
给定包含m个样本的数据集D,对它进行采样产生数据集D‘:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将样本放回初始数据集D中,重复这个过程m次,得到包含m个样本的数据集D’。(也就是有放回的抽样吧)
通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D‘中。我们将D’用作训练集,D\D’用作测试集。(“\”表示集合减法)
2.2.4 调参与最终模型
调参(parameter tuning):对每种参数配置都训练出模型,把对于最好模型的参数作为结果。(理想考虑)
给定包含m个样本的数据集D,在模型评估与选择过程中我们需要留出一部分数据进行评估测试,因此我们只使用了一部分数据训练模型。在模型选择完成后,学习算法和参数配置已选定,此时应该用数据集D重新训练模型,这个模型在训练过程中使用了所有m个样本,这才是最终提交给用户的模型。
注意区分:
通常把学得模型在实际使用中遇到的数据称为测试数据;
模型评估与选择中用于评估测试的数据集常称为”验证集“( validation set)
2.3 性能度量(performance measure):
衡量模型泛化能力的评价标准。
对于分类任务常用的性能度量,如下:
错误率:分类错误的样本数占样本总数的比例。
精度:分类正确的样本数占样本总数的比例。
进一步:
查准率P(precision):所有预测值为正例的样本中真正例的比例
查全率R(recall):召回率,所有本身为正例的个数中预测结果中真正例的比例。
F1度量:基于查准率与查全率的调和平均(harmonic mean)定义的。是对查准率和查全率的偏好反映。
将离散特征量化:
可以分为二值和多值,多值里面又可以分有序和无序。无序的可以将三个特征分别拆分。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xLLj3g48-1626711362707)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718211534811.png)]
向量形式:
当只有一个属性时:
f ( x ) = w x i 2 + b f(x)=wx_i^2+b f(x)=wxi2+b
于是,我们的问题是:如何确定w和b?
一种模型思路是从最小二乘估计出发;另一种模型思路是利用极大似然估计。但其实根据下面两种推导,最后结果都一样,都是出来一个凸函数。
均方误差时回归任务中最常用的性能度量。它对应了欧几里得距离或简称为欧式距离(Euclidean distance)。基于均方误差最小化来进行模型求解的方法称为”最小二乘法“,即找到一条直线,使所有样本到直线上的欧式距离之和最小。
因此,我们通过让均方误差最小化来确定w和b。下面的那个符号arg_w,b表示的是求出使得后面的那个式子最小值的w和b。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1ampcRm-1626711362709)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718172033298.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ig9ui8JY-1626711362711)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718212949129.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4bF5ELP-1626711362713)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718212519201.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cuTFDUOT-1626711362715)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718213100766.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pj9uxPFu-1626711362717)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718213128749.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8mTkpDKM-1626711362718)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718214644292.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0HKBYqfl-1626711362719)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718214734886.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NUHDqwDu-1626711362720)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210718214801186.png)]
那么,接下来就讨论如何求解w和b。
首先解决两个疑问:1. E(w,b)为什么是一个凸函数;2. 怎样利用凸函数求最值得方法解出w,b.
这里需要注意的是,在机器学习中,凸函数的概念来自最优化理论,对于凸函数的定义与大家在高数里面学的相反。(高数里面,我们通常把向下凸的叫凹函数,但是在机器学习里面,这种就是凸函数)定义如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-89vSjNai-1626711362721)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719215821638.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j1Zw6XWI-1626711362723)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719221405288.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o3xT3n2d-1626711362724)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719224534835.png)]
最后求解出的w和b:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVzCuj7c-1626711362725)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719225117817.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3pVtd7jG-1626711362726)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719225145494.png)]
最后,总结一下机器学习的三要素:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9H38YJw3-1626711362727)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719231835382.png)]
根据这次内容理解一下:
模型,就是我们选择的线性模型。
策略就是基于均方误差最小化的最小二乘估计,或者是基于出现概率最大的极大似然估计。
算法,就是根据凸函数求最值的方法。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjVwIvvz-1626711362729)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235134868.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMebpmWw-1626711362730)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235203334.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eCkLYrQl-1626711362731)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235225709.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTadCy2q-1626711362733)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235256552.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NKNk1Dcr-1626711362735)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235331217.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DifqpAbj-1626711362736)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235409097.png)]
求海塞矩阵证明凸函数:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YT7Ue10E-1626711362737)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235621074.png)]
补充关于矩阵微分的公式:标量对向量求导
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCRPdUO5-1626711362738)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210719235944227.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMBEdRLD-1626711362739)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210720000105088.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qG3cfTeq-1626711362740)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210720000156138.png)]
求解w:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBVQrmT5-1626711362741)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\image-20210720000213997.png)]
736)]
求海塞矩阵证明凸函数:
[外链图片转存中…(img-YT7Ue10E-1626711362737)]
补充关于矩阵微分的公式:标量对向量求导
[外链图片转存中…(img-qCRPdUO5-1626711362738)]
[外链图片转存中…(img-pMBEdRLD-1626711362739)]
[外链图片转存中…(img-qG3cfTeq-1626711362740)]
求解w:
[外链图片转存中…(img-eBVQrmT5-1626711362741)]