模式识别导论复习

Ch1 - 线性回归

LASSO 问题

LASSO 问题:Least absolute shrinkage and selection operator.

minwγ∑j=1n|wj|+12∑i=1m(w⊤xi−yi)2

给定连续可导的 Huber loss,当 a→0 近似一范数,

h(x)={12ax2,|x|≤a|x|−a2,|x|>a

考虑 g(x,u)=12a(x−u)2+|u|,我们有:

minug(x,u)=h(x)

证明考虑分类讨论 u∗=0,u∗<0,u∗>0,

  • u∗>0,则 −1a(x−u∗)+1=0 推出 x=u∗+a>a,此时极值 x−a2.

  • u∗=0,则 −1a(x−u∗)+C=0 推出 x∈[−a,a],此时极值 12ax2.

  • u∗<0,则 −1a(x−u∗)−1=0 推出 x=u∗−a<−a,此时极值 −x−a2.

并且得到

u∗=Sa(x)≐{x−a,x>a0,|x|≤ax+a,x<−a

也就是,

g(x,Sa(x))=h(x)

LASSO 问题可以写为矩阵表示的形式:

minwγ||w||1+12(Xw−Y)⊤(Xw−Y)⏟=E(w)

构建:

E~(w)=γ∑h(wi)+12(Xw−Y)⊤(Xw−Y)

E~(w) 满足当 a→0 时,E~(w)→E(w).

再构建:

E(w,u)=γ∑g(ui,wi)+12(Xw−Y)⊤(Xw−Y)

满足 E(w,u)≥E~(w),且 E(w,u∗)=E~(w).

展开 E(w,u) 得到

E(w,u)=γ∑j=1n[12a(wj−uj)2+|uj|]+12(Xw−Y)⊤(Xw−Y)

使用交替优化求解的想法。在第 k 次迭代算出 uk,wk.

在第 k+1 次迭代,u 只和第一项有关,即

∂E(wk,u)∂u|u=uk+1=0⇒uk+1=Sa(wk)

w 只和平方项有关,

∂E(w,uk)∂u|w=wk+1=0⇒γa(wk+1−uk)+X⊤(Xwk+1−Y)=0⇒(γa+X⊤X)wk+1=γauk+X⊤Y⇒wk+1=(γaI+X⊤X)−1(X⊤Y+γauk+1)

解释稀疏性,当 a→0 时,主要是主对角线元素起作用,

wk+1→aγI(X⊤Y+γauk+1)=uk+1

而 uk+1=Sa(wk) 每次都是在向 0 靠近。

0 范数问题

零范数问题:

minwγ∑j=1n|wj|0+12∑i=1m(w⊤xi−yi)2

构造 Truncated L2 norm(截断 2 范数),当 a→0 时,近似零范数。

T(x)={1a2x2,|x|≤a1,|x|>a

构造 g(x,u)=1a2(x−u)2+|u|0.

分类讨论极值点 u∗=0,u∗≠0,可得:

  • u∗=0,因为 |u|0 在 u=0 点不可导,暂时设导数为 C 则 2a2(x−u∗)+C=0,x 是未知数,此时

    g(x,u∗)=1a2x2≐g1(x)
  • u∗≠0,则 2a2(x−u∗)=0 推出 x=u∗,代入 g(x,u∗) 可得等于 1≐g2(x).

当 |x|≤a 时,g1(x)≤g2(x),当 |x|>a 时,g1(x)>g2(x). 因此

T(x)={g2(x)=1a2x2|x|≤a (u∗=0)g1(x)=1|x|>a (u∗=x)

结论是:

u∗=Ha(x)≐{x,x>a0,|x|≤ax,x<−a

交替迭代求解思路类似,这里给出结论:

uik+1=Ha(wik)wk+1=(2γa2I+X⊤X)⊤(X⊤Y+2γa2uk+1)

Ch2 - 线性分类

Fisher Discrimination

正负样本中心:

x+―=1n+∑i:yi=1w⊤xix−―=1n−∑i:yi=−1w⊤xi

投影后正负样本中心之间距离:

w⊤(x+―−x−―)

正负样本类间方差:

S+2=∑i:yi=1(w⊤xi−w⊤x+―)S−2=∑i:yi=−1(w⊤xi−w⊤x−―)2

使用类间方差标准化中心距离:

maxw(w⊤(x+―−x−―))2S+2+S−2

使用矩阵简化:

那么问题等价于:

maxwF(w)=w⊤ΓBww⊤(Γ++Γ−)w≐w⊤ΓBww⊤ΓIw

对分母做尺度的约束,

minw−w⊤ΓBw, s.t. w⊤ΓIw=1

等价于广义特征值问题:

ΓBw=λΓIw

方法一 令 v=ΓB1/2w,

ΓB1/2v=λΓIΓB−1/2vΓB1/2ΓI−1ΓB1/2v=λv

转换为求 ΓB1/2ΓI−1ΓB1/2 最大特征值。

方法二 展开可得:

(x+―−x−―)(x+―−x−―)⊤w⏟α=λΓIw

那么,w∝ΓI−1(x+―−x−―).

Logistic Regression

希望把分类结果 w⊤x 映射到一个属于 (0,1) 的概率值 ρ,我们可以采用

ln⁡ρ1−ρ=w⊤x⇒ρ=11+exp⁡(−w⊤x)

给定一个投影向量 w,则出现样本 (x,y) 的概率可以写为:

p(x)=ρy(1−ρ)1−y

做极大似然估计,出现全体样本 (xi,yi) 的对数概率可以写为:

J(w)=log⁡∏ip(xi)=∑ilog⁡p(xi)=∑iylog⁡ρ+(1−y)log⁡(1−ρ)=∑iyilog⁡(ρ(w⊤xi))+(1−yi)log⁡(1−ρ(w⊤xi))=∑iyi(log⁡(ρ(w⊤xi))−log⁡(1−ρ(w⊤xi)))+log⁡(1−ρ(w⊤xi))∵ρ1−ρ=ew⊤xi,1−ρ=11+ew⊤xi=∑iyi(w⊤xi)−log⁡(1+exp⁡(w⊤xi))

因此,我们希望最大化 J(w),求出对应的 w,可以使用 梯度下降 的方法。

BCE Loss

Ch3 - SVM

SVM 模型

image-20241229102442566

最大化间隔的分类器:

maxw,b2||w||2.s.t.yi(w⊤xi+b)≥1

如果样本线性不可分,则问题不可解。

image-20241229102530605

允许部分误分类的软间隔分类器:

minw,b12||w||22+C∑iρis.t.yi(w⊤xi+b)≥1−ρiρi≥0

其中 ρi 越大,误分类的程度越大。

SVM 对偶问题

将原问题约束条件写成 ≤0 的形式:

minw,b12||w||22+C∑iρis.t.1−ρi−yi(w⊤xi+b)≤0−ρi≤0

分配拉格朗日变量 αi,βi,写出拉格朗日项:

L(w,b,ρ;α,β)=12||w||22+C∑iρi+∑iαi(1−ρi−yi(w⊤xi+b))−∑iρiβi

写出 KKT 条件,包含四个部分:

重组拉格朗日函数,并且代入 KKT 条件可得:

L=12||w||22+∑iρi(C−αi−βi)⏟代入KKT条件=0+∑iαi−∑iαiyiw⊤xi⏟=w⊤w=||w||2−b∑αiyi⏟代入KKT条件=0
L=−12||w||2+∑iαi

其中,

12||w||2=12∑iyiαixi⊤∑jyjαjxj=12∑i∑jαiyixi⊤xjyjαj

因此对偶问题可以表示为:

maxα−12∑i∑jαiyixi⊤xjyjαj+∑iαis.t.∑iαiyi=0,0≤αi≤C

通过对偶问题得到原问题参数

分别求出 w,b 的形式:

w=∑iyiαixi=∑i,αi≠0yiαixi

根据 0≤αi≤C,αi+βi=C 以及互补松弛条件:

{(1−ρi−yi(w⊤xi+b))αi=0ρiβi=0

image-20241205215709611

当 αi=0 时,βi=C 推出 ρi=0,再代入

1−ρi−yi(w⊤xi+b)≤0⇒yi(w⊤xi+b)≥1

对应 xi 完全分类正确。yi=1 时处于 1 区,yi=−1 时处于 4 区。

当 αi>0 时,(1−ρi−yi(w⊤xi+b))=0,xi 成为支持向量:

对于 αi≠0(0<αi≤C) 的向量,xi 属于 支持向量 (SV)。 选择支持向量中 满足 0<αi<C 的(为了避免选到分类错误的样本使得模型过拟合),此时 yi(w⊤xi+b)=1,因为 yi∈{1,−1},所以 w⊤xi+b=yi,

bi=yi−w⊤xi=yi−∑j:αj≠0yjαjxj⊤xi=yi−∑xj∈SVyjαjxj⊤xi

最终选择的 b 是所有的 bi 取平均:

f(x)=w⊤x+b=∑xi∈SVyiαixi⊤x+1n∑k∈{k|0<αk<C}(yk−∑xj∈SVyjαjxj⊤xk)

n:满足 0<αi<C 的向量的个数。

Kernel Trick

使用非线性映射函数 x→ϕ(x),从低维 n 映射到高维 d≫n.

SVM 分隔函数和对偶问题都可以用内积的形式表示:

f(x)=∑xi∈SVyiαiϕ⊤(xi)ϕ(x)+b
minα∑i∑jαiyiϕ(xi)⊤ϕ(xj)yjαj−∑iαis.t.∑iαiyi=0,0≤αi≤C

因此可以令核函数 K(u,v)=ϕ(u)⊤ϕ(v).

例如 K(u,v)=(u⊤v+1)2,可以看成:

K(u,v)=(u⊤v+1)2=(u1v1+u2v2+1)2=u12v12+u22v22+1+2u1v1u2v2+2u1v1+2u2v2=(u12u2212u1u22u12u2)⏟ϕ(u)⊤(v12v2212v1v22v12v2)⊤⏟ϕ(v)=ϕ(u)⊤ϕ(v)

从二维映射到六维。

高斯核函数推导

RBF(Radial Basis Function) Kernel / Gaussian Kernel

K(u,v)=exp⁡(−||u−v||222σ2)
K(u,v)=exp⁡(−||u−v||222σ2)=exp⁡(−||u||222σ2)exp⁡(uvσ2)exp⁡(−||v||222σ2)

关键怎么展开 exp⁡(uvσ2).

exp⁡(uvσ2)=∑n=0∞1n!(uvσ2)n=1+∑n=1∞1n!unσn1n!vnσn=(1uσ12!(uσ)213!(uσ)3⋯1n!(uσ)n⋯)⏟ϕ~(u)⊤(1vσ12!(vσ)213!(vσ)3⋯1n!(vσ)n⋯)⊤⏟ϕ~(v)=ϕ~(u)⊤ϕ~(v)

则:

ϕ(u)≐exp⁡(−||u||222σ2)ϕ~(u)

Ch4 - 无监督学习

PCA

设 n 为样本点维数,m 为样本点个数,X 为 n×m 的矩阵,PCA 问题

maxw⊤w=1w⊤CwC=1m−1XX⊤

对 PCA 进行理论解释,因为样本方差的无偏估计为:

S2=1m−1cov(Y)=1m−1(E{Y⊤Y}−Y―2)=1m−1w⊤XX⊤w

因此 PCA 问题就是要求投影后向量 w⊤X 的方差尽量大。C 的最大特征值对应的特征向量就是所求 w.

PCA 过程

将 xi 从 n 维降到 k 维,要求每维之间不相关也就是协方差为零。

  1. 去均值化 xi−x―;

  2. C=1m−1XX⊤∈Rn×n.

  3. Cw=λw 得到特征值 λ1>λ2>⋯>λn.

  4. 取 Top k 特征值和特征向量(模长为一):

    λ1,λ2,⋯,λkw1,w2,⋯,wk

    满足 wi⊤wj≠0⟺i=j.

  5. yi=[w1⊤xi,w2⊤xi,⋯,wk⊤xi].

    满足 cov(wi⊤X,wi⊤X)=λi,并且 cov(wi⊤X,wj⊤X)=0.

    因此 cov(Y) 是对角阵 diag{λi}。

转录组PCA

CCA

xa,xb 是对同一个对象的不同观测(可能维度不同),希望 xa,xb 有高度的相关性,也就是投影结果 ya,yb 相关系数尽量大。

假设 xa∈Rm,xb∈Rn,对样本做零均值化,投影后 ya=wa⊤xa,yb=wb⊤xb,其中 ya,yb∈R.

计算其相关系数:

ρ=cov(ya,yb)cov(ya)cov(yb)=E{yayb}E{ya2}E{yb2}=E{wa⊤xawb⊤xb}E{wa⊤xawa⊤xa}E{wb⊤xbwb⊤xb}

设协方差矩阵为 Cab=E(xaxb⊤),Caa=E(xaxa⊤),Cbb=E(xbxb⊤).

优化问题变为:

maxwa,wbwa⊤Cabwbwa⊤Caawawb⊤Cbbwb

做尺度一致性的变化(类似于 Fisher Discriminant 的做法):

maxwa⊤Cabwbs.t.wa⊤Caawa=1,wb⊤Cbbwb=1

写出拉格朗日项:

L(wa,wb;λa,λb)=wa⊤Cabwb−λa2(wa⊤Caawa−1)−λb2(wb⊤Cbbwb−1)

对 wa 和 wb 分别求导:

{∂L∂wa=Cabwb−λaCaawa=0∂L∂wb=Cbawa−λbCbbwb=0

可得 λa=λb,也就是:

{Cabwb=λCaawaCbawa=λCbbwb

因此,

wb=λCab−1CaawaCbawa=λ2CbbCab−1Caawawa=λ2Cba−1CbbCab−1CaawaCaa−1CabCbb−1Cbawa=λ2wa

矩阵 Caa−1CabCbb−1Cba 最大特征值对应的特征向量就是 wa.

EM 算法

高斯分布表达式:

N(x;μ,Σ)=1(2π)ddet(Σ)exp⁡[−12(x−μ)⊤Σ−1(x−μ)]

高斯混合模型:

p(x|Θ)=∑kαkN(x;μk,σk){αk>0∑kαk=1

使用极大似然估计求解:

Θ=arg⁡maxΘln⁡(∏ip(xi|Θ))⏟L(x|Θ)L(x|Θ)=∑iln⁡(∑kαkN(xi|μk,σk))

ln 里面有求和符号,不好直接做,需要利用琴生不等式化简,具体推导过程省略,我们可以直观地来理解 EM 迭代求解的过程:

  1. 迭代获得 Θt 的值;

  2. Expectation Step 根据 Θt 计算得到 ωi,kt.

    ωi,kt=αktN(xit|μkt,σkt)∑kαktN(xi|μkt,σkt)

    αkt:第 k 类高斯分布的先验概率。

    ωi,kt: 第 i 个样本属于第 k 个高斯分布的概率。

    保证 ∑k=1Kωi,kt=1,也就是一个样本一定属于某一类。

  3. Maximization Step

    1. αk 的更新:

      αkt+1=∑iωi,ktN

      可以理解为频率估计概率。

    2. μk 的更新,σk2 的更新:

      μkt+1=∑iωi,ktxi∑iωi,kt(σk2)t+1=∑iωi,kt(xi−μkt+1)2∑iωi,kt

      可以理解为加权求和。

      注:对于高维问题只有一点不同,这里的乘法改成协方差矩阵。

      (Σk)t+1=∑iωi,k(xi−μkt+1)(xi−μkt+1)⊤∑iωi,k

初始化方法

Ch5 - 集成学习

AdaBoost

img

AdaBoost 流程:给定二分类的训练数据集,

输入:训练集 T={(x1,y1),(x2,y2),⋯,(xN,yN)},其中 xi∈X⊆Rn,yi∈Y={−1,1}.

输出:最终分类器 G(x).

  1. 初始化训练数据的权值分布,代表 训练数据的重要程度:

    D1={w1i},w1i=1N.
  2. 对于 m=1,2⋯,M(迭代序数)

    1. 基本分类器 Gm(x):X→{−1,+1},计算 Gm(x) 在训练数据集上的分类误差率;

      em=P(Gm(xi)≠yi)=∑i=1NwmiI(Gm(xi)≠yi)

      若分类错误 I(Gm(xi)≠yi),则为 1,再利用 wmi 做加权求和。

      选择分类误差率最小的一个 Gm(x).

    2. 计算 Gm(x) 的系数;

      αm=12log⁡1−emem
    3. 更新训练数据集的权值分布。

      wm+1,i={wmiZme−αm,Gm(xi)=yiwmiZmeαm,Gm(xi)≠yi
      Zm=∑i=1Nwmiexp⁡(−αmyiGm(xi))
       分类正确分类错误
      强分类器 αm>0权值降低权值提升
      弱分类器 αm<0权值提升权值降低
    4. 构建 G(x)=sign(∑m=1MαmGm(x)).

Ch6 - 决策规则

贝叶斯决策

基础为贝叶斯公式:

p(ω|x)=p(x|ω)p(ω)p(x)

其中 p(ω) 为先验概率,p(x|ω) 为样本 x 在 ω 类中的概率分布。

考虑二分类问题,x 分为 ω1 类还是 ω2 类,即计算:

p(ω1|x)≶p(ω2|x)
p(x|ω1)p(ω1)≶p(x|ω2)p(ω2)

定义决策函数为 di(x)=p(x|ωi)p(ωi),则判断的类别 k:

k=arg⁡maxkdk(x)

等价于最大化分类正确率。

决策面为 p(x|ω1)p(ω1)=p(x|ω2)p(ω2),考试题会问高斯分布下的决策面是什么样子的。

最小风险贝叶斯决策

例如对于诊断病情的情景,设 ω1 代表无病,ω2 代表有病,显然将有病诊断为无病损失更大,设损失矩阵 L:

L=(0150)

对角线元素 L11,L22 代表分类没有损失,L12=1,L21=5 表示把有病的判断为没病的损失更大。

对于实际属于 ωj 类的 x 定义决策函数为:

rj(x)=∑i=1MLijp(ωi|x)=∑i=1MLijp(x|ωi)p(ωi)p(x)

最小化分类失误:

k=arg⁡minkrk(x)

当 Lij=1−δij,转换为普通的贝叶斯决策问题。

rj(x)=∑i=1Mp(ωi|x)−p(x|ωj)p(ωj)=p(x)−dj(x)

因为对于同一个样本 x 概率 p(x) 不变,即 rj(x) 取最小等价于取决策函数 dj(x) 最大。

Neyman-Pearson 决策

两类错误率的定义:第一类错误率 ε1 代表实际是 ω1 类判断为 ω2 类,第二类错误率 ε2 代表实际是 ω2 类判断为 ω1 类。

NP 决策是在保证一类错误率为定值的前提下,使另一类错误率最小的两类决策问题。例如使 ε2=ε0 的条件下,使得 ε1 最小的决策。

举例子叮咚鸡:

 没病 ω1有病 ω2
阴性 ε2=ε0
阳性ε1 

将有病的病人判断为阴性影响更严重,比如我们希望 99.99% 的有病病人都能够判断为阳性,而此时假阳性概率 ε1 希望控制最小,这就是 NP 决策的问题。我们再用图形直观地说明这个问题:

使用抗体浓度作为是否为阳性的依据,两类病人的抗体浓度分别服从正态分布。

image-20241228225305437

image-20241228225135697

如果想要降低第二类错误率(橙色区域),则必须移动分类依据 t(在高维的情况是分类平面),移动之后就会提高第一类错误率,两类错误率是此消彼长的关系,因此必然存在一个使得 ε2=ε0 而 ε1 最小的 t.

求解 NP 决策问题,我们可以使用拉格朗日法:

L=ε1+λ(ε2−ε0)

image-20241228230143451

L=∫R2p(x|ω1)dx+λ∫R1p(x|ω2)dx−λε0=1−∫R1p(x|ω1)dx+λ∫R1p(x|ω2)dx−λε0=(1−λε0)+∫R1[λp(x|ω2)−p(x|ω1)]dx

代入拉格朗日极值条件:

∂L∂t=λp(t|ω2)−p(t|ω1)=0

分界面 x=t 满足:p(x|ω2)p(x|ω1)=λ.

将 λ 未知值代入 ε2=ε0=∫R1p(x|ω2)dx,可以解得 λ.