【机器学习笔记】

文章目录

基于周志华的《机器学习》以及上课的补充做的学习记录,添加部分易错习题方便期末复习。前期时间紧迫,ppt截图会比较多,后期复习尽量缩减图片!!!

第一章 绪论

1.1 机器学习的定义

形式化定义:假设用P来评估计算机程序在某个任务类T上的性能,若一个程序通过利用经验E在T中任务上获得性能改善,则我们就说关于T和P,该程序对E进行了学习【Mitchell,1997】
任务T
经验E
性能指标P
说人话:机器学习就是研究如何通过计算手段,利用经验来改善系统自身的性能

1.2 机器学习过程

机器学习过程

1.3基本术语

机器学习基本术语
数据集:所有样本的集合
样本(示例):记录关于一个对象的描述
特征(属性):反映对象在某方面的表现或性质的事项
属性值:属性上的取值
属性空间(样本空间/输入空间):属性张成的空间(例如:把“色泽”“根蒂”“敲声”三个属性值作为三个坐标轴,则它们张成一个用于描述西瓜的三维空间,每个西瓜都可以在空间中找到自己的坐标位置)
特征向量:空间中每个点对应一个坐标向量,因此一个对象称为一个“特征向量”
训练(学习):从训练数据中学得模型的过程,通过学习算法完成
训练数据:训练过程使用的数据
测试:学得模型后使用模型进行预测的过程
假设:学得模型对应了关于数据的 某种潜在规律
真相/真实:潜在规律的本身
学习器(模型):学习算法在给定数据和参数空间的实例化
标记(标签):关于示例“结果”的信息yi
输出空间(标记空间):所有标记的集合
预测任务:对数据集进行学习,建立一个从输入空间到输出空间的映射
分类:预测离散值的学习任务,二分类中y={0,1}
回归:预测连续值的学习任务,一般y=R,R为实数集
泛化能力:学得模型适用于新样本的能力
独立同分布:每个样本都是独立从全体样本服从的分布采样获得
注意:机器学习不一定需要类别标记,但预测任务需要训练样本的类别标记(如聚类学习中的训练样本通常不含标记信息)

1.4数据

在这里插入图片描述

1.5机器学习分类

在这里插入图片描述

监督学习

  1. 按数据是否存在标签划分在这里插入图片描述
  2. 按标签是连续还是离散划分

在这里插入图片描述

无监督学习

在这里插入图片描述

强化学习

在这里插入图片描述

常见算法

常见的监督学习算法
k-Nearest Neighbors (K近邻算法,分类)
Logistic Regression(逻辑回归,分类)
Naive Bayesian Mode (朴素贝叶斯算法,分类)
Support Vector Machines(SVMs) (支持向量机,分类)
Decision Trees and Random Forests (决策树和随机深林,分类)
Neural networks(神经网络,分类)
Linear Regression(线性回归,回归)
Partial Least Square Regression (PLS,偏最小二乘,回归)
常见的无监督学习算法
Clustering (聚类)
k-Means (K均值)Principal Component Analysis(PCA,主成分分析)
t-distributed Stochastic Neighbor Embedding (t-SNE)

1.6建模过程

机器学习三要素

  • 函数集合{f1,f2…}
  • 目标函数J(f):函数的好坏(一般指损失函数)
  • 优化算法argminJ(f):找到最佳函数(找到使得目标函数最小的参数)
    举例:
    在这里插入图片描述

最小二乘法与梯度下降

最小二乘法:求目标函数最小等于求其偏导为零。不需要学习率η,一次计算得。只适用于线性模型。

假设目标函数需要均方误差最小,即误差平方的2范数最小
目标函数为: J ( f ) = 1 2 ∣ ∣ y − X w ∣ ∣ 2 2 = ( y − X w ) T ( y − X w ) J(f) =\frac{1}{2}||y - Xw||_2^2 = (y - Xw)^T(y - Xw) J(f)=21∣∣yXw22=(yXw)T(yXw)

令目标函数对w求偏导为零 ∂ J ∂ w = − 2 X T y + 2 X T X w = 0 \frac{∂J}{∂w}= -2X^Ty + 2X^TXw = 0 wJ=2XTy+2XTXw=0
得到: X T X w = X T y X^TXw = X^Ty XTXw=XTy
w o l s = ( X T X ) − 1 X T y w_{ols} = (X^TX)^{-1}X^Ty wols=(XTX)1XTy

例题
最小二乘法的求解步骤是什么?
(1)均方误差对w与b求偏导; (2) 令偏导为0; (3)求解线性方程组。
A (1)(2)(3)
B (1)(3)(2)
C (2)(1)(3)
D (3)(1)(2)

答案A

梯度下降法:需要多次迭代。η是学习率(步长),步长太大会导致无法收敛,步长太小则收敛很慢。有多个参数的情况下则求偏导。适用于各种模型。图示有误导,L应该改为J,这里只是普通梯度下降(输入只有w),因此不能忽略J内含求和,要使用每一个样本数据。

在这里插入图片描述
在这里插入图片描述

假设空间与版本空间

把机器学习的过程看作一个在假设组成的空间中进行搜索的过程。其实就是各种属性值排列组合形成的假设的集合。由于样本有限,因此可能存在多个假设与训练集一致,即存在一个与训练集一致的“假设集合”,又称之为“版本空间”。

归纳偏好

版本空间中存在多个模型符合训练集,学习算法又必须要产生一个模型时,学习算法本身的偏好就会起到关键作用。
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”
任何一个有效的机器学习算法必有其归纳偏好,否则会被假设空间中看似等效的假设所迷惑,无法产生确定的学习结果。
归纳偏好可以看作学习算法在自身一个可能很大的假设空间中对假设进行选择的启发式或“价值观”。

  • 一般性原则:奥卡姆剃刀 “若有多个假设与观察一致,则选择最简单的那个。”
  • 没有免费午餐定理(NLF):在所有问题出现机会相同,所有问题同等重要时任何算法的期望性能都一样,脱离具体问题空泛谈论算法性能毫无意义(算法的偏好要与问题匹配才能表现更好)

第二章 模型评估与选择

泛化误差:在“未来”样本上的误差
经验误差:在训练集上的误差,亦称“训练误差”
泛化误差越小越好,经验误差不是越小越好(可能过拟合)

模型选择(Model Selection)三个关键问题

  1. 如何获得测试结果?→评估方法
  2. 如何评估性能优劣?→性能度量
  3. 如何判断实质差别?→比较检验

2.1 评估方法

关键:怎么获得“测试集”(test set) ?
测试集应该与训练集“互斥”
常见方法

  1. 留出法(hold-out)
  2. 交叉验证法(cross validation)
  3. 自助法(bootstrapp)

1.留出法

  • 保持数据分布一致性(例如: 分层采样)
  • 多次重复划分(例如: 100次随机划分)
  • 测试集不能太大、不能太小(例如:1/5~1/3)
    在这里插入图片描述

2.交叉验证法

每个子集Di都尽可能保持数据分布的一致性,从D中分层采样得到。为减少因样本划分不同引入的差别,通常随即使用不同划分重复p次,常见有10次10折交叉验证
在这里插入图片描述

3.自助法

自助法需要保证数据样本的分布不会对学习任务产生比较严重的影响,每个样本按照有放回抽样的方式抽取(有可能出现重复的情况),每个样本都独立同分布
在这里插入图片描述

(单选题)
当学习任务对数据集分布的轻微变化比较鲁棒且数据量较少时,适合使用什么样的数据集划分方式?
A留出法
B交叉验证法
C自助法
D以上三个选项都可以

答案:C,本题关键是考虑“数据量较少”,此时无论是使用留出法还是交叉验证法,都会使得训练集数据量进一步变少,而使用自助法则不改变样本数量(训练集与原样本集同规模);其次考虑“对数据分布轻微变化比较鲁棒”,说明使用自助法时带来的训练数据分布变化不会有太多负面影响。综上,本题应该选C。

2.2 性能度量

性能度量(performance measure)是衡量模型泛化能力的评价标准,反映了任务需求
使用不同的性能度量往往会导致不同的评判结果
什么样的模型是“好”的,不仅取决于算法和数据,还取决于任务需求
回归(regression)任务常用均方误差MSE:
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D) = \frac{1}{m}\sum^m_{i = 1}(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

错误率与精度

错误率: E ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) ≠ y i ) E(f;D) = \frac{1}{m}\sum^m_{i = 1}Ⅱ(f(x_i)≠y_i) E(f;D)=m1i=1m(f(xi)=yi)
精度: a c c ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D) = \frac{1}{m}\sum^m_{i = 1}Ⅱ(f(x_i)=y_i) = 1-E(f;D) acc(f;D)=m1i=1m(f(xi)=yi)=1E(f;D)

查准率、查全率与F1

在这里插入图片描述
在这里插入图片描述

例题
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

ROC与AUC

在这里插入图片描述

代价敏感错误率与代价曲线

(这里ppt没有,暂时偷懒先不管)

2.3 比较检验

2.4 偏差和方差

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

第三章 线性模型

3.1线性模型基本形式

线性模型(linear model)试图学得一个通过属性的线性集合来进行预测的函数。函数集合为输入特征的线性组合,即预测输出y^与输入x的关系是线性关系
在这里插入图片描述
在这里插入图片描述

线性模型特性

  1. 形式简单
  2. 易于建模
  3. 可解释性

3.2线性回归

线性回归基本形式

线性回归(linear regression)试图学得一个线性模型以尽可能准确地预测实值输出标记
在这里插入图片描述
注意:其中 X X X也称为设计矩阵(多元线性回归常用),公式推导时形式都如上。 x y w xyw xyw都为列向量

回归任务的损失函数(补充)

1.L2损失(均方误差损失函数)的概率解释*

L2损失函数: L ( y , y ˆ ) = ( y − y ˆ ) 2 L(y,\^y)=(y-\^y)^2 L(y,yˆ)=(yyˆ)2
概率解释:最小L2损失函数等价于高斯白噪声下的极大似然
证明过程:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应用场景:

  • 利用检查残差分布是否正态来判断模型的预测效果
    在这里插入图片描述

  • 通过真实值和残差的散点图分析模型是否完全建模

  • 在这里插入图片描述

2.胡伯损失函数(HuberRegressor)

L1损失函数不常用是因为其在零点不平滑从而无法求导
胡伯损失函数就是L1损失函数与L2损失函数的“杂交品种”,既解决了L1损失函数在零点不可求导的问题,又保留了L1在误差增长与惩罚力度之间的线性关系(相对于L2的指数型增长在某些时候更合理)
在这里插入图片描述
在这里插入图片描述

线性回归模型的正则项(补充)

在这里插入图片描述

(0)L2损失+无正则:最小二乘线性回归

在这里插入图片描述

(1)L2损失+L1正则:Lasso线性回归

在这里插入图片描述L1正则化给出的最优解w是使解更加靠近某些轴点,也就是L1正则化能参数稀疏化

(2)L2损失+L2正则:岭回归

在这里插入图片描述
L2正则化给出的最优解w是使解更加靠近原点,也就是L2正则化能降低参数范数的总和

L2正则的概率解释*

L2正则可视为参数先验分布为正态分布的贝叶斯估计
(证明先略过)
这里推导过程揭示了超参数 λ λ λ的来源, λ = σ 2 / τ 2 λ = σ^2/\tau^2 λ=σ2/τ2
其中 σ 2 σ^2 σ2是噪声方差, τ 2 \tau ^2 τ2是先验参数方差
σ 2 σ^2 σ2无法改变,则当 λ λ λ增大时, τ 2 \tau ^2 τ2减小,先验分布越集中在零均值,参数w的权重会变得更小。(个人理解:w的权重应该是指输入x,也就是先验估计,它的高斯分布变得更窄,大多数都很靠近零,所有说w的权重小了)。

单选题
当增加L2正则项的超参数λ时,参数w的权重如何变化?
A权重变得更小
B权重变得更大
C权重不变
D权重变化不确定

答案A

(3)L2损失+L1正则+L2正则:弹性网络

在这里插入图片描述

单选题
以下哪个模型没有超参数?
A 最小二乘线性回归
B 岭回归
C Lasso回归
D 弹性网络回归

答案A,最小二乘回归无正则项

线性回归的优化算法(补充)

1.解析求解(以最小二乘为例,无正则项)

目标函数最优解: w ˆ = a r g m i n ( y − X w ˆ ) T ( y − X w ˆ ) \^w=argmin(y-X\^w)^T(y-X\^w) wˆ=argmin(yXwˆ)T(yXwˆ)

对目标函数 ( y − X w ˆ ) T ( y − X w ˆ ) (y-X\^w)^T(y-X\^w) (yXwˆ)T(yXwˆ) w w w求偏导使其为零得 ∂ J ∂ w ˆ = 2 X T ( X w ˆ − y ) = 0 \frac {\partial J}{ \partial \^w} = 2X^T(X\^w-y)=0 wˆJ=2XT(Xwˆy)=0

X T X X^TX XTX满秩矩阵正定矩阵:
最优解的闭式解 w ˆ = ( X T X ) − 1 X T y \^w=(X^TX)^{-1}X^Ty wˆ=XTX1XTy

X T X X^TX XTX不是满秩矩阵:
多个 w ˆ \^w wˆ,输出由算法的归纳偏好决定,常见做法是引入正则项

如岭回归(L1正则): w ˆ = ( X T X + λ I ) − 1 X T y \^w=(X^TX+λI)^{-1}X^Ty wˆ=XTX+λI1XTy

单选题
当下列那个条件满足时,多元线性回归的最小二乘解唯一?
A X T X X^TX XTX不满秩
B X T X X^TX XTX满秩
C X X T XX^T XXT满秩
D X X T XX^T XXT不满秩

答案:B,线性代数知识:满秩才有唯一解

2.四种梯度下降法(进阶)

原版梯度下降详见第一章建模过程第二节
机器学习算法的目标函数: J ( w ) = ∑ i = 1 N L i ( y i , y ˆ i ) + λ R ( w ) J(w)=\sum_{i=1}^NL_i(y_i,\^y_i)+\lambda R(w) J(w)=i=1NLi(yi,yˆi)+λR(w)
v 是速度或动量。
β 是动量的超参数,通常在 0 到 1 之间。
α 是学习率。

  • 梯度下降: 每次用到所有的训练样本 ∂ J ( w ) ∂ w = ∑ i = 1 N ∂ L i ( w ) ∂ w + λ ∂ R ( w ) ∂ w \frac{\partial J(w)}{\partial w}=\sum_{i=1}^N\frac {\partial L_i(w)}{\partial w}+\lambda \frac {\partial R(w)}{\partial w} wJ(w)=i=1NwLi(w)+λwR(w)
    参数更新: w = w − α ∇ J ( w ) w = w - \alpha \nabla J(w) w=wαJ(w)
    缺点:对N个样本求和:当N很大时,计算慢
  • 随机梯度下降 (Stochastic Gradient Descent,SGD):每次只计算一个随机样本的梯度
    参数更新: w = w − α ∇ J ( w ; x ( i ) , y ( i ) ) w = w - \alpha \nabla J(w; x^{(i)}, y^{(i)}) w=wαJ(w;x(i),y(i))
    缺点:没有有效利用CPU和GPU的计算效率
  • 小批量梯度下降 (Mini-batch SGD):每次只随机送入一定批量的训练样本
    参数更新: w = w − α ∇ J ( w ; X ( i : i + b − 1 ) , Y ( i : i + b − 1 ) ) w = w - \alpha \nabla J(w; X^{(i:i+b-1)}, Y^{(i:i+b-1)}) w=wαJ(w;X(i:i+b1),Y(i:i+b1))
  • 动量梯度下降(Momentum Gradient Descent):
    参数更新: w = w + v w = w + v w=w+v;动量 v = β v − α ∇ J ( w ) v = \beta v - \alpha \nabla J(w) v=βvαJ(w)
    优点:收敛快;有一定可能冲出局部最优找到全局最优

多选题
以下线性回归模型不能用梯度下降算法优化求解的是?
A 最小二乘回归
B 岭回归
C Lasso回归
D 弹性网络回归

答案CD,Lasso回归和弹性网络回归都含有L1正则项,L1正则存在不可求导的部分因此没法使用梯度下降。

3.坐标轴下降法(适用于L1正则)

以Lasso的目标函数为例: J ( w ) = ∣ ∣ y − X w ∣ ∣ 2 2 + λ ∣ ∣ w ∣ ∣ 1 J(w)=||y-Xw||^2_2+\lambda ||w||_1 J(w)=∣∣yXw22+λ∣∣w1
坐标轴下降法:

  1. 沿坐标轴方向搜索
  2. 引入次梯度,在不可微处直接赋值
  3. 在每次迭代中,在当前点处沿一个坐标轴方向进行一维搜索
  4. 循环使用不同的坐标轴。一个周期的一维搜索迭代过程相当于一个梯度迭代

回归任务的模型性能评价(补充)

  • 均方根误差 R M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2} RMSE=n1i=1n(yiy^i)2
  • 平均绝对误差 M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i| MAE=n1i=1nyiy^i
  • R 2 R^2 R2分数:既考虑了预测值与真值之间的差异,也考虑了问题本身真值之间的差异
    R 2 = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} R2=1i=1n(yiyˉ)2i=1n(yiy^i)2

广义线性模型

对于样例 (x,y),若希望线性模型的预测值逼近真实标记,则得到线性回归模型 y = w T x + b y=w^Tx+b y=wTx+b
假设示例输出标记是在指数尺度变化,则将输出标记的对数作为逼近目标,得到 “对数线性回归”(log-linear regression) l n y = w T x + b lny=w^Tx+b lny=wTx+b
实际是在用 e w T x + b e^{w^Tx+b} ewTx+b逼近 y y y
(形式上是线性回归,但实质已是求取输入空间到输出空间的非线性函数映射
这里的对数函数起到将线性回归模型的预测值与真实标记联系起来的作用(神经网络的激活函数其实也是这个作用)
在这里插入图片描述
一般形式: y = g − 1 ( w T x + b ) y=g^{-1}(w^Tx+b) y=g1(wTx+b) g − 1 g^{-1} g1为单调可微的联系函数

3.3对数几率回归(logistic回归/逻辑回归)

周志华教授认为“逻辑回归”与logistic含义相差甚远,因此意译为“对数几率回归”

由上一节广义线性模型可知,如果要将线性模型应用在分类任务上,只需要找一个单调可微的函数将分类任务的真实标记y与线性回归模型的预测值联系起来。

单位阶跃函数

对于二分类任务输出标签 y ∈ { 0 , 1 } y∈\{0,1\} y{01},我们需要将 z = w T x + b z=w^Tx+b z=wTx+b的实值转换为0/1,最理想的为“单位阶跃函数” y = { 0 , z < 0 0.5 , z = 0 1 , z > 0 y= \begin{cases} 0, &z<0\\ 0.5, &z=0\\ 1,&z>0 \end{cases} y= 0,0.5,1,z<0z=0z>0
预测值z大于零判为正例,小于零判为反例;等于零则任意判

缺点:单位阶跃函数不连续,不能直接用作 g − ( ) g^-() g()

对数几率函数

y = 1 1 + e − z y=\frac {1}{1+e^{-z}} y=1+ez1

Sigmoid函数
Sigmoid函数是指形似S的函数,对数几率函数是Sigmoid函数的代表,一定程度上接近单位阶跃函数,并且单调可微,可作为单位阶跃函数的替代函数。

优点

  1. 单调递增
  2. 平滑,处处可导
  3. 无需事先假设数据分布
  4. 可得到“类别”的近似概率预测
  5. 可直接应用现有数值优化算法求取最优解
    在这里插入图片描述

单选题
单位阶跃函数的缺点是什么?
A 不连续且不可微
B 单调增
C 非负
D 最大值为1

答案A

logistic回归模型

对数几率模型推导(补充)
作为 g − ( ) g^-() g()带入 y = 1 1 + e − ( w T x + b ) y=\frac {1}{1+e^{-(w^Tx+b)}} y=1+ewTx+b1
这个函数输出的是一个事件发生的概率

变式同时取对数 l n y 1 − y = w T x + b ln\frac {y}{1-y}=w^Tx+b ln1yy=wTx+b

将对数几率函数中的y是为类后验概率估计p(y=1|x),实际上已经对后验概率建模
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

logistic回归的损失函数——交叉熵损失

在这里插入图片描述

logistic回归的优化算法——梯度下降法

在这里插入图片描述
在这里插入图片描述

3.4线性判别分析

线性判别分析(Linear Discriminant Analysis.简称 LDA)是一种经典的线性学习方法
LDA 核心思想: 给定训练样例集,设法将样例投影到一条直线上使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离: 在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
在这里插入图片描述
(数学理论比较复杂,暂时略过)

3.5多分类学习

用二分类学习器解决多分类问题

基本思路:“拆解法”,将多个分类任务拆为若干个二分类任务求解。(关键在于如何拆分,以及如何对多个分类器进行集成)

拆分策略:

  • 一对一(OvO):需训练N(N-1)/2个分类器
  • 一对其余(OvR):需训练N个分类器
  • 多对多(MvM)
    在这里插入图片描述
    (MvM涉及纠错输出码,也先略过)

多分类学习器——Softmax分类器(补充)

在这里插入图片描述
在这里插入图片描述

3.6类别不平衡问题

不同类别训练样例数相差很大情况(假设正类为小类)

基本策略:“再缩放”(rescaling)
当正例、反例的可能性相同时:若 y 1 − y > 1 \frac{y}{1-y}>1 1yy>1则预测为正例
当正反例的数目不同时:令m+表示正例数目,m-表示反例数目,观测几率是 m + m − \frac {m+}{m-} mm+,则若 y 1 − y > m + m − \frac{y}{1-y}>\frac {m+}{m-} 1yy>mm+预测为正例
由于分类器按照 y 1 − y > 1 \frac{y}{1-y}>1 1yy>1进行决策,因此需令 y ′ 1 − y ′ = y 1 − y × m − m + \frac{y'}{1-y'}=\frac{y}{1-y}×\frac {m-}{m+} 1yy=1yy×m+m
常见类别不平衡的数据解决方案

  • 欠采样(undersampling):去除一些多样本,使正反例数目接近 。
  • 过采样(oversampling):基于“插值”为少数类合成新的样本,使正反例数目接近。
  • 阈值移动 (threshold-moving):基于原始训练集进行学习,但用分类器预测时调整决策判别的阈值。
  • 代价敏感学习算法

第四章 决策树

4.1基本原理

决策树的表示

在这里插入图片描述

决策树的特点

  • 决策树算法属于监督学习方法
  • 决策树算法采用贪心算法
  • 基本策略:“分而治之”,属于判别模型
  • 基本流程: 自根至叶的递归过程每个中间节点寻找一个划分属性
  • 决策树生成过程中划分属性选择是关键

基本算法

在这里插入图片描述

终止条件
(1) 节点内包含的样本属于同一类别,无需划分
(2) 属性集为空或样本在所有属性取值相同,无法划分
(3) 当前节点包含样本集合为空,不能划分

4.2 划分属性选择

信息熵

信息熵是度量样本集合纯度最常用的一种指标。
假定当前样本集合D中第k 类样本所占的比例为 P k P_k Pk,则D的信息熵定义
E n t ( D ) = − ∑ k = 1 ∣ y ∣ P k l o g 2 P k Ent(D) =-\sum_{k=1}^{|y|} P_k log_2 P_k Ent(D)=k=1yPklog2Pk

  • Ent(D) 的值越小,则D的纯度越高

  • 计算信息熵时约定: 若p=0,则 p l o g 2 p plog_2p plog2p=0.

  • Ent(D)的最小值为 0最大值为 l o g 2 ∣ y ∣ log_2|y| log2y,二分类最大值就是1

  • p = 0.5时最混乱,信息熵最大
    在这里插入图片描述

信息增益——ID3算法

在这里插入图片描述

信息增益率——C4.5算法

在这里插入图片描述

基尼指数——CART树

在这里插入图片描述
CART树是二叉树:二分递归划分,将当前样本集合划分为两个子集为两个子节点,使得生成的每个非叶子结点都有两个分支

4.3剪枝处理

剪枝是决策树对付“过拟合”的主要手段

预剪枝:提前终止某些分支的生长,如果按照某个指标划分后的验证集精度变小或不变,则不进行划分

后剪枝:生成一颗完全树,再“回头”剪枝;从下往上判断剪枝前后的精度,若剪枝后精度可以提升,则剪去

时间开销

  • 预剪枝:测试时间开销降低,训练时间开销降低
  • 后剪枝:测试时间开销降低,训练时间开销增加

过/欠拟合风险

  • 预剪枝: 过拟合风险降低,欠拟合风险增加
  • 后剪枝: 过拟合风险降低,欠拟合风险基本不变

泛化性能:后剪枝通常优于预剪枝

4.4连续与缺失值处理

连续值处理–连续属性离散化(二分法)

  1. 产生候选划分点在这里插入图片描述

  2. 选择最优的划分点在这里插入图片描述
    示例在这里插入图片描述

缺失值处理

基本思路:样本赋权,权重划分

示例在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5树模型的优缺点(补充)

优点

  • 容易解释
  • 对特征预处理要求少,能自动进行特征选择
  • 可处理缺失数据
  • 可扩展到大数据规模

缺点

  • 正确率不高:建树过程过于贪心
    可作为Boosting的弱学习器(深度不太深)
  • 模型不稳定 (方差大) : 输入数据小的变化会带来树结构的变化
    Bagging: 随机森林
  • 当特征数目相对样本数目太多时,容易过拟合

三种类型对比

在这里插入图片描述

4.6多变量决策树

如果把每个属性视为坐标空间的一个坐标轴,可以体现出决策树分类边界的特点:轴平行
在这里插入图片描述
缺点:需要进行大量的属性测试,预测时间开销大

多变量决策树:实现斜划分甚至更复杂划分的决策树。非叶节点不再仅对某个属性划分,而是对属性的线性组合进行划分。在这里插入图片描述

第五章 神经网络

5.1 神经元模型

1943年,心理学家W.S.McCulloch和数理逻辑学家w.Pitts基于神经元生理特征,建立了单个神经元的数学模型(MP模型)。

在这里插入图片描述
在这里插入图片描述

5.2 感知机与多层网络

1957年,Frank Rosenblatt从纯数学的度重新考察MP模型,指出能够从一些输入输出对(x,y)中通过学习算法自动的获得权重w和b。

感知机网络结构

感知机由两层神经元组成,输入层接受外界输入信号传递给输出层,输出层是MP神经元(阈值逻辑单元)
在这里插入图片描述

感知机算法

  1. 随机选择W和b
  2. 取一个训练样本(X,y)
    (1)若WTX+b>0且y = -1,则W = W - X 且 b = b - 1
    (2)若WTX+b<0且y = +1,则W = W +X 且 b = b +1
  3. 再取另一组(X,y),回到第二步
  4. 直到所有输入输出对都不满足2中(1)和(2)之一,循环退出。

感知机算法的意义和局限

  • 单层感知机只能处理线性问题,无法处理非线性问题
  • 单层感知机处理线性问题,一般情况没有SVM效果好

多层前馈神经网络

万有逼近性:仅需一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度连续函数[Hornik et al.1989]
但是,如何设置隐层神经元数是未决问题(Open Problem).实际常用“试错法

5.3 前馈全连接神经网络DNN

网络结构

在这里插入图片描述

前馈机制

在这里插入图片描述
在这里插入图片描述

损失函数

按任务需求选取,如交叉熵损失
在这里插入图片描述

5.4 误差逆传播算法(BP算法)

每一轮采用多层感知机学习规则
使用小步长化神经网络可以避免震荡现象
参数数目: ( d + L + 1 ) q + L (d +L+1)q +L (d+L+1)q+L,d为输入层神经元数量,L为输出层神经元数量,q为隐层神经元数量
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
推导到上一层的权值修改
在这里插入图片描述

BP算法过程

在这里插入图片描述

BP算法过拟合解决方法

  1. 早停
    • 将数据分成训练集和测试集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回最小验证集误差的连接权和阈值。
  2. 正则化
    • 基本思想是在误差目标函数中添加一个描述网络复杂度的部分当作正则项,如连接权和阈值的平方和,

5.5 激活函数

  • Sigmoid函数:存在梯度消失问题 s i g m o i d ( x ) = 1 ( 1 + e − x ) sigmoid(x) = \frac{1}{(1+e^{-x})} sigmoid(x)=(1+ex)1
  • Tanh函数:收敛更快,减轻梯度消失现象 t a n h ( x ) = 2 s i g m o i d ( x ) − 1 = 1 − e x p ( − 2 x ) ( 1 + e x p ( − 2 x ) tanh(x) = 2sigmoid(x)-1 = \frac{1-exp(-2x)}{(1+exp(-2x)} tanh(x)=2sigmoid(x)1=(1+exp(2x)1exp(2x)
  • ReLU函数:计算量小,缓解过拟合,解决了梯度消失问题,收敛速度快 R e L U ( x ) = m a x ( x , 0 ) ReLU(x) = max(x,0) ReLU(x)=maxx,0

单选题
在一个3-5-1的神经网络中,有多少个待定参数?
A 9
B 15
C 20
D 26

答案D,需通过学习确定的参数数目:(d +L+1)q +L,d为输入层神经元数量,L为输出层神经元数量,q为隐层神经元数量:(3 +1+1)5 +1=26

5.6 卷积神经网络CNN

卷积层

卷积:图像与卷积核对位相乘再求和
在这里插入图片描述
在这里插入图片描述

  • 使用感受野(类似卷积核的移动方式),而非整幅图
  • 稀疏连接,而非全连接,每个神经元只连接前一层部分神经元
  • 参数共享,不同感受野的神经元使用相同的参数
    在这里插入图片描述
    特征提取

池化层

范围内取最大值
在这里插入图片描述

第六章 支持向量机(SVM)

6.1 间隔与支持向量

基本思想:在训练集的样本空间寻找一个超平面,将不同类别的样本分开,达到分类的目的(平面与两类样本间隔尽可能大,才能使得容忍性好,鲁棒性高,泛化能力强)
支持向量:距离超平面最近的几个训练样本点
间隔:两个异类支持向量到超平面的距离之和
在这里插入图片描述
由点到直线 A x + B y + C = 0 Ax+By+C = 0 Ax+By+C=0的距离公式: ∣ A x + B y + C ∣ A 2 + B 2 \frac {|Ax+By+C|}{\sqrt{A^2+B^2}} A2+B2 Ax+By+C
扩展到n维空间内,样本任意点 x x x到超平面 ( w , b ) (w,b) wb的距离: r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac {|w^Tx+b|}{||w||} r=∣∣w∣∣wTx+b
其中 ∣ ∣ w ∣ ∣ = w 1 2 + . . . w n 2 ||w||=\sqrt{w_1^2+...w_n^2} ∣∣w∣∣=w12+...wn2

支持向量的 ∣ w T x i + b ∣ = 1 |w^Tx_i+b|=1 wTxi+b=1
因此间隔为 γ = 2 ∣ ∣ w ∣ ∣ \gamma=\frac {2}{||w||} γ=∣∣w∣∣2

要找到最大间隔的划分超平面,也就是找到我w,b使得间隔最大
arg max ⁡ w , b 2 ∣ ∣ w ∣ ∣ \argmax_{\mathclap{w,b}}\frac {2}{||w||} w,bargmax∣∣w∣∣2

等价于找到最小的 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣
arg min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \argmin_{\mathclap{w,b}}\frac{1} {2}{||w||}^2 w,bargmin21∣∣w∣∣2
注:平方和二分之一仅为求导后可约去方便

支持向量机的基本型: arg min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \argmin_{\mathclap{w,b}}\frac{1} {2}{||w||}^2 w,bargmin21∣∣w∣∣2 s . t . y i ( w T x i + b ) ≥ 1 , i = 1 , 2.... , m s.t. y_i(w^Tx_i+b)≥1,i = 1,2....,m s.t.yi(wTxi+b)1i=1,2....,m其本身是一个凸二次规划问题

6.2 对偶问题

拉格朗日乘子法:实际上就是将约束条件乘上拉格朗日乘子后添加到原公式求解
在这里插入图片描述
解的稀疏性: 训练完成后,最终模型仅与支持向量有关
在这里插入图片描述

核函数

在解决一些线性不可分的数据的分类问题时,思路是将其原始空间映射到一个更高维的特征空间,使得在这个特征空间线性可分。例如以下示例将二维升至三维空间,然后轻松找到超平面。在这里插入图片描述
但其实映射函数并不好找,由最优化求解过程发现,映射函数只以内积的形式出现
在这里插入图片描述
因此设想将内积形式的映射函数定义为核函数,绕过显式考虑特征映射以及计算高维内积的困难
k ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) k(x_i,x_j)= \phi(x_i)^T\phi(x_j) k(xi,xj)=ϕ(xi)Tϕ(xj)
常用核函数
在这里插入图片描述

软间隔与正则化

现实任务中很难确定一个核函数使得训练样本在特征空间线性可分,也很难断定结果是否由于过拟合造成,因此需要引入软间隔,允许支持向量机在一些样本上出错。

硬间隔:所有样本都必须划分正确
软间隔:允许某些样本不满足约束
松弛变量 ξ \xi ξ:软间隔中不满足约束的样本在这里插入图片描述
在这里插入图片描述

支持向量回归(SVR)

传统回归模型通常基于模型输出 y ˆ \^y yˆ与真实值y之间的差别来计算损失,当且仅当 y ˆ \^y yˆ与真实值y完全相同时,损失才为零。

支持向量回归(简称SVR) 假设我们能容忍 y ˆ \^y yˆ与y之间最多有e偏差,即仅当 y ˆ \^y yˆ与y之间的差别绝对值大于e时才计算损失,,失.如图所示这相当于以 f(x)为度为中心构建了一个宽2e的间隔带,若训练样本落入此间隔带,则认为是被预测正确。
在这里插入图片描述

不敏感损失函数

在这里插入图片描述

核方法

(还没了解)

第七章 贝叶斯分类器

7.1贝叶斯决策论

贝叶斯分类器

在这里插入图片描述
生成式分类器: 对所有变量的分布建模p(x,c)

  • 得到类先验概率p ( c ),类条件概率p( x l c)
  • 根据贝叶斯公式,得到后验,实现分类
  • 知道所有变量的分布,可以产生数据

判别式分类器:直接对后验概率p(clx)建模,或者直接对判别边界建模f(x)

  • Logistic回归:对后验概率p(clx)建模
  • SVM: 直接对判别函数f(x)建模

贝叶斯定理

在这里插入图片描述

单选题
下列说法正确的是
A 贝叶斯决策论是概率框架下实施决策的基本理论
B R(ci l x)表示样本 x 分到第i类面临的风险
C 如果概率都能拿到真实值,那么根据贝叶斯判定准则做出的决策是理论上最好的决策
D 以上都正确

答案: D

7.2极大似然估计

在这里插入图片描述
通俗举例:
假如想得到表白的概率分布,然后尝试表白了10次,成功了3次,失败了7次。先假设成功与失败的分布为0.1和0.9,然后计算0.13 *0.97 就表示一个似然,比较0.13 *0.97 、0.23 *0.87 …………0.93 *0.17 这些似然的值,发现最大值是0.33 *0.77 ,这就称为极大似然估计。

7.3朴素贝叶斯分类器

判定准则

在这里插入图片描述
类先验概率: P ( c ) = ∣ D c ∣ ∣ D ∣ P(c) = \frac{|D_c|}{|D|} P(c)=DDc
类条件概率只能估计:

  • 离散属性: P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D ∣ P(x_i|c) = \frac{|D_{c,x_i}|}{|D|} P(xic)=DDc,xi
  • 连续属性:考虑概率密度函数,假定 p ( x i ∣ c )   N ( μ c , i , σ c , i 2 ) p(x_i|c)~N(\mu_{c,i},\sigma^2_{c,i}) p(xic) N(μc,i,σc,i2)
    P ( x i ∣ c ) = 1 2 π σ c , i e x p ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) P(x_i|c) = \frac{1}{\sqrt{2\pi}\sigma_{c,i}}exp\bigg( -\frac{(x_i-\mu_{c,i})^2}{2\sigma^2_{c,i}}\bigg) P(xic)=2π σc,i1exp(2σc,i2(xiμc,i)2)

示例:
在这里插入图片描述

7.4拉普拉斯修正

拉普拉斯修正是为了样本中没出现的事件概率不为零
在这里插入图片描述
示例:
在这里插入图片描述

第八章 集成学习

8.1 个体与集成

集成学习:通过构建并结合多个学习器来完成学习任务,亦称“多分类器系统”。

在这里插入图片描述

集成学习研究的核心是产生并结合“好而不同”的个体学习器。
一般的,准确性很高之后,要增加多样性就需牺牲准确性

在这里插入图片描述

序列化方法

学习器之间存在强依赖关系、必须串行生成

  • Boosting
  • AdaBoost
  • GradientBoost
  • XGBoost

并行化方法

学习器之间不存在强依赖关系、可以并行生成

  • Bagging
  • Random Forest
  • Random Subspace

单选题
下列哪个选项不是集成学习在分类任务中取得好性能的要求?
A 个体学习器犯错的样本较为分散
B 个体学习器具有较好的性能
C 存在一个完美的个体学习器
D 个体学习器分对的样本不完全一致

答案:C

8.2 Bagging

步骤:

  1. 对给定有N个样本的数据集D进行Bootstrap采样,得到D1,在D1上训练模型f(x)
  2. 上述过程重复M次,得到M个模型,令M个模型的结果进行平均 (回归) /投票 (分类)

Boostrap采样即自助采样法,有放回采样
在这里插入图片描述
可以证明: Bagging可以降低模型的方差

特点:

  • 个体学习器不存在强依赖关系
  • 并行化生成
  • 通过对训练样本采样使基学习器尽可能具有较大的差异自助采样法(bootstrap sampling)-
  • Bagging可降低模型方差,不改变模型偏差,适合对偏差低、方差高的模型进行融合,如决策树、神经网络

8.3 随机森林

步骤:

  1. 随机选择样本(放回抽样)
  2. 随机选择特征
  3. 构建决策树
  4. 随机森林投票(平均)
    在这里插入图片描述

8.4 Boosting

在这里插入图片描述

8.5 Adaboost

在这里插入图片描述
在这里插入图片描述

8.6 Gradient Boost

8.7 XGBoost

特点:

  • 损失函数: 采用二阶Taylor展开近似损失函数正则项: 叶子节点数目、叶子结点的分数
  • 建树:支持分裂点近似搜索,稀疏特征处理,缺失值处理
  • 并行计算
  • 内存优化

单选题
下列关于Boosting算法中样本权重调整的说法中错误的是哪个?
A所有样本的权重和保持不变
B前一个基学习器分错的样本会获得更大的权重
C只要权重调整的方向正确Boosting算法的性能就可以获得理论保证
D决策树可以直接处理带权重的样本

答案:C

单选题
下列关于Boosting算法的说法中错误的是哪个?
A Boosting算法适用于分类、回归、排序等机器学习问题
B 后一个基学习器更关注前一个基学习器学错的样本
C Boosting算法的输出是所有基学习器的加权求和
D 不同基学习器使用的样本权重是相同的

答案:D

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值