本页PDF
以下笔记为个人理解,涵盖了这门课的学习重点,若和教材有出入请以教材为主
从EM算法开始属于无监督学习
统计学习的定义:是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析
统计学习的对象:数据
统计学习的目的:对数据进行预测和分析
统计学习的三要素:方法=模型+策略+算法
期望风险:模型在数据联合分布上的期望损失,衡量模型泛化能力,但实际应用难以求解,使用结构风险代替
经验风险:模型在已知训练集的平均损失
结构风险:经验风险 + 正则化项
泛化误差:衡量模型的泛化能力,等于近似误差 + 估计误差
- 近似误差:模型简单引起的误差,可以看成偏差
- 估计误差:数据太少引起的误差,可以看成方差
欠拟合:高偏差低方差,模型在训练集,验证集,测试集的泛化能力都很差
- 解决办法:增加模型复杂度,增加数据,减少正则化项等
过拟合:低偏差高方差,模型在已知的数据集上预测的很好,但在未知的数据集上预测的很差
- 解决办法:降低模型复杂度,增加数据,增加正则化项,早停等
生成式模型:学习的是数据的联合分布
判别式模型:学习的是数据的条件概率分布或者决策函数
概率模型:学习的是条件概率分布或者联合分布
非概率模型:学习的是决策函数
注意:逻辑斯特回归既是概率模型也是非概率模型
参数化模型:对数据有基本假设,用带参函数建模,参数量不变
非参数化模型:对数据没有基本假设,无学习参数
统计学习可以分为:监督学习、无监督学习、强化学习
- 监督学习:从有标注数据中学习预测模型的机器学习问题
- 无监督学习:从无标注数据中学习预测模型的机器学习问题
P和N代表样本真实标签,T和F代表样本的预测标签
- TP:T表示样本的预测结果是正确的,P表示样本被预测为正例
要会计算的指标
精确率
Precision=TP+FPTP
召回率
Recall=TP+FNTP
F1值
F12=Precision1+Recall1
学习的是Rn空间的超平面方程
w⋅x+b=0
其中,w=[w(1),w(2),…,w(n)],x=[x(1),x(2),…,x(n)]T
点到超平面的几何距离
d=∣∣w∣∣∣w⋅x+b∣
⎩⎨⎧w⋅x+b>0在正面w⋅x+b=0在超平面上w⋅x+b<0在反面
感知机其实就是线性二分类模型(判别式模型)
f(x)=sign(w⋅x+b)
sign(x)={1x≥0−1x<0
损失函数
- 只考虑了误分类点,M是误分类点的集合
- ∣∣w∣∣不被考虑,能正确分类即可,至于真正距离超平面多远,模型并不关心
L(w,b)=−xi∈M∑yi(w⋅xi+b)
随机梯度下降:每次只使用一个样本进行训练,更新模型参数
w,bminL(w,b)=−xi∈M∑yi(w⋅xi+b)
梯度
∇wL(w,b)=−xi∈M∑yixi∇bL(w,b)=−xi∈M∑yi
若yi(w⋅xi+b)≤0,则对参数进行更新,其中η为学习率
w←w+ηyixib←b+ηyi
将w和b表示为实例xi和yi的线性组合的形式,求解其系数
w=w0+i=1∑Nαiyixib=b0+i=1∑Nαiyi
其中:αi=niη,ni为xi被误分类的次数
Gram矩阵
使用Gram矩阵存储内积可以加速计算
G=[xi⋅xj]N×N=x1⋅x1x2⋅x1⋮xN⋅x1x1⋅x2x2⋅x2⋮xN⋅x2⋯⋯⋱⋯x1⋅xNx2⋅xN⋮xN⋅xN
感知机模型
f(x)=sign(j=1∑Nαjyjxj⋅x+b)
其中:α=(α1,α2,⋯,αN)T
如果yi(∑i=1Nαiyixi⋅x+b)≤0,进行参数更新
αj←αj+ηb←b+ηyi
我个人的理解:
如果样本xi被错误分类了,对αi进行更新,同时使用更新的α进行下次样本判别
多分类回归模型,时间和空间复杂度高,分类边界的特点是不规则曲线
决策函数:决定了样本被分成什么类别
- 当yi=cj时,I(yi=cj)为1,否则为0
- Nk(x)为数据集中涵盖与x最近k个点的领域
- 统计这k个样本的类别,选取个数最多的类别作为预测结果
y=argmaxxi∈Nk(x)∑I(yi=cj)
距离度量
- L1为曼哈顿距离
- L2为欧氏距离
- L∞为切比雪夫距离
Lk(x,y)=(i=1∑d∣xi−yj∣k)k1
k值的选取对模型的影响
- k值太小:模型对噪声敏感,整体模型复杂,易过拟合,近似误差减小,估计误差增大
- k值太大:整体模型简单,易欠拟合,估计误差减小,近似误差增大
当k=1时模型的训练误差是0,当k>1的时候不一定
贝叶斯定理
p(x∣y)p(x∣y,z)=p(y)p(y∣x)p(x)=p(y,z)p(x∣z)p(y∣x,z)=p(y,z)p(x,y,z)=p(z)p(y∣z)p(z)p(x∣z)p(y∣x,z)
基本思想
- 已知类条件概率密度参数表达式和先验概率
- 利用贝叶斯公式转换成后验概率
- 根据后验概率大小进行决策分类
通过训练数据集学习联合概率P(X,Y),具体可以学P(Y=ck)与P(X=x∣Y=ck),上面这俩就是要学习的参数
先来认识几个概率
后验概率P(Y=y∣X=x)=证据概率P(X=x)似然概率P(X=x∣Y=y)先验概率P(Y=y)
条件独立性假设:假设特征之间是相互独立的
P(X=x∣Y=ck)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ck)=j=1∏nP(X(j)=x(j)∣Y=ck)
具体的推导
P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)=∑kP(X=x∣Y=ck)P(Y=ck)P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck)
分母是常数,可忽略,最后的目标为最大化y,即
y=f(x)=ckargmaxP(Y=ck)j=1∏nP(X(j)=x(j)∣Y=ck)
为何最大化后验概率?下文后验概率最大化的含义给出了证明
用人话说就是根据训练集统计出P(Y=ck)和P(X=x∣Y=ck),然后根据测试样本的特征找到对应的P(X=x∣Y=ck),最后算出不同类别的P(Y=ck)和P(X=x∣Y=ck)的乘积,选择结果最大的那个作为测试样本的类别
极大似然估计
使用样本频率估计概率
P(Y=ck)=N∑i=1NI(yi=ck)
P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(Xi(j)=ajl,yj=ck)
其中:I是指示函数
贝叶斯估计
可以防止某些特征的取值个数为0导致似然概率为0,加上一个平滑项使最后的乘积结果不为0
Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ
Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(Xi(j)=ajl,yj=ck)+λ
其中:Sj为特征属性取值总数,K为类别的数量
对于先验概率
假设进行 N 次实验,先验概率
P(Y=ck)PK−1=K1=0
由频率是概率的极大似然估计
P(Y=ck)=N∑i=1NI(yi=ck)
可得
P(Y=ck)N−i=1∑NI(yi=ck)=0
即
λ(P(Y=ck)K−1)+P(Y=ck)N−i=1∑NI(yi=ck)=0
可得
P(Y=ck)=Kλ+N∑i=1NI(yi=ck)+λ
对于似然概率
Sj 是第 j 个特征可能取值的个数,这里假设每个特征的值是等概率分布,因此概率为 Sj1。
P(X(j)=ajl∣Y=ck)P(X(j)=ajl∣Y=ck)=Sj1=∑i=1NI(Y=ck)∑i=1NI(X(j)=ajl,Y=ck)
同上
λ(PSj−1)+Pi=1∑NI(Y=ck)−i=1∑NI(X(j)=ajl,Y=ck)=0
可得
P(X(j)=ajl∣Y=ck)=∑i=1NI(Y=ck)+Sj⋅λλ+∑i=1NI(X(j)=ajl,Y=ck)
这里来证明一下朴素贝叶斯是如何从损失函数最小化推出后验概率最大化的。
首先我们写出期望风险的公式:
Rexp=∫∫L(y,f(x))P(x,y)dxdy=∫x∫yL(y,f(x))P(y∣x)dyP(x)dx=Ex[∫yL(y,f(x))P(y∣x)dy]=Ex[k=1∑KL(ck,f(x))P(ck∣x)]
也就是对于每个 x,我们对 L(y,f(x))P(y∣x) 进行最小化:
f(x)=argy∈Ymink=1∑KL(ck,y)P(ck∣X=x)=argy∈Ymink=1∑KP(y=ck∣X=x)=argy∈Ymin(1−P(y=ck∣X=x))所有概率和为1,等价为1减去预测正确的概率=argy∈YmaxP(y=ck∣X=x)
理想的决策树:
- 叶结点数最少
- 叶结点深度最小
- 叶结点数最小且叶结点深度最小
防止决策树过拟合:剪枝、强制决策树最大深度、规定叶结点最少样本数
熵:表示随机变量的不确定性度量
I(ai)=p(ai)log2p(ai)1
设X是一个取有限个值的离散随机变量
p(X=xi)=pi
则随机变量X的熵定义为
H(X)=−i∑pilog2pi
ID3算法采用的属性选择方式
信息增益其实就是互信息,表示得知特征A的信息而使得不确定性减少的程度,g(D,A)定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D∣A)之差
g(D,A)=H(D)−H(D∣A)
下面这个是大体流程,刚开始看肯定看不懂,做了题之后就明白了
假设拥有训练数据集D,∣D∣表示其样本容量(样本个数)
设有K个类Ck,k=1,2,…,∣Ck∣为属于类Ck的样本个数
特征A有n个不同的取值a1,a2,…,an,根据特征A的取值,将D划分为n个子集D1,D2,…,Dn
∣Di∣为Di的样本个数,记子集Di中属于类Ck的样本集合为Dik,∣Dik∣为Dik的样本个数
- 数据集D的经验熵H(D)
H(D)=−k=1∑K∣D∣∣Ck∣log2∣D∣∣Ck∣
- 特征A对数据集D的经验条件熵H(D∣A)
H(D∣A)=i=1∑N∣D∣∣Di∣H(Di)=i=1∑N∣D∣∣Di∣k=1∑K∣Di∣∣Dik∣log2∣Di∣∣Dik∣
- 信息增益
g(D,A)=H(D)−H(D∣A)
信息增益最大的特征为最优特征!!!!
C4.5算法采用的属性选择方式
特征A对于训练数据集D的信息增益比定义为信息增益与训练数据集关于特征值A的熵之比
gk(D,A)=HA(D)g(D,A)
其中:
HA(D)=−i=1∑n∣D∣∣Di∣log2∣D∣∣Di∣
信息增益比最大的特征为最优特征!!!!
CART算法采用的属性选择方式
要注意的是:CART算法生成的是二叉树,若一个特征有多种属性,你只能划分是属性A和不是属性A两种情况
使用基尼指数选择最优特征,并决定该特征的最优二值切分点
对于给定的样本集合D
Gini(D)=1−k∑(∣D∣∣Ck∣)2
若样本集合根据特征A被划分为D1、D2两个部分,那么在特征A条件下,集合D的基尼指数定义为:
Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
基尼指数表示不确定性,基尼指数越大,集合不确定性越大,因此我们要选择基尼指数小的特征进行划分
Logistic回归是广义线性模型,决策边界是线性的
二项Logistic回归
P(Y=1∣X)P(Y=0∣X)=1+ew⋅x+bew⋅x+b=1+ew⋅x+b1
事件发生比:发生与不发生概率之比
1−PP
对数几率
log1−PP
模型参数估计
使用极大似然估计实现
对于n个观测事件{(xi,yi)}i=1N,xi∈Rn,yi∈{0,1}
已知
P(Y=1∣x)=π(x)P(Y=0∣x)=1−π(x)
可得到似然函数
L(π(x)∣x,y)=P(X=x,Y=y∣π(x))=i=1∏NP(X=xi)P(Y=yi∣X=xi,π(x))∝i=1∏N[π(xi)yi][1−π(xi)]1−yi
进行对数化
lnL(w)=i=1∑Nyilnπ(xi)+(1−yi)lnπ(xi)=i=1∑Nyiln1−π(xi)π(xi)+ln(1−π(xi))=i=1∑Nyi(w⋅xi)−ln(1+ew⋅xi)
对此函数使用梯度下降求极大值,得到w估计值
∇w(−lnL(w))=i=1∑N1+ew⋅xixiew⋅xi−yixi
当y∈{−1,1}时
似然函数为
L(w)=−i=1∏N1+e−yiwxi1
负对数似然为
−lnL(w)=i=1∑Nln(1+e−yiwxi)
梯度为
∇w(−lnL(w))=i=1∑N1+e−yiwxi−yixie−yiwxi
定义在特征空间上的间隔最大线性分类器,还包括核函数,使它成为实质上的非线性分类器
不同分类:
- 线性可分支持向量机:硬间隔最大化。找到一个超平面,完全正确地将所有样本点分开
- 线性支持向量机:软间隔最大化。找到一个超平面,尽可能正确地将数据点分开,且间隔最大
- 非线性支持向量机:核技巧+软间隔最大化
给定线性可分训练数据集,通过间隔最大化求得超平面以及分类决策函数
f(x)=sign(w∗⋅x+b∗)
函数间隔(成比例改变w和b,超平面没改变,函数间隔却改变)
超平面(w,b)关于样本点(xi,yi)的函数间隔为
γi^=yi(w⋅xi+b)
超平面(w,b)关于训练数据集的函数间隔为γi^的最小值
γ^=i=1,⋯,Nminγi^
几何间隔(点到直线的距离)
超平面(w,b)关于样本点(xi,yi)的几何间隔为
γi=yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)
超平面(w,b)关于训练数据集的几何间隔为γi的最小值
γ=i=1,⋯,Nminγi
可得到对应关系
γi=∣∣w∣∣γi^γ=∣∣w∣∣γ^
核心:正确划分训练数据集并且使得分离超平面的几何间隔最大
学习的最优化问题:
w,bmaxγs.t.yi(∣∣w∣∣w⋅xi+∣∣w∣∣b)≥γ
可等价为:
w,bmax∣∣w∣∣γ^s.t.yi(w⋅xi+b)≥γ^
取γ^=1,最大化∣∣w∣∣1和最小化21∣∣w∣∣2等价
w,bmin21∣∣w∣∣2s.t.yi(w⋅xi+b)−1≥0
上述的最优化问题是一个凸优化问题,使用拉格朗日对偶法进行求解。求解对偶问题。
构造拉格朗日函数
L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi
α为拉格朗日乘子向量,有几个样本他就有几个维度
α=(α1,α2,⋯,αN)T
原始问题
w,bminαmaxL(w,b,α)
对偶问题
αmaxw,bminL(w,b,α)
对L求梯度
∇wL(w,b,α)∇bL(w,b,α)=w−i=1∑Nαiyixi=0=i=1∑Nαiyi=0
带入原函数
θ(α)=L(w′,b′,α′)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαis.t.i=1∑Nαiyi=0
问题求解到这里之后就无法进行人工求解了,需交由机器求解,接下来阐述一些概念性的东西
KKT条件
是为解决带有约束的优化问题而提出的一组规则。如果一个点是局部最优解,那么它必须满足这组规则。满足KKT条件的点就是最优解
⎩⎨⎧∇xL(x∗,λ∗,ν∗)=0gi(x∗)≤0,hj(x∗)=0λi∗≥0λi∗gi(x∗)=0【平稳性条件】【原始可行性条件】【对偶可行性条件】【互补松弛条件】
其中:gi(x∗)是不等式约束,hj(x∗)是等式约束
我们需要着重注意互补松弛条件
在上面我们求解出来了θ(α),接着我们要如何求解w和b呢?
机器对θ(α)进行求解得到最后的α
α是一个向量,我们要取里面不为0的α对应的样本取去对w和b进行求解
这是因为当αi不为0,由互补松弛条件可知,对应的样本xi满足yi(w⋅xi+b)−1=0,当我们有了这个条件,就可以很方便的求解出w和b
由yi(w⋅xi+b)−1=0可以知道,在两边同乘yi(y∈−1,1)
(w⋅xi+b)yi2=yib=yi−w⋅xi
那么w如何求解呢?
由前面的梯度的条件可以知道
w−i=1∑Nαiyixi=0w=i=1∑Nαiyixi
也就是说,αi不为0的样本对最后的w起了贡献,也满足yi(w⋅xi+b)−1=0这个条件,从而可以计算出w和b
到这里就结束了,理解互补松弛条件至关重要,在线性支持向量机中它仍旧起着至关重要的作用
在训练数据有一些特异点,不能满足函数间隔大于等于1地约束条件,为了解决这个问题,给每个样本点引入了一个松弛变量ξi≥0,约束条件变为:
yi(w⋅xi+b)≥1−ξi
目标函数变为:
21∣∣w∣∣2+Ci=1∑Nξi
其中:C(>0)为惩罚系数,C地选取会对模型有着不同的影响,具体看后面的复习章节
还是使用拉格朗日乘子法
w,b,ξmin21∣∣w∣∣2+Ci=1∑Nξis.t.yi(w⋅xi+b)≥1−ξii=1,2,⋯,Nξi≥0i=1,2,⋯,N
拉格朗日函数
L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑Nξi+i=1∑Nαi(1−ξi−yi(w⋅xi+b))−i=1∑Nμiξi
原始问题
w,b,ξminα,μmaxL(w,b,ξ,α,μ)
对偶问题
α,μmaxw,b,ξminL(w,b,ξ,α,μ)
求梯度
∇wL(w,b,α)∇bL(w,b,α)∇ξL(w,b,α)=w−i=1∑Nαiyixi=0=i=1∑Nαiyi=0=C−αi−μi=0
代入原函数
w,b,ξminL(w,b,ξ,α,μ)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
对minw,b,ξL(w,b,ξ,α,μ)求关于α的极大
αmax−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαis.t.i=1∑Nαiyi=0C−αi−μi=0μi≥0αi≥0
最终的解为
α∗=[α1∗,α2∗,⋯,αn∗]
当αi∗>0时,样本为支持向量
若αi<C,那么ξi=0(互补松弛条件)
若αi=C时:
⎩⎨⎧0<ξi<1分类正确ξi=1落在决策边界上ξi>1被误分类
具体为什么,使用互补松弛条件推一下就可以知道了
究其本质,其实就是找到一个映射函数,把xi⋅xj,也就是xi和xj的内积映射到一个高维空间在高维空间实现线性可分
正定核充要条件
K(x,z)为正定核函数的充要条件是K(x,z)对应的Gram矩阵
K=K(x1,x1)⋮K(xm,x1)⋯⋱⋯K(x1,xm)⋮K(xm,xm)
半正定(特征值≥0 )
在软间隔支持向量机里面,引入松弛变量 ξi。
目标函数为:
L=21∣∣w∣∣2+Ci=1∑Nξi
约束条件:
yi(wTxi+b)ξi≥1−ξi≥0
- 当 yi(wTxi+b)≥1 时,说明样本被正确分类且间隔足够大
- 此时 1−yi(wTxi+b)≤0,而约束条件为 ξi≥1−yi(wTxi+b),即 ξi 需要大于一个负数且大于 0。
- 为了让目标函数最小,令 ξi=0。
- 当 yi(wTxi+b)<1 时,说明样本间隔不足或者被误分类
- 此时 1−yi(wTxi+b)>0,同上面的推导,约束条件为 ξi≥1−yi(wTxi+b),即 ξi 需要大于一个正数且大于 0。
- 为满足约束且使目标函数最小,ξi=1−yi(wTxi+b)。
综上所述:
ξi=max(0,1−yi(wTxi+b))
代入目标函数并令 λ=2C1 可得合页损失函数:
i=1∑N[1−yi(wTxi+b)]++λ∣∣w∣∣2
其中
[z]+={z,z≥00,z<0
可分为Boosting和Bagging
- Boosting:串行学习,加权采样,加权投票,降低方差
- Bagging:并行学习,Boostrap采用,平等投票,降低偏差
使用的损失函数是指数损失,且使用了前向分布算法,属于加法模型。也就是说每次迭代,弱分类器会遍历每一个特征,寻找误差最小的特征进行样本的重新加权
算法流程
- 初始化训练数据初始权重分布
D1=(w11,⋯,w1i,⋯,w1n)w1i=N1
- 对弱分类器Gm(x)计算分类误差
em=i=1∑NwmiI(Gm(xi)=yi)
- 计算弱分类器的权重系数
αm=21lnem1−em
- 更新训练数据集权重分布
Dm+1=(wm+1,1,⋯,wm+1,N)
wm+1,i=zmwmie−αmyiGm(xi)
其中zm是规范化因子
zm=i=1∑Nwmie−αmyiGm(xi)
- 构造基本分类器的线性组合
f(x)=m=1∑MαmGm(x)G(x)=sign(f(x))
总的来说就是:给每个样本赋予一个初始权重,用m个弱分类器不断更新每个样本的权重,上一轮被分错的样本当前轮的权重会变大
其它的不是考察重点,感兴趣看看课件吧
它的推导和 VAE(变分自编码器)以及 Diffusion Model(扩散模型)很像,都是由于原函数难以求解,去找到它的下界函数,对下界函数求得最优解,达到优化原函数的目的。感兴趣的可以看一下 VAE 和 Diffusion Model 的推导。
首先要了解 EM 算法的核心:EM 算法是计算每个潜在变量 Z 的后验概率,然后通过加权平均,也就是求期望的方式得到一个近似的估计,最后我们要找到一个能让这个近似估计最大的参数 θ。
先来认识一下 KL 散度:
KL(q∣∣p)=Z∑q(Z)logp(Z)q(Z)
描述的是 q 分布和 p 分布之间的距离,因此取值是大于等于 0 的。
首先要明确,EM 算法的核心是在每一步 最大化 Q 函数:
Q(θ,θ(i))=EZ(logP(Y,Z∣θ)∣Y,θ(i))=Z∑logP(Y,Z∣θ)P(Z∣Y,θ(i))
现在来看如何推导出上面这个 Q 函数。
对于 EM 算法,我们希望最大化观测数据 Y 关于参数 θ 的对数似然函数:
L(θ)=logP(Y∣θ)=logZ∑P(Y,Z∣θ)=logZ∑q(Z)q(Z)P(Y,Z∣θ)
使用 Jensen 不等式:
logZ∑q(Z)q(Z)P(Y,Z∣θ)≥Z∑q(Z)logq(Z)P(Y,Z∣θ)=Z∑q(Z)logP(Y,Z∣θ)−Z∑q(Z)logq(Z)
记上式为:
L(q,θ)=Z∑q(Z)logP(Y,Z∣θ)−Z∑q(Z)logq(Z)
因为
logP(Y,Z∣θ)=logP(Z∣Y,θ)P(Y∣θ)
因此有
L(q,θ)=Z∑q(Z)logP(Y,Z∣θ)−Z∑q(Z)logq(Z)=Z∑q(Z)logP(Z∣Y,θ)P(Y∣θ)−Z∑q(Z)logq(Z)=Z∑q(Z)(logP(Z∣Y,θ)+logP(Y∣θ))−logq(Z)=logP(Y∣θ)Z∑q(Z)+Z∑q(Z)logq(Z)P(Z∣Y,θ)=logP(Y∣θ)−KL(q(Z)∣∣P(Z∣Y,θ))
最终等式
logP(Y∣θ)=KL(q(Z)∣∣P(Z∣Y,θ))+L(q,θ)
且
logP(Y∣θ)≥L(q,θ)
老师上课的时候没有说 q(Z) 为什么要取 P(Z∣Y,θi),这里解释一下:
在 E 步的时候,理论上我们可以取任意的 q(Z) 来构造下界 L(q,θ),但是为了让当前参数的似然函数与下界相等,我们要让
q(Z)=P(Z∣Y,θi)
为什么要这样?
这样选择能让在参数 θ(i) 处,下界紧贴似然函数,即:
logP(Y,Z∣θ(i))=L(q,θ(i))
(此时 KL 散度为 0)
当下界紧贴似然函数时,提升下界会对似然函数产生最大程度的提升,收敛速度最快。
如果下界很松(KL 散度很大),即使提升了下界,似然函数可能只有很小的增长。
注意:选择 q(Z)=P(Z∣Y,θ(i)) 只是为了在 E 步的当前点 θ(i) 使得 KL 散度为零、下界紧贴似然函数,从而让后续优化更高效,一旦进入 M 步,参数 θ 开始更新,真实后验 P(Z∣Y,θ) 随之改变,KL 散度立即变为正数,下界与似然函数不再紧贴。
因此
logP(Y∣θ)≥L(q,θ)=Z∑P(Z∣Y,θ(i))logP(Y,Z∣θ)+const=Q函数EZ(logP(Y,Z∣θ)∣Y,θ(i))+常数Z∑P(Z∣Y,θ(i))logP(Z∣Y,θ(i))
单调性的证明
在 E 步的时候,取
q(Z)=P(Z∣Y,θ)
做完 M 步之后,新下界大于旧下界
L(q,θ(i+1))≥L(q,θ(i))
旧似然等于旧下界
logP(Y,Z∣θi)=L(q,θ(i))
新似然做完 M 步后 KL 散度大于 0,因此
logP(Y,Z∣θi+1)≥L(q,θ(i+1))
最后有
logP(Y,Z∣θi+1)≥L(q,θ(i+1))≥L(q,θ(i))=logP(Y,Z∣θi)
保证了 EM 算法的单调性。
高斯分布
ϕ(y∣θk)=2πσk1exp(−2σk2(x−μk)2)
用多个高斯分布的加权组合描述复杂数据的分布
P(y∣θ)=k=1∑Kαkϕ(y∣θk)s.t.αk≥0 (k=1,…,K),k=1∑Kαk=1
Q 函数的定义
Q(θ,θ(i))=Eγ[logP(y,γ∣θ)∣y,θ(i)]
观测数据是由高斯混合模型产生的,模型参数为
θ=(αk,μk,σk2)
隐变量定义为
γjk={10第 j 个观测样本来自第 k 个高斯模型
现在来推导完全数据的似然函数,因为后续会使用这个代入 Q 函数
P(y,γ∣θ)=j=1∏Np(yj,γj1,γj2,…,γjk∣θ)=j=1∏Nk=1∏K[αkϕ(yj∣θk)]γjk
令
nk=j=1∑Nγjk
有
j=1∏Nk=1∏K[αkϕ(yi∣θk)]γjk=k=1∏Kαknkj=1∏N[ϕ(yj∣θk)]γjk
代入到 Q 函数中
Q(θ,θ(i))=Eγ{k=1∑N{nklogαk+j=1∑Nγjk[logϕ(yj∣θk)]}∣y,θ(i)}=Eγ{k=1∑N{nklogαk+j=1∑Nγjk[(log2π1−logσk−2σk2(yj−μk)2)]}∣y,θ(i)}
我们可以很轻松地发现,真正需要计算的只有 E(γjk∣y,θ(i)),因为其它的都可以通过期望的线性性质直接拆开得到结果
E(γjk∣y,θ(i))=P(γjk=1∣y,θ(i))=P(y∣θ(i))P(γjk=1∣θ(i))P(yj∣γjk=1,θ(i))=∑k=1Kαkϕ(yj∣θk)αkϕ(yj∣θk)=γ^jk
并且我们有
nkE[nk∣y,θ(i)]=j=1∑Nγjk=j=1∑NE[γjk∣y,θ(i)]=j=1∑Nγ^jk
最后得到 Q 函数的最终形式
Q(θ,θ(i))=k=1∑N{j=1∑N(Eγjk)logαk+j=1∑N(Eγjk)[(log2π1−logσk−2σk2(yj−μk)2)]∣y,θ(i)}=k=1∑N{j=1∑Nγ^jklogαk+j=1∑Nγ^jk[(log2π1−logσk−2σk2(yj−μk)2)]∣y,θ(i)}
解释一下上方公式难以理解的点
- E(γjk∣y,θ(i)) 的值其实就是 P(γjk=1∣y,θ(i)),因为前面定义过隐变量的值不是 1 就是 0,这里可以很容易看出
- γ^jk 其实就是样本点 yj 对高斯分布 k 的隶属度
- P(y∣θ(i)) 不是条件概率,而是在参数为 θ(i) 的情况下的似然函数,而 y 可以来自不同的高斯分布,因此写成求和的形式
- P(γjk=1∣θ(i)) 就是在参数为 θ(i) 的情况下数据点来自第 k 个分量的概率,也就是权重 αk
最后对模型参数 α,μ,σ 进行更新
α^kμ^kσ^k=Nnk=N∑j=1Nγ^jk=∑j=1Nγ^jk∑j=1Nγ^jkyj=∑j=1Nγ^jk∑j=1Nγ^jk(yj−μk)2
核心是相似度或者距离,因为是通过这俩个指标进行聚类的
闵可夫斯基距离
dij=(k=1∑m∣xki−xkj∣p)p1
距离越大,相似度越小
- p=1:曼哈顿距离
- p=2:欧氏距离
- p=∞:切比雪夫距离
相关系数
rij=[∑k=1m(xki−xiˉ)2∑k=1m(xkj−xjˉ)2]21∑k=1m(xki−xiˉ)(xkj−xjˉ)
其中:m为样本维度,且
xiˉ=m1k=1∑mxkixjˉ=m1k=1∑mxkj
相关系数的绝对值越接近1,样本越相似;越接近0,越不相似
夹角余弦
Sij=[∑k=1mxki2∑k=1mxkj2]21∑k=1mxkixkj
值越接近1,样本越相似;越接近0,越不相似
硬聚类:一个样本只能属于一个类,类交集为空
软聚类:一个样本可属于多个类,类交集不为空
类的均值、类中心
xGˉ=nG1i=1∑nGxi
类直径:任意两样本之间的最大距离
类之间的距离:
- 最短距离(单连接):两类样本之间最短距离
- 最长距离(完全连接):两类样本之间最长距离
- 中心距离:类中心之间的距离
- 平均距离:任意两样本之间距离的平均值
属于硬聚类
- 聚合聚类(自下而上):样本刚开始独占一类,不断合并
- 分裂聚类(自上而下):所有样本为一类,不断分裂
聚合聚类过程
- 计算两两样本之间的欧氏距离,记作矩阵D
- 构造n个类,每个类只包含一个样本
- 合并类间距(可以选取不同的类间距离)最小的两类,构建一个新的类
按照上述步骤不断迭代,生成层次聚类树,最后想要聚成几个类可以在这个聚类树里面找
属于硬聚类,容易陷入局部最优
样本之间的距离采用欧氏距离的平方
损失函数为样本与其所属类中心距离的总和
C∗=Cargminw(C)=Cargminl=1∑kC(i)=l∑∣∣xi−xlˉ∣∣2
步骤
- 初始化,t=0,随机选取k个样本点作为初始聚类中心
m(0)=(m1(0),⋯,mk(0))
- 对样本聚类,计算每个样本到类中心的聚类,指派到最近的类中
- 计算新的类中心,计算各个类样本均值作为新的类中心
- 重复上述步骤直到满足停止条件
时间复杂度为O(nmk),n是样本个数,m是样本维度,k是类别个数
可以使用kmeans++算法或者肘部法则寻找最优k值
奇异值分解
Am×n=Um×mΣm×nVn×nT
其中:
Σ=diag(σ1,σ2,⋯,σn)σ1≥σ2≥⋯≥σρ≥0ρ=min(m,n)
- σi为A的奇异值,是AAT和ATA特征值(≥0)的平方根
- A的列向量为左奇异向量,是AAT特征向量
- V的列向量为右奇异向量,是ATA特征向量
- A不一定是方阵
奇异值分解的性质:
- 奇异值唯一,U和V不唯一,奇异值分解不唯一
- A和Σ的秩相等,等于正奇异值σi的个数
- Am×n满足如下公式
Avj=σjujATuj=σjvjATuj=0Avj=0
1≤j≤r1≤j≤rj≥r+1j≥r+1
- 前r个右奇异向量构成R(AT)(AT的列空间)的一组标准正交基,后n−r个右奇异向量构成N(A)(零空间)的一组标准正交基。前r个作奇异向量构成R(A)(A的列空间)的一组标准正交基,后n−r个右奇异向量构成N(AT)标准正交基。
A=Um×rΣr×rVn×rTrank(A)=r<min(m,n)
其中:Um×r为U的前r列,Σr×r为Σ的前r个对角线元素,Vn×r为V的前r列
且
rank(Σr×r)=rank(A)
Σ比原矩阵低秩
A≈Um×kΣk×kVn×kTrank(A)=r且0<k<r
其中:Um×k为U的前k列,Σk×k为Σ的前k个对角线元素(只取最大的前k个奇异值),Vn×k为V的前k列
矩阵的外积展开式
uiviT矩阵的外积
A=UΣVT=σ1u1v1T+⋯+σnunvnT
可简写成
A=k=1∑nσkukvkT
其中n是矩阵的秩
而
Ak=i=1∑kσiuiviT=UkΣkVkT
F范数
∣∣A∣∣F=(i∑j∑aij2)21=tr(ATA)21
使用F范数计算低秩近似误差
∣∣A−Ak∣∣F2=σk+12+σk+22+⋯+σr2
从右到左看A=UΣVT,先VT,再Σ,最后U
- V的列向量构成Rn空间的一组标准正交基,表示Rn空间的正交坐标系的旋转或反射变换
- Σ的对角线元素是一组非负实数,表示Rn空间中的原始正交坐标系坐标轴的σ1,σ2,⋯,σn倍缩放变换
- U的列向量构成Rm空间的一组标准正交基,表示Rm空间的正交坐标系的旋转或反射变换
是一种降维方法,利用正交变换把线性相关变量转换成少数几个由线性无关变量来表示数据
首先定义x=(x1,x2,⋯,xm)T是m维随机变量,均值向量是μ
μ=E(x)=(μ1,μ2,⋯,μm)T
通过看上课的PPT可以知道协方差矩阵的定义
Σ=Cov(x,x)=E[(x−μ)(x−μ)T]
然后定义一个线性变换,这个线性变换其实就是αi去乘以每个样本,得到一个新的坐标的一个维度
这里为什么说是一个维度呢,因为你是根据这个线性变换求出来的其实是一个值,这个值就代表了变换后坐标的一个维度。也就是说你可以控制y的个数,如果你要降维,y的个数就不要超过原始样本维度。
yi=αiTx=α1ix1+α2ix2+⋯+αmixmαiT=(α1i,α2i,⋯,αmi)
对于yi=αiTx,若满足:
- αiT是单位向量,即αiTαi=1
- yi与yj不相关,即Cov(yi,yj)=0
- yi是与前面求出来的与y1到yi−1不相关的线性变换中方差最大的,也就是yi的方差是小于y1,y2,⋯,yi−1的
这个时候就可以称y1到ym是x的第一主成分到第m主成分
由此可以得到求主成分的方法
即已知x=(x1,x2,⋯,xm)T是m维随机变量,Σ是x的协方差矩阵,其特征值为λ1≥λ2≥⋯≥λm≥0,对应的单位特征向量分别是α1,α2,⋯,αm
x的第k个主成分是
yi=αkTx=α1kx1+α2kx2+⋯+αmkxm
方差为
var(yk)=αkTΣαk=λk
也就是协方差矩阵第k个特征值
其性质有:
- Cov(y)=Λ=diag(λ1,⋯,λm)
- y的方差之和等于随机变量x的方差之和
i=1∑mλi=i=1∑mσii
因子负荷量
第k个主成分yk与变量xi的相关系数ρ(yk,xi),表示 yk与xi的相关关系,要注意的是这里的xi表示的是样本的第i个维度,而不是第i个样本
ρ(yk,xi)=σiiλkαik
其中:λk是yk对应的特征值,αik是主成分yk对应的特征向量的第i个维度,σii是xi的方差
固定第k个主成分yk,有如下性质:
i=1∑mσiiρ(yk,xi)2=i=1∑mλkαik2=λkαkTαk=λk
固定第i个维度xi,有如下性质:
k=1∑mρ(yk,xi)2=1
在后面对规范化后的随机变量(方差变为1)进行上述计算时,σii=1
方差贡献率
用于选取主成分个数
ηk=∑i=1mλiλk
首先要确定样本是按行分布还是按列分布的,我这里默认样本按列分布,且使用特征值分解进行PCA求解(课本有使用奇异值分解求解PCA的步骤,由于不是考察重点,这里不再赘述)
- 规范化随机变量:具体说就是算出样本每一个维度的均值和样本方差,对其进行规范化
xiˉ=n1j=1∑nxij
sii=n−11j=1∑n(xij−xiˉ)2
xij=siixij−xiˉ
A→B进行规范化
- 规范化后求协方差矩阵(因为样本已经归一化,也可以叫做相关矩阵)
R=n−11BBT样本按列分布R=n−11BTB样本按行分布
- 求解相关矩阵的特征向量,求出主成分,并求出他们的因子负荷量,方差贡献率等,按照题目要求进行主成分个数的选取
帮助加深理解
如何得到用x的协方差矩阵求主成分的结论
可以转换为下面带约束的最优化问题
α1maxα1TΣα1s.t.α1Tα1=1
构建拉格朗日函数
L(α1)=α1TΣα1−λ1(α1Tα1−1)
求导
∇α1L=2Σα1−2λ1α1=0
可得到
Σα1=λ1α1
α1是Σ的特征向量,又因为var(yk)=αkTΣαk=λk
要使var(y1)最大,所以λ1为Σ的最大特征值
另一个例子
α2maxα2TΣα2s.t.α2Tα2=1α1Tα2=0
求拉格朗日函数
L(α2)=α2TΣα2+λ2(1−α2Tα2)+β2α1Tα2
求梯度
∇α2L=2Σα2−2α2λ2+β2α1=0
左乘α1T
2α1TΣα2−2α1Tα2λ2+β2α1Tα1=β2=0
因此
Σα2=λ2α2
主成分方差的证明
已知
y1=αiTxE(x)=μ=0
计算协方差矩阵
Σ=Cov(x,x)=E((x−μ)(x−μ)T)=E(xxT)
计算主成分的均值
E(yi)=αiTE(x)=αiTμ
计算主成分方差
var(yi)=E[(yi−E(yi))2]=E(yi2)−[E(yi)]2=E(αiTxxTαi)=αiTΣαi
主成分的协方差矩阵也可以算出来
Cov(yi,yi)=E(yiyiT)=var(yi)=αiTΣαi
对向量求导
∂x∂xTa∂x∂aTx∂x∂xTx∂x∂xTBx=a=a=2x=(B+BT)x
对矩阵求导
∂X∂aTXb∂X∂aTXTb∂X∂aTXTa∂X∂aTXa∂X∂aTXXTa=abT=baT=aaT=aaT=X(abT+baT)
- 什么是统计学习
统计学习是计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析
- 什么是过拟合
过拟合指的是模型在已知的数据上预测得很好,但是在未知的数据上预测得很差
- 增加更多的训练样本总是可以避免过拟合。[错误]
计算Precision和Recall,体温超过38度为阳性患者
image-20251216104253184Precision=TP+FPTP=0.75
Recall=TP+FNTP=0.5
1-NN分类器的训练误差为0。[正确]
当K=N时,K近邻算法产生的决策边界比1近邻算法更复杂。[错误]
选择不同的距离范数不会影响1-NN的决策边界。[错误]
最近邻算法是一种参数化方法。[错误]
image-20251216110606101A,解析:
- 感知机的训练错误率为0。[错误]
- 最近邻分类器的训练错误率为0。[正确]
- 朴素贝叶斯分类器的训练错误率为0。[错误]
- ID3方法能够保证得到最优的决策树。[错误]
下列哪些策略可能减小决策树的过拟合问题:
A.剪枝
B.强制叶节点最小样本数
C.强制决策树的最大深度
D.确保每个叶节点的样本都属于同一类
ABC,解析:
- D:这样子会使得模型为了使叶子节点的样本只有一类,会使得树的深度骤增,使模型过拟合
支持向量机计算P(y∣x)。[错误]
在支持向量机中,非支持向量的αi的值为0。[正确]
在支持向量机中,正例对应的拉格朗日乘子之和等于负例对应的拉格朗日乘子之和。[正确]
线性可分SVM的损失函数只考虑误分类的样本。[错误]
非线性SVM在训练时不需要设置任何超参数。[错误]
SVM在处理非线性问题时使用的技术称为:
A. 神经网络 B. 随机森林
C. 核技巧 D. 梯度提升
C
- 当你想要提高SVM模型的泛化能力,你应该:
A. 增加正则化参数C B. 减少正则化参数C
C. 增加核函数参数γ D. 减少核函数参数γ
BD
- 下列哪个说法是正确的:
A.Adaboost算法可直接用于1NN分类器
B.Adaboost算法运用软间隔线性支持向量机做弱分类器可能得到非线性的分类边界
C.Adaboost算法对测试样本的弱分类器输出运用投票法进行决策
D.Adaboost算法适合任何的一组弱分类器
B,解析:
- A:1NN分类器是强分类器,不适合用在Adaboost里面
- C:是加权投票,不是平均投票
- D:不适合,弱分类器要比随即猜测略好,误差小于0.5
- 在 Adaboost 中,我们从训练样本上的高斯权重分布开始。[错误]
EM算法的E步中,我们通常计算什么? ( )
A. 参数的后验概率 B. 缺失数据的期望值
C. 观测数据的期望值 D. 参数的最大似然估计
B,解析:
- 应该是完全数据似然函数在隐变量后验概率分布下的期望
- 层次聚类中,距离度量不包括以下哪种 ( )
A. 欧氏距离 B. 曼哈顿距离
C. 余弦相似度 D. 标准差
D
- 层次聚类算法的类型包括 ( )
A. 凝聚的 B. 分裂的 C. 以上都是 D. 以上都不是
C
- 层次聚类的结果通常表示为 ( )
A. 一个聚类数 B. 一个聚类划分
C. 一个树状图(Dendrogram) D. 一个概率模型
C
- 层次聚类方法需要预定义聚类数量。[错误]
- 单链接聚合聚类算法基于两个聚类中点之间的最大距离来合并这两个聚类。[错误]
- K-means算法是一种无监督学习算法 。[正确]
- K-means算法是KNN算法的特例 。[错误]
- K-means算法总是能找到全局最优解,与初始中心选择无关 。[错误]
- K-means算法的K值必须由用户预先指定。[正确]
- K-means算法的时间复杂度是O(nkm),其中n是数据点的数量,k是簇的数量,m是样本维数。[正确]
- K-means算法可以通过肘部法则来确定K值。[正确]
| 方法 | 模型 | 策略 | 算法 | 损失函数 |
|---|
| 感知机 | 二分类超平面 | 极小化误分类点到超平面的距离 | 随机梯度下降 | 误分类点到超平面的距离 |
| knn | \ | \ | \ | \ |
| 朴素贝叶斯 | 特征与类别的联合概率 | 极大似然估计,极大后验概率估计 | EM算法 | 对数似然损失 |
| 决策树 | 分类树、回归树 | 正则化的极大似然估计 | 特征选择、生成、剪枝 | 对数似然损失 |
| 逻辑斯特回归 | 对数线性模型 | 正则化的极大似然估计 | 梯度下降,拟牛顿法 | 逻辑斯蒂损失 |
| 支持向量机 | 分离超平面 | 最小间隔最大化,极小化带正则的合页损失 | SMO算法 | 合页损失 |
| 提升方法 | 弱分类器的线性组合 | 极小化加法模型的指数损失 | 前向分布加法算法 | 指数损失 |
| EM算法 | 含隐变量的概率模型 | 极大似然估计 | 迭代算法 | 对数似然损失 |
| 层次聚类 | 聚类树 | 类内样本距离最小 | 启发式算法 | \ |
| k均值聚类 | k中心聚类 | 样本到类中心的距离之和最小 | 迭代算法 | \ |
| 高斯混合模型 | 高斯混合模型 | 似然函数最大 | EM算法 | \ |
| PCA | 低维正交空间 | 方差最大 | SVD或者特征值分解 | \ |
感知机对偶是用一个α来存储每个样本的误分类次数乘上学习率,α的维度等于样本个数
knn是懒惰学习,是无参数模型,缺点是时间和空间复杂度高,它的模型三要素是距离度量、k值选择、分类决策规则
adaboost的训练轮数需要预先指定,训练几轮就有几个弱学习器
CART算法是二元划分
用最小训练误差划分决策树会导致过拟合,不能正确反映划分后两个子集各自的数据分布,生成的决策树也易受噪声影响
分裂聚类的时间复杂度是O(n2mk),层次聚类是层次化的,kmeans是非层次化的
逻辑斯蒂回归是线性分类模型,是广义线性模型,但输入输出不存在线性关系
决策树模型使用的是if-then规则,特征是互斥且完备,直接应用是CLS算法
奇异值分解的基本定理是奇异值分解对任意实矩阵存在
监督学习的基本策略是经验风险最小化和结构风险最小化
SVM的惩罚系数C太大会导致模型过拟合,C太小会导致模型欠拟合
SVM是一个求解凸二次规划的问题
五选择
六判断
三简答
三到四个计算题
一道综合题(除了第1问都很难)
概论
统计学习定义 统计学习对象 统计学习目的 统计学习三要素 每个模型的三要素是什么 比较用三要素 模型分类概率模型和非概率模型(p11-12) 生成模型和判别模型(生成模型关注联合分布 p28有)。损失函数与风险函数 期望损失 损失函数的期望 期望风险 经验风险 结构风险 监督学习定义p6 无监督学习定义p8 过拟合定义 解决办法 混淆矩阵 召回率 精确率 F1值
监督学习
监督学习 七个方法 感知机收敛定理。模型咋写 损失函数是什么 如何推导 knn决策规则 距离度量k值选择造成的影响 不考kd树 朴素贝叶斯对什么做条件独立性假设 最大似然估计和拉普拉斯平滑 决策树 id3 CART 熵以2为底 决策树剪枝的作用 不考回归树 逻辑斯谛回归要会写最大似然函数 会对其求导 支持向量机原问题 对偶问题 约束 KKT条件 原问题如何变成对偶问题 软间隔svm 合页损失 C变大变小的影响 根据kexi取值范围判断是不是支持向量 核方法 正定核充要矩阵:GRAM矩阵半正定 提示方法概念 弱分类器单独分类正确率要超过0.5 adaboost指数损失
无监督学习
EM算法要会推导。收敛到局部最大值 鞍点 GMM概念 EM算法两步 层次聚类 单链接还是多链接 不考中心距离平均距离 例14.1 层次聚类图 kmeans 例14.2 会收敛 不是全局最优 SVD定义 怎么求UsigmaV 例15.5 奇异值分解不唯一 定理15.3 截断奇异值近似误差 F范数 pca性质 yi的特征值和 方差贡献率是什么 相关系数是什么 用拉格朗日乘子法证明要找方差最大的作为变换向量 要会求相关矩阵 规范化变量情况下的性质