模式识别导论复习

Ch1 - 线性回归

LASSO 问题

LASSO 问题:Least absolute shrinkage and selection operator.

minwγj=1n|wj|+12i=1m(wxiyi)2

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

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

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

minug(x,u)=h(x)

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

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

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

  • u<0,则 1a(xu)1=0 推出 x=ua<a,此时极值 xa2.

并且得到

u=Sa(x){xa,x>a0,|x|ax+a,x<a

也就是,

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

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

minwγ||w||1+12(XwY)(XwY)=E(w)

构建:

E~(w)=γh(wi)+12(XwY)(XwY)

E~(w) 满足当 a0 时,E~(w)E(w).

再构建:

E(w,u)=γg(ui,wi)+12(XwY)(XwY)

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

展开 E(w,u) 得到

E(w,u)=γj=1n[12a(wjuj)2+|uj|]+12(XwY)(XwY)

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

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

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

w 只和平方项有关,

E(w,uk)u|w=wk+1=0γa(wk+1uk)+X(Xwk+1Y)=0(γa+XX)wk+1=γauk+XYwk+1=(γaI+XX)1(XY+γauk+1)

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

wk+1aγI(XY+γauk+1)=uk+1

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

0 范数问题

零范数问题:

minwγj=1n|wj|0+12i=1m(wxiyi)2

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

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

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

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

  • u=0,因为 |u|0u=0 点不可导,暂时设导数为 C2a2(xu)+C=0x 是未知数,此时

    g(x,u)=1a2x2g1(x)
  • u0,则 2a2(xu)=0 推出 x=u,代入 g(x,u) 可得等于 1g2(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+XX)(XY+2γa2uk+1)

Ch2 - 线性分类

Fisher Discrimination

正负样本中心:

x+=1n+i:yi=1wxix=1ni:yi=1wxi

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

w(x+x)

正负样本类间方差:

S+2=i:yi=1(wxiwx+)S2=i:yi=1(wxiwx)2

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

maxw(w(x+x))2S+2+S2

使用矩阵简化:

那么问题等价于:

maxwF(w)=wΓBww(Γ++Γ)wwΓBwwΓIw

对分母做尺度的约束,

minwwΓBw, s.t. wΓIw=1

等价于广义特征值问题:

ΓBw=λΓIw

方法一v=ΓB1/2w

ΓB1/2v=λΓIΓB1/2vΓB1/2ΓI1ΓB1/2v=λv

转换为求 ΓB1/2ΓI1ΓB1/2 最大特征值。

方法二 展开可得:

(x+x)(x+x)wα=λΓIw

那么,wΓI1(x+x).

Logistic Regression

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

lnρ1ρ=wxρ=11+exp(wx)

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

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

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

J(w)=logip(xi)=ilogp(xi)=iylogρ+(1y)log(1ρ)=iyilog(ρ(wxi))+(1yi)log(1ρ(wxi))=iyi(log(ρ(wxi))log(1ρ(wxi)))+log(1ρ(wxi))ρ1ρ=ewxi,1ρ=11+ewxi=iyi(wxi)log(1+exp(wxi))

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

BCE Loss

Ch3 - SVM

SVM 模型

image-20241229102442566

最大化间隔的分类器

maxw,b2||w||2.s.t.yi(wxi+b)1

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

image-20241229102530605

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

minw,b12||w||22+Ciρis.t.yi(wxi+b)1ρiρi0

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

SVM 对偶问题

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

minw,b12||w||22+Ciρis.t.1ρiyi(wxi+b)0ρi0

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

L(w,b,ρ;α,β)=12||w||22+Ciρi+iαi(1ρiyi(wxi+b))iρiβi

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

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

L=12||w||22+iρi(Cαiβi)KKT=0+iαiiαiyiwxi=ww=||w||2bαiyiKKT=0
L=12||w||2+iαi

其中,

12||w||2=12iyiαixijyjαjxj=12ijαiyixixjyjαj

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

maxα12ijαiyixixjyjαj+iαis.t.iαiyi=0,0αiC

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

分别求出 w,b 的形式:

w=iyiαixi=i,αi0yiαixi

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

{(1ρiyi(wxi+b))αi=0ρiβi=0

image-20241205215709611

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

1ρiyi(wxi+b)0yi(wxi+b)1

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

αi>0(1ρiyi(wxi+b))=0xi 成为支持向量:

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

bi=yiwxi=yij:αj0yjαjxjxi=yixjSVyjαjxjxi

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

f(x)=wx+b=xiSVyiαixix+1nk{k|0<αk<C}(ykxjSVyjαjxjxk)

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

Kernel Trick

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

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

f(x)=xiSVyiαiϕ(xi)ϕ(x)+b
minαijαiyiϕ(xi)ϕ(xj)yjαjiαis.t.iαiyi=0,0αiC

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

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

K(u,v)=(uv+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(||uv||222σ2)
K(u,v)=exp(||uv||222σ2)=exp(||u||222σ2)exp(uvσ2)exp(||v||222σ2)

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

exp(uvσ2)=n=01n!(uvσ2)n=1+n=11n!unσn1n!vnσn=(1uσ12!(uσ)213!(uσ)31n!(uσ)n)ϕ~(u)(1vσ12!(vσ)213!(vσ)31n!(vσ)n)ϕ~(v)=ϕ~(u)ϕ~(v)

则:

ϕ(u)exp(||u||222σ2)ϕ~(u)

Ch4 - 无监督学习

PCA

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

maxww=1wCwC=1m1XX

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

S2=1m1cov(Y)=1m1(E{YY}Y2)=1m1wXXw

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

PCA 过程

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

  1. 去均值化 xix;

  2. C=1m1XXRn×n.

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

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

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

    满足 wiwj0i=j.

  5. yi=[w1xi,w2xi,,wkxi].

    满足 cov(wiX,wiX)=λi,并且 cov(wiX,wjX)=0.

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

转录组PCA

CCA

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

假设 xaRm,xbRn,对样本做零均值化,投影后 ya=waxa,yb=wbxb,其中 ya,ybR.

计算其相关系数:

ρ=cov(ya,yb)cov(ya)cov(yb)=E{yayb}E{ya2}E{yb2}=E{waxawbxb}E{waxawaxa}E{wbxbwbxb}

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

优化问题变为:

maxwa,wbwaCabwbwaCaawawbCbbwb

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

maxwaCabwbs.t.waCaawa=1,wbCbbwb=1

写出拉格朗日项:

L(wa,wb;λa,λb)=waCabwbλa2(waCaawa1)λb2(wbCbbwb1)

wawb 分别求导:

{Lwa=CabwbλaCaawa=0Lwb=CbawaλbCbbwb=0

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

{Cabwb=λCaawaCbawa=λCbbwb

因此,

wb=λCab1CaawaCbawa=λ2CbbCab1Caawawa=λ2Cba1CbbCab1CaawaCaa1CabCbb1Cbawa=λ2wa

矩阵 Caa1CabCbb1Cba 最大特征值对应的特征向量就是 wa.

EM 算法

高斯分布表达式:

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

高斯混合模型:

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

使用极大似然估计求解:

Θ=argmaxΘ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,ktxiiωi,kt(σk2)t+1=iωi,kt(xiμkt+1)2iω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)},其中 xiXRn,yiY={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=12log1emem
    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=argmaxkdk(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=argminkrk(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=1R1p(x|ω1)dx+λR1p(x|ω2)dxλε0=(1λε0)+R1[λp(x|ω2)p(x|ω1)]dx

代入拉格朗日极值条件:

Lt=λp(t|ω2)p(t|ω1)=0

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

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