矩阵求导公式
∂∂(aTx)x=a,∂∂(xTAx)x=(A+AT)xd(f(x))=tr((∂x∂f(x))Tdx)
统一使用列向量
K-means
优化目标:
n=1∑Nk=1∑Krnk∥xn−μk∥2
先初始化均值点, 把每个点根据就近原则分配给各个均值点, 在根据分配的点重新计算均值点。
Possible assignments: K!KN
Limitations:
Hierachical
先给每个点作为一个组, 每次选择最近两个组合并。需要对距离进行定义。
对距离的定义:
a∈A,b∈Bmind(a,b)a∈A,b∈Bmaxd(a,b)∣A∥B∣∑a∈A,b∈Bd(a,b)
Adaptive learning
Points come one by one
Competitive learning CL
先初始化均值点, 计算均值点对一个点的距离, 拉近winner和这个点的距离, 对winner进行奖励
d=∥x−mk∥2,k=1,…,Kpk:={1 if k=argminkd0 otherwise
mk=mk+ηpk×(x−mk)
CL和K-means的等价性在于 η=N1
Frequency sensitive
competitive learning FSCL
和CL的不同在于惩罚多次的winner, 新的问题在于K设置的不合适, 会导致K个均值点瓜分样本 点
pk,k′:=⎩⎨⎧1 if k=argminkd−γ if k′=argminkdk′=k0 otherwise
Rival penalized competitive learning RPCL
奖励winner,惩罚rival
从distance到distribution
GMM
dM(x,y)=(x−μ)TΣ−1(x−μ)N(x∣μ,Σ)=(2π)k∣Σ∣1exp(−21(x−μ)TΣ−1(x−μ))
Generative process, 从 z 到 x, z 是一个隐变量
p(zk=1)=πk,k=1∑Kπk=1p(x)=z=1∑p(z)p(x∣z)=k=1∑KπkN(x∣μk,Σk)
最大似然估计, 对GMM进行 log 后对 μ,Σ 求偏导
EM for GMM
-
初始化 μ,Σ,π
-
E-step, 计算每个点对于每个分布的概率
-
M-step, 重新计算 μ,Σ,π
-
估计似然函数, 判断是否收敛
和k-means的关系
比K-means更多考虑到混合权重、协方差矩阵和soft assignments
和K-mean一样可能陷入local optimal, 同时也不能给出最佳的K
介于k-means和 GMM的算法、优缺点
将GMM退化成EM
General EM
p(z∣x,θold )=p(x∣θold )p(z)p(x∣z)
- 固定住 p(z∣x,θold), 更新 θ
θnew Q(θ,θold )=argθmaxQ(θ,θold )=z∑p(z∣x,θold )lnp(x,z∣θ)
BMM证明
EM证明
方向一:
logq(x∣θ)=log(y∑p(y∣x)p(y∣x)q(x,y∣θ))≥y∑p(y∣x)log(p(y∣x)q(x,y∣θ))=F(p(y∣x),θ)=y∑p(y∣x)log(p(y∣x)q(y∣x,θ)q(x∣θ))=q(x∣θ)+y∑p(y∣x)log(p(y∣x)q(y∣x,θ))=q(x∣θ)−KL(p(y∣x)∥q(y∣x,θ))
我们要最大化它的下界 F(p(y∣x),θ), 即要使这个KL散度趋近于零 p(y∣x)=q(y∣x,θ)=p(x∣θ)p(x,y∣θ)
-
E-step: Fix θold , 最大化 F(p(y∣x),θold )
-
M-step: Fix P(y∣x), 最大化 ∑yp(y∣x)logq(x,y∣θ)
方向二:
让两个分布尽可能接近
p(x,y)=p(y∣x)p(x)q(x,y∣θ)=q(y∣θ)q(x∣y,θ)
KL(p(y∣x)p(x)∥q(y∣θ)q(x∣y,θ))=∫p(y∣x)p(x)logq(y∣θ)q(x∣y,θ)p(y∣x)p(x)
=∫p(y∣x)p(x)logq(x∣θ)q(y∣x,θ)p(y∣x)p(x)=∫p(x)KL(p(y∣x)∥q(y∣x,θ))−∫p(x)logq(x∣θ)+ const
E-step中 p(y∣x) 不好计算
M-step中 Q 的优化方程的导数不能直接等于 0
Maximum Likelihood (ML) learning
最大似然函数求偏导
θ^MLE=argθmaxP(D∣θ)
Bayesian learning, Maximum A Posterior
p(θ∣x)=p(x)p(x∣θ)p(θ)
最大后验概率
θ^MAP=argθmaxP(θ∣D)=argθmaxP(D∣θ)P(θ)
当 P(θ) 退化到unifrom时, 最大后验退化到最大似然
假设 p(x∣θ)=G(x∣μ,Σ),p(θ)=G(μ∣μ0,σ02I)
logp(μ∣x)=t=1∑N(−2klog2π−21∣Σ∣−21(xt−μ)TΣ−1(xt−μ))−2klog2π−21∣∣σ02I∣∣−21(μ−μ0)Tσ0−2I(μ−μ0)∂μ∂p(μ∣x)=t=1∑NΣ−1(xt−μ)+σ0−2I(μ−μ0)=Σ−1(Nxˉ−Nμ)+σ0−2I(μ−μ0)=0μ=Σ−1N+σ0−2IΣ−1Nxˉ+σ0−2μ0
当 N 趋近于无穷时, μ 趋近于 xˉ, 数据足够多的时候, 先验起的作用越来越小 当 σ0 趋近于 0 时, μ 趋近于 μ0
N1logp(θ∣x)∝N1t=1∑Nlogp(x∣θ)+N1logp(θ)∝E[logp(x∣θ)]+0 if N→∞
Model selection
K 个高斯模型 AIC: logp(XN∣θ^K)−dk,dk 是参数的个数
BIC: logp(XN∣θ^K)−21dklnN,N 是样本的个数
p(x∣θK,K)K=argKmaxp(x∣K)p(x∣K)=∫p(x∣θ,K)p(θ∣K)dθ=∫exp(logp(x∣θ,K)+logp(θ∣K))dθ
VBEM: 使部分 π 趋近于零
Principal Component Analysis (PCA)
N1t=1∑N∥∥xt−(xtTw)w∥∥2=N1t=1∑N(xtTxt−wT(xtxtT)w)=Σx−wTΣxw
对 Σx−wTΣxw−λ(wTw−1) 求导
Σxw=λw
From matrix factorization perspectives
Eigen-decomposition
Σx=UAUT
SVD
XXT=UDVTVDUT=UD2UT
EM algorithm for FA
每一个 x 对应一个隐变量 y, 将隐变量 y 再估计 x
随机采样 y, 随机产生 noise e, 用以产生 x,y 和 e 是独立的
y∼G(y∣0,Σy)e∼G(e∣0,σ2I)x=Ay+μ+eq(x∣y)=G(x∣Ay+μ,σ2I)q(x∣θ)=∫q(y)q(x∣y)dy=q(x∣μ,Σx)=G(x∣μx,Σx)μx=E[Ay+μ+e]=μΣx=E[(Ay+e)(Ay+e)T]=AΣyAT+σ2I
EM 算法
q(y)=G(y∣0,I)q(x∣y)=G(x∣Ay+μ,Σe)
q(y∣x)=q(y∣x,θ)=q(x∣θ)q(y)q(x∣y)=(2π)m+n∣Σe∣∣q(x∣θ)1exp(−21(yyT+(x−Ay−μ)Σe−1(x−Ay−μ)T))=(2π)m+n∣Σe∣∣q(x∣θ)1exp(yTATΣe−1Ay+yyT−2yTATΣe−1(x−μ)…)=exp(−21(y−μy∣x)Σy∣x−1(y−μy∣x)T)Σy∣x−1=ATΣe−1A+IΣy∣x−1μy∣x=ATΣe−1(x−μ)q(x∣θ)=G(x∣μx,ATΣe−1A+I)Σxy=E[(x−μx)(y−μy)T]=AyyT=A,Σyx=AT
- M-step, maxQ(qold (y∣x),θ), 更新 A,Σe
对 y 积分只用考虑含 y 的项
Q(qold (y∣x),θ)Ey∣x[yTATΣe−1Ay]=∫qold (y∣x)ln[G(y∣0,I)G(x∣Ay+μ,Σe)]dy=∫qold (y∣x)ln(2π)m+n∣Σe∣1(−21(yyT+(x−Ay−μ)Σe−1(x−Ay−μ)T))=(2π)m+n∣Σe∣q(x∣θ)1exp(yTATΣe−1Ay+yyT−2yTATΣe−1(x−μ)…)=tr(E[yyT(ATΣe−1A)])Ey∣x[(y−μy∣x)(y−μy∣x)T]=Ey∣x[yyT]−μy∣xμy∣xT=Σy∣x
对 A 求偏导
d(tr[yTATΣe−1Ay−2xΣe−1Ay])=tr(yTdATΣe−1Ay+yTATΣe−1dAy−2xΣe−1dAy)=tr(2yTATΣe−1dAy−2xΣe−1dAy)=tr(2E[yyT]ATΣe−1dA−2E[y]xΣe−1dA)
结果为
2Σe(−1)TAE[yyT]T−2Σe(−1)TxTE[y]T
Maximum likelihood FA implements PCA
最大似然函数
θmaxlog(t=1∏Np(xt∣θ)
Independent Component Analysis ICA
E[si2]=1
x=As=i=1∑Nasi=i=1∑Naλi−1λisi
往非高斯的方向走, 才能变得独立
y=wTx=wTAs=(wTA)s=zTs
高斯分布是最随机的, 熵最大
PCA vs ICA
都是找线性投影, 使投影完的信号各个方向都是独立的, PCA是二阶信号, ICA是更高阶的信号 PCA要求正交, ICA不要求正交
GMM可以表示任何一个非高斯分布
Least Square Estimation
Y=Xβ+εβminεTε=(Y−Xβ)T(Y−Xβ)=βTXTXβ−2YTXβ+…
对 β 求偏导
β=(XTX)−1XTY
和PCA的差别在于error方向只沿着 y 轴, PCA error和每个维度都有关系
Logistic Regression
将linear regression投影到 01 的区间
p(x)=p(Y=1∣x)=1+exp(β0+β1x)exp(β0+β1x)log1−p(x)p(x)=β0+β1x
当 β1=0,Y 和 X 无关, β1>0,Y=1 的概率和 X 大小正相关
p(x)=p(Y=k∣x)=1+∑i=1nexp(β0i+β1ix1+…+βpixp)exp(β0k+β1kx1+…+βpkxp)
Regression Regularization
L1 norm和L2 norm,介于两者中间的
J(θ)=2m1[t=1∑m(hθ(xi)−yi)+λj=1∑nθj2]
θj 尽可能趋近于零, 使某些 x 不起作用
λ 为零, 过拟合; λ 过大, 欠拟合
M-P neuron model
y=f(i=1∑nwixi−θ)
大于零为 1 , 否则为零
从离散到连续, 使用Sigmoid函数
相当于线性分类器, 但单个不能实现异或
Perceptron learning
wi+Δwi→wiΔwi=η(y−y^)xi
-
regression problem, 直接输出
-
mutiple binary classification, igmoid函数输出
-
mutiple-class, softmax函数输出
任意连续函数可以用一个两层(含一个隐藏层)的网络逼近,有足够多的神经元
用linear的作为 activate function, 最后只能构造linear函数
深度的好处:没有理论证明,帮助抽取更复杂的特征
Error propagation algorithm
先前向传播
ak=j∑wkjzj=j∑wkjh(aj)
计算 δk=yk−tk
反向传播
δj=h′(aj)k∑wkjδk
计算梯度 ∂wji∂En=δjzi
增加正则项, E~(w)=E(w)+21wTw
Feature Detection Theory
从简单特征逐渐组合到复杂特征, 深度神经网络, 不容易过拟合
CNN
convolution:相乘 + 相加, 用一个n乘 n 的矩阵kernel在图像中便移动边计算, 移动的步长 s1,s2, padding给外面加一圈 p1,p2 。
一张RGB图片有三个矩阵, channel, 每个channel一个kernel
pooling: average和maximum
activation layer:ReLU,LeakyReLU防止梯度消失
loss layer: L1、L2 loss, Cross-Entropy
regularization:L1、L2,dropout,一定概率忽略activation function防止过拟合,batch norm 缺点在于不能根据大体轮廓正确识别图像
ResNet architecture
在堆深度的同时, 有更新参数梯度消失问题, skip connections跳跃连接, F(x)+x
LSTM:选择性记忆,当前的和历史的有所选择,历史、输入、输出
Autoencoder (AE)
encode
F(X)→Z
decode
G(Z)→Z′
是否能重建
p(Z)→P(X)→P(Z)
但是 p(Z∣X) 难以计算, 我们用 Q(Z) 去近似, Q(Z∣X)=N(Z∣μX,ΣX)
∫Q(z∣x)logp(x)p(x∣z)p(z)
X→ encoder →μx,Σx→KL(μx,Σx∥0,I) sample z∼N(z∣μx,Σx))→ decoder →∥X−f(z)∥2 训练encoder有困难, z 是sample出来的, 对AE进行修改
sample ε→z=μx+Σx×ε,ε∼N(ε∣0,I)
test的时候用
sample z∼N(z∣0,I))→ decoder
Conditional VAE
Y+ sample z∼N(z∣0,I))→ decoder
Generative Adversarial Networks GAN
z→ Generator →G(z),x→ Discriminator →D(G(z)),D(x)
VAE vs GAN
VAE: easy to find z, 可解释的 P(X), 但会生成模糊的图片
GAN: hard to find z,P(X) 难以解释, 生成sharp图片
diffusion model: model structure很灵活, 计算很简单
在 T 步中每一步为 sample加上高斯noise
xt=1−βtxt−1+βtσ2
GNN:图神经网络, 每个节点的特征由周边的节点得出
SVM
两条直线 wTx+b=1∨−1 之间的margin m=∥w∥2,w 越小, m 越大, 即距离越大越好。
w,bmin21∥w∥2 s.t. yi(wTxi+b)≥1
w,bmin21∥w∥2+Ci∑ξi s.t. yi(wTxi+b)≥1−ξi,ξi≥0
Soft margin引入变量 ξ 以松弛约束
Lagrangian form, 引入 α 以及 β, 乘以约束项
Dual form: 对 w,b,ξ 分别求导, 可得 w=∑iαiyiφ(xi), 使用QP求解器求解, 对于kernel trick只能 用dual form求解
实际运算中, 可以将 b 作为一个维度吸收进 wTφ(x)=wˉTφ(xˉ)+b, 少掉一个约束项更加简化。
Association vs. Causation
Propensity score:对不同特点进行评分, 再从不同特点的样本中进行选择
Inverse probability weighting: 拉平特点的分布差异