《机器学习》(周志华)前五章笔记

文章目录

  • 前言
  • 各章公式详解
  • Chapter 1 绪论
  • Chapter 2 模型评估与选择
    • 获得训练集与测试集
      • 留出法
      • 交叉验证法
      • 自助法
    • 性能度量
      • 错误率与精度
      • 查准率(precision)与查全率(recall)
      • ROC
      • 代价曲线
  • Chapter 3 线性模型
    • 线性回归
    • 对数几率回归
      • 极大似然法估计w、b
    • 线性判别分析
    • 多分类学习
    • 类别不平衡问题
  • Chapter 4 决策树
  • Chapter 5 神经网络

前言

毕业论文与神经网络相关,打算暂时先拜读一下本书前五章。
由于阅读的是pdf教材,故以博客形式记录,文中会有较多原书籍的截图。
部分公式、文字和推导过程经我修改会与原书有一定差别,本质仍然相同。
图片公式的格式问题之后再考虑。

各章公式详解

数学知识参见附录。
公式推导参见南瓜书:
https://datawhalechina.github.io/pumpkin-book/#/chapter1/chapter1?id=_12

Chapter 1 绪论

《机器学习》(周志华)前五章笔记_第1张图片
“属性”(attribute)也可称为“特征”(feature),将d个属性作为d个坐标轴,则他们张成一个用于描述一个西瓜的d维空间,由属性张成的空间称为“属性空间”(attribute space)、”样本空间“(sample space)或”输入空间“,每个西瓜都可在这个空间中找到自己的坐标位置。由于空间中的每个点对应一个坐标向量,因此我们也把一个示例(用d个属性组成的对西瓜的描述)称为一个特征向量。

若属性值之间存在“序关系”,则可以将其转化为连续值,例如:身高属性分为“高”“中等”“矮”,可转化为数值:{1, 0.5, 0}。一维。
若属性值之间不存在“序关系”,则通常将其转化为向量的形式,例如:性别属性分为“男”“女”,可转化为二维向量:{(1,0),(0,1)}。注意,并不是用单个0/1表示。

示例信息的结果,称为“标记”(label),拥有标记信息的示例,称为“样例”(example)

从数据中学得模型的过程称为”学习“(learning)或”训练“(training),学得的模型对应了关于数据的某种潜在的规律,因此亦称”假设“(hypothesis),即模型是对于这种潜在规律的假设;这种潜在规律自身,则称为”真相“或”真实“(ground truth)。学习过程就是为了找出或逼近真相。

如果预测的是离散值,此类学习任务称为“分类”(classification),就是把一个个类型用一个个的离散值对应表示;如果预测的是连续值,例如西瓜成熟度0%~100%,此类学习任务称为“回归”(regression)。

根据训练集是否拥有标记信息,将学习任务分为“监督学习”(supervised learning)和“无监督学习”(unsupervised learning),分类和回归是前者的代表,它们希望通过对训练集D={(x1,y1),(x2,y2),…,(xn,yn)} 进行学习,建立一个从输入空间到输出空间的映射关系。而聚类是后者的代表,它的训练集通常没有标记信息。

机器学习的目的是使学得的模型能很好地适用于“新样本”,而不仅仅是在训练样本上工作得很好。学得模型适用于新样本的能力,称为“泛化”(generalization)能力。
尽管训练集通常只是样本空间的一个很小的采样,我们仍希望它能很好地反映出整个样本空间的特性。于是通常假设样本空间的全体样本服从一个未知“分布”(distribution),以D表示,并且我们获得的样本都是独立同分布的。

Chapter 2 模型评估与选择

把学习器的预测输出与样本的真实输出之间的差异称为”误差“(error),学习器在训练集上的误差称为“训练误差”(training error)或“经验误差”(empirical error),在新样本上的误差称为“泛化误差”(generalization error)。
显然,我们希望得到泛化误差小的、在新样本上表现很好的学习器。然而,我们事先并不知道新样本是什么样子的,实际能做的只是努力使训练误差最小化。但是当学习器把训练样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,把特殊当成了一般,这样就会导致泛化性能下降,这种现象称为“过拟合”(overfitting),与之相对的是“欠拟合”(underfitting),这是指对训练样本的一般性质未学习好。
《机器学习》(周志华)前五章笔记_第2张图片
过拟合是无法彻底避免的,我们所能做的只有“缓解”,或者说减小其风险。

获得训练集与测试集

理想情况下应当评估不同候选模型的泛化误差,然后选择泛化误差最小的模型,然而泛化误差无法直接获得,训练误差又由于过拟合的存在不适合作为标准,那么,如何进行模型评估与选择?方法是,通过对数据集D进行适当的处理,从中产生出训练集S 和测试集T,并用T来评估测试误差,作为泛化误差的估计。

留出法

训练集和测试集的划分要尽可能保持数据分布的一致性,例如在分类问题中保持样本的类别比例相似,保留类别比例的采样方法通常称为“分层采样”(stratified sampling)。例如对D分层采样而获得含700个样本的S和含300个样本的T,若D包含500个正例,500个反例(二分类任务),则S包含350:350,T包含150:150。
《机器学习》(周志华)前五章笔记_第3张图片
若令训练集S包含D中的大部分样本,则训练出的模型可能更接近于用D训练出的模型,但是T比较小,会使得评估不够稳定准确;若令S包含少一点样本,则S与D差别较大,训练出的模型和用D训练出的模型可能会有较大差别。这个问题没有完美解决方案,通常取2/3~4/5作为S,剩余样本作为T。

交叉验证法

分析类似留出法。
特例:留一法。

自助法

自助法(bootstrapping)以自助采样法(bootstrap sampling)为基础。
给定包含m个样本的数据集D和空样本数据集D’,每次从D中挑选一个样本,将它的拷贝放入D’中(相当于有放回的抽样),这个过程重复m次后,得到了包含m个样本的数据集D’,并将D’ 作为训练集。这样,实际训练的模型(用D’ 训练)和期望训练的模型(用D训练)都使用m个样本。
在上述过程中,样本在m次采样中始终不出现的概率(该样本不出现在D’ 中的概率)为:
《机器学习》(周志华)前五章笔记_第4张图片
即初始数据集 D 中有约36.8%的样本未出现在 D’ 中,可将这部分样本用作测试集。

性能度量

给定训练集 D={(x1,y1),(x2,y2),…,(xn,yn)} ,其中 yi 是示例 xi 的真实标记,学习器预测结果为 f(xi) 。我们要把 f(xi)yi 进行对比来评估学习器 f 的性能。
回归任务常用均方误差。
下面主要介绍分类任务常用的性能度量。

错误率与精度

错误率是分类错误的样本数占总样本的比例,精度是1-错误率,也是分类正确的样本数占总样本的比例。

查准率(precision)与查全率(recall)

《机器学习》(周志华)前五章笔记_第5张图片
输入为正例,学习器输出预测为正例,称为真正例。
输入为反例,学习器输出预测为正例,称为假正例。
《机器学习》(周志华)前五章笔记_第6张图片
结合表格易知:
查准率:预测出的正例样本中,原来为正例的样本所占的比例。
查全率:输入的正例样本中,被正确预测为正例的样本所占的比例。
查准率-查全率曲线,简称P-R曲线。P-R曲线的绘制参考ROC曲线。
《机器学习》(周志华)前五章笔记_第7张图片
若一个学习器的曲线被另一个学习器的曲线“包住”,则可断言后者的性能优于前者。如果两个学习器的曲线发生了交叉,可以根据“平衡点”(Break-Event Point,简称BEP)判断,它是查准率=查全率时的取值,BEP更大认为学习器更优。也可以使用F1度量。
《机器学习》(周志华)前五章笔记_第8张图片
《机器学习》(周志华)前五章笔记_第9张图片
也就是将这四个均值组合成一个新的混淆矩阵,根据这个混淆矩阵计算。

ROC

《机器学习》(周志华)前五章笔记_第10张图片
《机器学习》(周志华)前五章笔记_第11张图片
对于最后一句话,在这里解释一下为什么是这样确立坐标的。
当前若为真正例,则 TP 值加一,TN 值不变, TP+FN=m+ 不变,所以纵坐标增加量为 1/m+TP 值加一, TPR 增加1/m+ ),横坐标不变(TN 值不变,FPR不变)。
当前若为假正例,同理。
但是,上述分析基于这样一个假设:所有样本输入学习器后,学习器将各个样本预测为正样本的概率彼此不同。然后依照上图来描坐标点,只会是一个概率对应一个样本,坐标值就是如上文所述计算,而不会出现一个概率对应多个样本的情况,因为此时坐标值计算方法略有不同。
当出现一个概率对应多个样本的情况时,这多个样本可能包含真正例,也可能包含假正例,新的坐标点的横纵坐标相比前一个点都可能增大。例如,当模型对某个正样例和某个反样例给出的预测值相同时(一个真正例,一个假正例),下一个点的坐标为(x+1/m- , y+1/m+)。

代价曲线

Chapter 3 线性模型

《机器学习》(周志华)前五章笔记_第12张图片
这样计算出的 f(x) 是一个实数值,示例的标记是一个值而非向量。

线性回归

由于 f(x) 是一个实数值,它的取值连续,所以是回归任务。
数据集 Dm 个示例,每个示例由 d 个属性描述,则可设
《机器学习》(周志华)前五章笔记_第13张图片
在这里插入图片描述
这里区分本章一开始的图,里面x是列向量。
b是一个实数,上式使用的是分号而非空格,表示b与列向量w合为一个列向量w^,并非表示两个列向量组成列向量组。
于是有:
在这里插入图片描述
X是m*(d+1)维矩阵,w^ 是d+1大小的列向量,Y是m大小的列向量。输入m个列向量x1~xm,输出m个预测值组成的列向量Y。
设输入m个示例的标签组成列向量y,则均方误差为
在这里插入图片描述
易知,向量的模方拆开后符合均方误差的原公式:
在这里插入图片描述
又根据线性代数运算,令均方误差最小得w^取值:
在这里插入图片描述
求解上式:
《机器学习》(周志华)前五章笔记_第14张图片
上式的求解用到了矩阵求导。

易知XTX为d+1阶方阵,当X为满秩矩阵或正定矩阵,根据正定矩阵的定义容易证明XTX可逆,所以:
在这里插入图片描述
在这里插入图片描述
《机器学习》(周志华)前五章笔记_第15张图片
解释:当XTX不满足上述条件,可将w^的求解式看作线性方程组求解,且这个方程组有多组解。
《机器学习》(周志华)前五章笔记_第16张图片
亦可写作g(y) = wTx + b 记忆。

但是 为什么要求g单调可微?

对数几率回归

在这里插入图片描述
对于二分类任务,使用对数几率函数替代阶跃函数作为g的反函数g-1,则
在这里插入图片描述
以z = wTx+b为横坐标,y为纵坐标,作图得:
《机器学习》(周志华)前五章笔记_第17张图片
由于判决规则是当z>0,判为正例,当z<0,判为反例,而对率函数曲线z自负无穷到正无穷过程中,y由0递增至1,故可将y视为判决为正例的概率,则1-y为判决为反例的概率。
由此,我们得出极大似然法估计w、b时p1、p0的表达式。

上式可变化为:
在这里插入图片描述
如果我们认为线性模型的预测值 wTx+b 逼近于 真实标记的对数几率 ln(y/1-y) 而非 真实标记 y ,即可取对率函数作为g-1。
虽然它的名字是“回归”,但实际是一种分类学习方法。本句书中并未解释,应该是说求出函数值后,令其与阈值0.5比较,进行分类。

极大似然法估计w、b

给定训练集 D={(x1,y1),(x2,y2),…,(xm,ym)} ,易知极大似然函数可取为:
在这里插入图片描述
其中,xi,yi都已知,为训练集中的一对数据,取此似然函数,令每个样本属于其真实标记的概率最大。
在这里插入图片描述
于是有:
在这里插入图片描述
即当yi=1取值为p1,当yi=0取值为p0。
又因为:
在这里插入图片描述
则似然函数可写为:
《机器学习》(周志华)前五章笔记_第18张图片
剩余推导参考南瓜书。最终可用牛顿迭代法求近似解。

线性判别分析

《机器学习》(周志华)前五章笔记_第19张图片
本节详细内容在这线性判别分析LDA

多分类学习

书中讲得很清楚。

这里对MvM技术“纠错输出码”(Error Correcting Output Codes,简称ECOC)进行一些记录。
需要注意的是“ECOC”将编码的思想引入了类别划分对于每个类别,都有特点的二进制码与之对应。
对图3.5编码矩阵的解释:
对于C1至C5类,f1~f5会有确定的输出码
然后输入测试实例,比较此时的输出码与C1至C5类的码距

类别不平衡问题

《机器学习》(周志华)前五章笔记_第20张图片
《机器学习》(周志华)前五章笔记_第21张图片
式3.48——令y’/1-y’ > 1即y/1-y >m+/m-,符合式3.47

Chapter 4 决策树

移步我的博客机器学习决策树

Chapter 5 神经网络

移步我的博客神经网络

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