国科大《模式识别》课程总结
《模式识别》课程总结
- 1、贝叶斯决策理论
- 1.1基本理论
- 1.2高斯分布:
- 1.3高斯密度下的判别函数:
- 1.4分类错误率:
- 1.5离散变量贝叶斯决策
- 2、参数估计
- 2.1最大似然估计
- 2.2贝叶斯估计
- 3、半参数方法
- 3.1期望最大化算法(EM)
- 3.2隐马尔可夫模型(HMM)
- 4、非参数方法
- 4.1帕森窗
- 4.2K近邻估计
- 4.3距离度量:
- 5、线性判别函数
- 5.1线性判别
- 5.2广义线性判别
- 5.3感知准则函数
- 5.4最小均方误差(MSE)准则函数
- 5.5多类线性判别函数
- 6、人工神经网络
- 6.1简要介绍
- 6.2前馈神经网络(感知机)
- 6.3径向基函数网络
- 6.4Hopfield网络
- 6.5玻尔兹曼机(BM)
- 6.6深度信念网络、深度玻尔兹曼机
- 6.7自组织映射(SOM)
- 6.8自编码器(Autoencoder)
- 7、特征提取
- 7.1 语音特征提取
- 7.2文本特征提取
- 7.3视觉特征提取
- 8、维数缩减
- 8.1线性维数缩减
- 8.1.1 主成分分析(PCA)
- 8.1.2 线性判别分析(LDA)
- 8.2非线性维数缩减
- 8.2.1 多维缩放(MDS)
- 8.2.2流形学习
- 9、特征选择
- 9.1评价判据
- 9.2子集搜索
- 10、模型选择
- 11、数据聚类
- 11.1 k-means聚类
- 11.2 高斯混合模型
- 11.3 分级聚类
- 11.4 谱聚类(K-means in spectrum space)
- 11.5 核聚类
- 12、支持向量机与核方法
- 13、决策树
判别模型:由数据直接学习决策函数或条件概率分布,输入X即输出Y。学习不同样本之间的区别。
生成模型:通过学习联合概率分布计算条件概率分布,学习到的是输入X与输出Y的关系。学习数据分布的内在规律。分为三种方法:1)参数法、2)半参数法、3)非参数法
1、贝叶斯决策理论
1.1基本理论
后验概率:
p(ωi∣x)=p(x∣ωi)p(ωi)p(x),∑i=1cp(ωi∣x)=1p(\omega_i |x)=\frac{p(x|\omega_i)p(\omega_i)}{p(x)},\quad \sum_{i=1}^cp(\omega_i|x)=1 p(ωi∣x)=p(x)p(x∣ωi)p(ωi),i=1∑cp(ωi∣x)=1
最小错误率决策:p(erroe∣x)=min[p(ω1∣x),p(ω2∣x)]p(erroe|x)=min[p(\omega_1|x),p(\omega_2|x)]p(erroe∣x)=min[p(ω1∣x),p(ω2∣x)],分类时基于最大后验概率。
最小风险决策:引入决策代价λij=λ(αi∣ωj)\lambda_{ij}=\lambda(\alpha_i|\omega_j)λij=λ(αi∣ωj),即将真实j类错分为i类的代价。此时条件风险为:
R(αi∣x)=∑j=1cλ(αi∣ωj)p(ωj∣x)R=∫R(α(x)∣x)p(x)dxR(\alpha_i|x)=\sum_{j=1}^c\lambda(\alpha_i|\omega_j)p(\omega_j|x)\\ R=\int R(\alpha(x)|x)p(x)dx R(αi∣x)=j=1∑cλ(αi∣ωj)p(ωj∣x)R=∫R(α(x)∣x)p(x)dx
对于二分类问题,有
R(α1∣x)=λ11p(ω1∣x)+λ12p(ω2∣x)R(α2∣x)=λ21p(ω1∣x)+λ22p(ω2∣x)R(\alpha_1|x)=\lambda_{11}p(\omega_1|x)+\lambda_{12}p(\omega_2|x)\\ R(\alpha_2|x)=\lambda_{21}p(\omega_1|x)+\lambda_{22}p(\omega_2|x) R(α1∣x)=λ11p(ω1∣x)+λ12p(ω2∣x)R(α2∣x)=λ21p(ω1∣x)+λ22p(ω2∣x)
最小错误率分类:对应于决策代价为0-1损失。此时
R(αi∣x)=∑j=1cλ(αi∣ωi)p(ωj∣x)=∑j≠ip(ωj∣x)=1−p(ωi∣x)\begin{aligned}R(\alpha_i|x)&=\sum_{j=1}^c\lambda(\alpha_i|\omega_i)p(\omega_j|x)\\ &=\sum_{j\ne i}p(\omega_j|x)\\ &=1-p(\omega_i|x) \end{aligned}R(αi∣x)=j=1∑cλ(αi∣ωi)p(ωj∣x)=j=i∑p(ωj∣x)=1−p(ωi∣x)带拒识的决策:决策代价为:
λ(αi∣ωj)={0i=jλsi≠jλrreject\begin{aligned}\lambda (\alpha_i|\omega_j)=\begin{cases} 0 & i=j \\ \lambda_s & i\ne j \\ \lambda_r & reject \end{cases}\end{aligned}λ(αi∣ωj)=⎩⎨⎧0λsλri=ji=jreject则条件风险为:
Ri(x)={λs[1−p(ωi∣x)]i=1,2...cλrreject\begin{aligned}R_i(\rm x)=\begin{cases} \lambda_s[1-p(\omega_i|\rm x)] & i=1,2...c \\ \lambda_r & reject \end{cases} \end{aligned}Ri(x)={λs[1−p(ωi∣x)]λri=1,2...creject 开放集分类贝叶斯决策: c个类中再加一个未知类别,假设条件概率p(x∣ωc+1)=ρp(\rm x|\omega_{c+1})=\rhop(x∣ωc+1)=ρ,是一个很小的数。
判别函数: argmaxgi(x)argmax \;g_i(x)argmaxgi(x),可以是最大化后验概率或最小化条件风险。
决策面: 特征空间中判别函数相等的点的合集。
类条件密度估计:
贝叶斯决策的核心是类条件概率密度的估计,可以分为参数法、半参数法和非参数法三类方法。
1、参数法:假定概率密度函数的形式为:p(x∣ωi)=p(x∣θi)p(\rm x|\omega_i)=p(\rm x|\theta_i)p(x∣ωi)=p(x∣θi),函数可以服从高斯分布、伽马分布、伯努利分布。参数估计方法有:最大似然估计、贝叶斯估计。
2、半参数法:近似任意概率分布,即高斯混合模型(GMM),估计方法为期望最大化(EM)。
3、非参数法:可以表示任意概率分布,没有函数形式,如帕森窗、K近邻。
1.2高斯分布:
在给定均值和方差的所有分布中,正态分布的熵最大,且根据中心极限定理,大量独立随机变量之和趋近于正态分布。
p(x)=12πσexp[−12(x−μσ)2]p(x)=\frac{1}{\sqrt{2\pi}\sigma}exp\left[-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2\right]p(x)=2πσ1exp[−21(σx−μ)2]多变量:
p(x)=1(2π)d/2∣Σ∣1/2exp[−12(x−μ)tΣ−1(x−μ)]p(x)=\frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}}exp\left[-\frac{1}{2}(x-\mu)^t\Sigma^{-1}(x-\mu)\right]p(x)=(2π)d/2∣Σ∣1/21exp[−21(x−μ)tΣ−1(x−μ)]如果xix_ixi与xjx_jxj相互独立,则协方差矩阵退化为对角矩阵。协方差矩阵刻画的等密度点轨迹是一个超椭球面,越靠近中心密度越大,且同一椭球面上的概率密度相等(马氏距离相等)。
协方差矩阵的性质:
1、做特征值分解:Σ=ΦΛΦT\Sigma=\Phi \Lambda \Phi^TΣ=ΦΛΦT,其中Φ\PhiΦ是单位正交矩阵,应用:PCA降维。
2、线性变换:
对角化;A=ΦA=\PhiA=Φ,AtΣA=ΛA^t\Sigma A=\LambdaAtΣA=Λ,将坐标轴旋转。
白化变换:Aw=ΦΛ−1/2A_w=\Phi \Lambda^{-1/2}Aw=ΦΛ−1/2,AwtΣAw=IA_w^t\Sigma A_w=IAwtΣAw=I,变换为单位矩阵。
1.3高斯密度下的判别函数:
gi(x)=lnp(x∣ωi)+lnp(ωi)p(x∣ωi)=1(2π)d/2∣Σi∣1/2exp[−12(x−μi)tΣi−1(x−μi)]gi(x)=−12(x−μi)tΣi−1(x−μi)−12ln2π−12ln∣Σi∣+lnp(ωi)\begin{aligned} g_i(\rm x)&=ln\;p(\rm x|\omega_i)+ln\;p(\omega_i)\\ p(\rm x|\omega_i)&=\frac{1}{(2\pi)^{d/2}|\Sigma_i|^{1/2}}exp\left[-\frac{1}{2}(x-\mu_i)^t\Sigma_i^{-1}(x-\mu_i)\right]\\ g_i(\rm x)&=-\frac{1}{2}(x-\mu_i)^t\Sigma_i^{-1}(x-\mu_i)-\frac{1}{2}ln\;2\pi-\frac{1}{2}ln\;|\Sigma_i|+ln\;p(\omega_i) \end{aligned}gi(x)p(x∣ωi)gi(x)=lnp(x∣ωi)+lnp(ωi)=(2π)d/2∣Σi∣1/21exp[−21(x−μi)tΣi−1(x−μi)]=−21(x−μi)tΣi−1(x−μi)−21ln2π−21ln∣Σi∣+lnp(ωi) 是一个二次函数,讨论以下类别:
1、当Σi=∣σ2∣\Sigma_i=|\sigma^2|Σi=∣σ2∣时,即方差相等,协方差为0,带入并忽略与类别无关项,得到线性判别函数:
gi(x)=−12σ2(−2μitx+μitμi)+lnp(ωi)=witx+big_i(\rm x)=-\frac{1}{2\sigma^2}(-2\mu_i^t\rm x+\mu_i^t\mu_i)+ln\;p(\omega_i)=w_i^tx+b_igi(x)=−2σ21(−2μitx+μitμi)+lnp(ωi)=witx+bi二分类决策面:gi(x)=gj(x)g_i(\rm x)=g_j(x)gi(x)=gj(x)可以推出wt(x−x0)=0\rm w^t(x-x_0)=0wt(x−x0)=0,其中w=μi−μj\rm w=\mu_i-\mu_jw=μi−μj,
x0=12(μi=μj)−σ2∣∣μi−μj∣∣2lnp(ωi)p(ωj)(μi−μj)\rm x_0=\frac{1}{2}(\mu_i=\mu_j)-\frac{\sigma^2}{||\mu_i-\mu_j||^2}ln\frac{p(\omega_i)}{p(\omega_j)}(\mu_i-\mu_j)x0=21(μi=μj)−∣∣μi−μj∣∣2σ2lnp(ωj)p(ωi)(μi−μj)可以看出当先验概率不同时,分界面向先验概率小的一侧移动。决策面与μi−μj\mu_i-\mu_jμi−μj垂直。
2、所有类别共享协方差矩阵Σi=Σ\Sigma_i=\SigmaΣi=Σ,此时决策函数变为:
gi(x)=−12(x−μi)tΣ−1(x−μi)+lnp(ωi)g_i(\rm x)=-\frac{1}{2}(x-\mu_i)^t\Sigma^{-1}(x-\mu_i)+ln\;p(\omega_i)gi(x)=−21(x−μi)tΣ−1(x−μi)+lnp(ωi)二分类决策面:gi(x)=gj(x)g_i(\rm x)=g_j(x)gi(x)=gj(x)可以推出wt(x−x0)=0\rm w^t(x-x_0)=0wt(x−x0)=0,其中w=Σ−1(μi−μj)\rm w=\Sigma^{-1} (\mu_i-\mu_j)w=Σ−1(μi−μj),
x0=12(μi=μj)−1(μi−μj)tΣ−1(μi−μj)lnp(ωi)p(ωj)(μi−μj)\rm x_0=\frac{1}{2}(\mu_i=\mu_j)-\frac{1}{(\mu_i-\mu_j)^t\Sigma^{-1}(\mu_i-\mu_j)}ln\frac{p(\omega_i)}{p(\omega_j)}(\mu_i-\mu_j)x0=21(μi=μj)−(μi−μj)tΣ−1(μi−μj)1lnp(ωj)p(ωi)(μi−μj)可以看出当先验概率不同时,分界面向先验概率小的一侧移动。
3、Σ\SigmaΣ为任意对称矩阵。此时gi(x)=xtWix+witx+ωi0g_i(\rm x)=x^tW_ix+w_i^tx+\omega_{i0}gi(x)=xtWix+witx+ωi0,其中有Wi=−12Σi−1W_i=-\frac{1}{2}\Sigma_i^{-1}Wi=−21Σi−1,wi=Σi−1μiw_i=\Sigma_i^{-1}\mu_iwi=Σi−1μi,ωi0=−12μitΣ−1μi−12ln∣Σi∣+lnp(ωi)\rm \omega_{i0}=-\frac{1}{2}\mu_i^t\Sigma^{-1}\mu_i-\frac{1}{2}ln\;|\Sigma_i|+ln\;p(\omega_i)ωi0=−21μitΣ−1μi−21ln∣Σi∣+lnp(ωi),其二类决策面是一个超曲面。
1.4分类错误率:
2类的情况
P(error)=P(x∈R2,ω1)+P(x∈R1,ω2)=P(x∈R2∣ω1)P(ω1)+P(x∈R1∣ω2)P(ω2)=∫R2p(x∣ω1)P(ω1)dx+∫R1p(x∣ω2)P(ω2)dx\begin{aligned}P(error)&=P(x\in R_2,\omega_1)+P(x\in R_1,\omega_2)\\ &=P(x\in R_2|\omega_1)P(\omega_1)+P(x\in R_1|\omega_2)P(\omega_2)\\ &=\int_{R_2}p(x|\omega_1)P(\omega_1)dx+\int_{R_1}p(x|\omega_2)P(\omega_2)dx \end{aligned}P(error)=P(x∈R2,ω1)+P(x∈R1,ω2)=P(x∈R2∣ω1)P(ω1)+P(x∈R1∣ω2)P(ω2)=∫R2p(x∣ω1)P(ω1)dx+∫R1p(x∣ω2)P(ω2)dx其中∫R2\int_{R_2}∫R2表示为对第二类决策区域做积分,见下图:
当似然度相等时,即联合概率相等时,分类错误率最小。推广到多类:
P(error)=∑i=1c∫Rip(x∣ωi)P(ωi)dxP(error)=\rm \sum_{i=1}^c\int_{R_i}p(x|\omega_i)P(\omega_i)dxP(error)=i=1∑c∫Rip(x∣ωi)P(ωi)dx(0-1loss)时最大后验概率决策的错误率:
P(correct)=∫xmaxip(x∣ωi)P(ωi)dx=∫xmaxiP(ωi∣x)p(x)dxP(error)=∫x[1−maxiP(ωi∣x)]p(x)dx\begin{aligned} P(correct)&=\int_x\underset{i}{max} \;p(x|\omega_i)P(\omega_i)dx\\ &=\int_x\underset{i}{max} \;P(\omega_i|x)p(x)dx\\ P(error)&=\int_x\left[1-\underset{i}{max} \;P(\omega_i|x)\right]p(x)dx \end{aligned}P(correct)P(error)=∫ximaxp(x∣ωi)P(ωi)dx=∫ximaxP(ωi∣x)p(x)dx=∫x[1−imaxP(ωi∣x)]p(x)dx贝叶斯分类器是最优的分类器,但通常概率密度、条件风险无法准确估计。
1.5离散变量贝叶斯决策
独立二值特征;
p(x)=p(x1x2...xd)=∏i=1dp(xi),xi=0or1pi=Prob(xi=1∣ω1),qi=Prob(xi=1∣ω2)p(x)=p(x_1x_2...x_d)=\prod_{i=1}^{d}p(x_i),\quad x_i=0\,or\,1 \\ p_i=Prob(x_i=1|\omega_1),\quad q_i=Prob(x_i=1|\omega_2)p(x)=p(x1x2...xd)=i=1∏dp(xi),xi=0or1pi=Prob(xi=1∣ω1),qi=Prob(xi=1∣ω2)则:
P(x∣ω1)=∏i=1dpixi(1−pi)1−xiP(x∣ω2)=∏i=1dqixi(1−qi)1−xiP(x|\omega_1)=\prod_{i=1}^{d}p_i^{x_i}(1-p_i)^{1-x_i}\\ P(x|\omega_2)=\prod_{i=1}^{d}q_i^{x_i}(1-q_i)^{1-x_i}P(x∣ω1)=i=1∏dpixi(1−pi)1−xiP(x∣ω2)=i=1∏dqixi(1−qi)1−xi此时判别函数为
g(x)=logp(x∣ω1)P(ω1)p(x∣ω2)P(ω2)\rm g(x)=log\frac{p(x|\omega_1)P(\omega_1)}{p(x|\omega_2)P(\omega_2)} g(x)=logp(x∣ω2)P(ω2)p(x∣ω1)P(ω1)展开后是一个线性判别函数g(x)=∑i=1dωixi+ω0\rm g(x)=\sum_{i=1}^d\omega_ix_i+\omega_0g(x)=∑i=1dωixi+ω0,其中ωi=lnpi(1−qi)qi(1−pi)i=1,...,d\omega_i=ln\frac{p_i(1-q_i)}{q_i(1-p_i)}\,i=1,...,dωi=lnqi(1−pi)pi(1−qi)i=1,...,d可以看出,当pi=qip_i=q_ipi=qi时,两类在第i个特征维度上没有区分性。
2、参数估计
两个方法:
1)最大似然估计:假设参数为一个确定值,似然度最大时为最优估计。
2)贝叶斯估计:假设参数为随机变量,估计其分布。
2.1最大似然估计
p(D∣θ)=∏k=1np(xk∣θ)⟷∑k=1nlnp(xk∣θ)maxθp(D∣θ)⟷▽θp(D∣θ)=0p(D|\theta)=\prod_{k=1}^{n}p(x_k|\theta)\longleftrightarrow \sum_{k=1}^nln\;p(x_k|\theta)\\ \underset{\theta}{max}p(D|\theta)\longleftrightarrow \bigtriangledown_\theta p(D|\theta)=0 p(D∣θ)=k=1∏np(xk∣θ)⟷k=1∑nlnp(xk∣θ)θmaxp(D∣θ)⟷▽θp(D∣θ)=0 均值和方差未知的高斯参数估计: θ1=μ,θ2=σ2\theta_1=\mu,\; \theta_2=\sigma^2θ1=μ,θ2=σ2:
lnp(xk∣θ)=−12ln(2πθ2)−12θ2(xk−θ1)2▽θlnp(xk∣θ)=[1θ2(xk−θ1)−12θ2+(xk−θ1)22θ22]=[00]ln\;p(x_k|\theta)=-\frac{1}{2}ln(2\pi\theta_2)-\frac{1}{2\theta_2}(x_k-\theta_1)^2\\ \bigtriangledown_\theta\;ln\;p(x_k|\theta)=\begin{bmatrix} \frac{1}{\theta_2}(x_k-\theta_1)\\ -\frac{1}{2\theta_2}+\frac{(x_k-\theta_1)^2}{2\theta_2^2} \end{bmatrix}=\begin{bmatrix} 0\\ 0 \end{bmatrix} lnp(xk∣θ)=−21ln(2πθ2)−2θ21(xk−θ1)2▽θlnp(xk∣θ)=[θ21(xk−θ1)−2θ21+2θ22(xk−θ1)2]=[00]可以解得:
μ^=1n∑k=1nxkσ^2=1n∑k=1n(xk−μ^)2\hat \mu=\frac{1}{n}\sum_{k=1}^{n}x_k\\ \hat \sigma^2=\frac{1}{n}\sum_{k=1}^n(x_k-\hat \mu)^2 μ^=n1k=1∑nxkσ^2=n1k=1∑n(xk−μ^)2推广到高维情况时:
μ^=1n∑k=1nxkΣ^=1n∑k=1n(xk−μ^)(xk−μ^)t\hat \mu=\frac{1}{n}\sum_{k=1}^{n}x_k\\ \hat \Sigma=\frac{1}{n}\sum_{k=1}^n(x_k-\hat \mu)(x_k-\hat \mu)^t μ^=n1k=1∑nxkΣ^=n1k=1∑n(xk−μ^)(xk−μ^)t值得注意的是,最大似然估计是有偏估计。
2.2贝叶斯估计
基本条件:知道密度函数p(x∣θ)p(x|\theta)p(x∣θ)的形式,知道先验参数分布p(θ)p(\theta)p(θ)(如果不知道,可以假设为高斯分布),拥有n个样本的数据集D,样本相互独立。
步骤:估计后验参数分布:
p(θ∣D)=p(D∣θ)p(θ)∫p(D∣θ)p(θ)dθp(D∣θ)=∏k=1np(xk∣θ)p(\theta|D)=\frac{p(D|\theta)p(\theta)}{\int p(D|\theta)p(\theta)d\theta}\quad p(D|\theta)=\prod_{k=1}^{n}p(x_k|\theta) p(θ∣D)=∫p(D∣θ)p(θ)dθp(D∣θ)p(θ)p(D∣θ)=k=1∏np(xk∣θ)估计后验数据分布:
p(x∣D)=∫p(x,θ∣D)dθ=∫p(x∣θ)p(θ∣D)dθp(x|D)=\int p(x,\theta|D)d\theta=\int p(x|\theta)p(\theta|D)d\thetap(x∣D)=∫p(x,θ∣D)dθ=∫p(x∣θ)p(θ∣D)dθ 例子: 在一维高斯分布下估计p(μ∣D)p(\mu|D)p(μ∣D):
假设参数条件下的密度函数服从高斯分布p(x∣μ)∼N(μ,σ2)p(x|\mu)\sim N(\mu, \sigma^2)p(x∣μ)∼N(μ,σ2)。
假设参数也是服从于高斯分布p(μ)∼N(μ0,σ02)p(\mu)\sim N(\mu_0, \sigma_0^2)p(μ)∼N(μ0,σ02)
则参数的后验分布为:
p(μ∣D)=p(D∣μ)p(μ)∫p(D∣μ)p(μ)dμ=α∏k=1np(xk∣μ)p(μ)p(\mu|D)=\frac{p(D|\mu)p(\mu)}{\int p(D|\mu)p(\mu)d\mu}=\alpha \prod_{k=1}^{n}p(x_k|\mu)p(\mu) p(μ∣D)=∫p(D∣μ)p(μ)dμp(D∣μ)p(μ)=αk=1∏np(xk∣μ)p(μ)将高斯分布方程带入可以得到:
p(μ∣D)=α′′exp{−12[(nσ2+1σ02)μ2−2(1σ2∑k=1nxk+μ0σo2)μ]}p(\mu|D)=\alpha'' exp\left\{-\frac{1}{2}\left[(\frac{n}{\sigma^2}+\frac{1}{\sigma_0^2})\mu^2-2(\frac{1}{\sigma^2}\sum_{k=1}^n x_k+\frac{\mu_0}{\sigma_o^2})\mu \right]\right\}p(μ∣D)=α′′exp{−21[(σ2n+σ021)μ2−2(σ21k=1∑nxk+σo2μ0)μ]} 可以看到其先验分布和后验分布是同类型的分布,即共轭先验。将其改为标准高斯分布形式,即:
p(μ∣D)=12πσnexp[−12(μ−μnσn)2]p(\mu|D)=\frac{1}{\sqrt{2\pi}\sigma_n}exp\left[-\frac{1}{2}(\frac{\mu-\mu_n}{\sigma_n})^2\right]p(μ∣D)=2πσn1exp[−21(σnμ−μn)2]其中:
σn2=σ02σ2nσ02+σ2μn=nσ02nσ02+σ2μ^n+σ2nσ02+σ2μ0\sigma_n^2=\frac{\sigma_0^2\sigma^2}{n\sigma_0^2+\sigma^2}\qquad \mu_n=\frac{n\sigma_0^2}{n\sigma_0^2+\sigma^2}\hat \mu_n+\frac{\sigma^2}{n\sigma_0^2+\sigma^2}\mu_0σn2=nσ02+σ2σ02σ2μn=nσ02+σ2nσ02μ^n+nσ02+σ2σ2μ0 μ^n\hat \mu_nμ^n是最大似然估计。可以看出,当n增大时,μn⟶μ^n,σn2⟶σ/n\mu_n\longrightarrow \hat \mu_n,\sigma_n^2\longrightarrow \sigma/nμn⟶μ^n,σn2⟶σ/n。
后验数据分布:
p(x∣D)=∫p(x∣μ)p(μ∣D)dμ=12πσσnexp[−12(x−μn)2σ2+σn2]f(σ,σn),f(σ,σn)=C\begin{aligned}p(x|D)&=\int p(x|\mu)p(\mu|D)d\mu\\ &=\frac{1}{2\pi \sigma\sigma_n}exp\left[-\frac{1}{2}\frac{(x-\mu_n)^2}{\sigma^2+\sigma_n^2}\right]f(\sigma,\sigma_n),\;f(\sigma,\sigma_n)=C \end{aligned}p(x∣D)=∫p(x∣μ)p(μ∣D)dμ=2πσσn1exp[−21σ2+σn2(x−μn)2]f(σ,σn),f(σ,σn)=C即p(x∣D)∼N(μn,σ2+σn2)p(x|D)\sim N(\mu_n,\sigma^2+\sigma_n^2)p(x∣D)∼N(μn,σ2+σn2),如果是最大似然估计,则p(x∣D)∼N(μ^n,σ2)p(x|D)\sim N(\hat \mu_n,\sigma^2)p(x∣D)∼N(μ^n,σ2)
递归贝叶斯学习: 增加一个样本时参数分布更新一次
p(θ∣Dn)=p(Dn,θ)∫p(Dn,θ)dθ=p(xn∣θ)p(Dn−1,θ)∫p(xn∣θ)p(Dn−1,θ)dθ=p(xn∣θ)p(θ∣Dn−1)p(Dn−1)∫p(xn∣θ)p(θ∣Dn−1)p(Dn−1)dθ=p(xn∣θ)p(θ∣Dn−1)∫p(xn∣θ)p(θ∣Dn−1)dθp(θ∣D0)=p(θ)∝p(xn∣θ)p(θ∣Dn−1)\begin{aligned} p(\theta|D^n)&=\frac{p(D^n,\theta)}{\int p(D^n,\theta)d\theta}\\ &=\frac{p(x_n|\theta)p(D^{n-1},\theta)}{\int p(x_n|\theta)p(D^{n-1},\theta)d\theta}\\ &=\frac{p(x_n|\theta)p(\theta|D^{n-1})p(D^{n-1})}{\int p(x_n|\theta)p(\theta|D^{n-1})p(D^{n-1})d\theta}\\ &=\frac{p(x_n|\theta)p(\theta|D^{n-1})}{\int p(x_n|\theta)p(\theta|D^{n-1})d\theta}\qquad p(\theta|D^0)=p(\theta)\\ &\propto p(x_n|\theta)p(\theta|D^{n-1}) \end{aligned}p(θ∣Dn)=∫p(Dn,θ)dθp(Dn,θ)=∫p(xn∣θ)p(Dn−1,θ)dθp(xn∣θ)p(Dn−1,θ)=∫p(xn∣θ)p(θ∣Dn−1)p(Dn−1)dθp(xn∣θ)p(θ∣Dn−1)p(Dn−1)=∫p(xn∣θ)p(θ∣Dn−1)dθp(xn∣θ)p(θ∣Dn−1)p(θ∣D0)=p(θ)∝p(xn∣θ)p(θ∣Dn−1)
3、半参数方法
特征维数问题: 增加特征维数优点:可以使得 样本差异增大,区分性更好;缺点:计算、存储复杂性高、模型泛化性能差。根据二类高斯分布可以得出结论:特征维度越大、均值差越大、方差越小,则错误率越小。
但特征维度越高,需要更多的样本来减小误差。
克服过拟合的方法:
1)特征降维:特征变换、特征选择
2)参数共享/平滑:共享协方差矩阵、收缩。
3.1期望最大化算法(EM)
样本中有隐藏变量或缺失样本,如果高斯混合模型中的权值π\piπ和参数μ,Σ\mu,\Sigmaμ,Σ等。
E-step:根据已知参数对隐藏变量求期望。
M-step:最大化期望,求得参数的更新值。
1、选择一个初始值Θ0\Theta ^0Θ0
2、Do
\qquadE-step:求p(Z∣X,Θold)p(Z|X,\Theta ^{old})p(Z∣X,Θold),计算Q(Θ,Θold)=∑Z[logp(X,Z∣Θ)]p(Z∣X,Θold)Q(\Theta,\Theta^{old})=\sum_{Z}[log\;p(X,Z|\Theta)]p(Z|X,\Theta^{old})Q(Θ,Θold)=∑Z[logp(X,Z∣Θ)]p(Z∣X,Θold)
\qquadM-step:更新参数Θnew=argmaxΘQ(Θ,Θold)\Theta^{new}=\underset{\Theta}{argmax} Q(\Theta,\Theta^{old})Θnew=ΘargmaxQ(Θ,Θold)
\qquad判断条件终止
3、End
3.2隐马尔可夫模型(HMM)
观察序列:O=O1O2...OT\textbf{O}=O_1O_2...O_TO=O1O2...OT,Ot∈{v1,...vM}O_t\in \{v_1,...v_M\}Ot∈{v1,...vM},v为观测值。
状态序列:q=q1q2...qT\textbf{q}=q_1q_2...q_Tq=q1q2...qT,qt∈{S1,...SN}q_t\in \{S_1,...S_N\}qt∈{S1,...SN},S为状态。
目标:P(q∣O)P(\textbf{q}|\textbf{O})P(q∣O)
对于一阶马尔可夫链,有P(q1q2...qT)=P(q1)P(q2∣q1)...P(qT∣qT−1)P(q_1q_2...q_T)=P(q_1)P(q_2|q_1)...P(q_T|q_{T-1})P(q1q2...qT)=P(q1)P(q2∣q1)...P(qT∣qT−1)
转移概率:aij=P(qt=Si∣qt+1=Sj)a_{ij}=P(q_t=S_i|q_{t+1}=S_j)aij=P(qt=Si∣qt+1=Sj)
释放概率:bj(k)=P(Ot=vk∣qt=Sj)b_j(k)=P(O_t=v_k|q_t=S_j)bj(k)=P(Ot=vk∣qt=Sj),表示在t时刻状态为SjS_jSj的条件下,观察值为vkv_kvk的概率。
初始分布:π={πi}\pi=\{ \pi_i \}π={πi},πi=P(q1=Si)\pi_i=P(q_1=S_i)πi=P(q1=Si)
模型参数集合:λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π),分别为转移概率矩阵、释放概率矩阵、初始分布。
一、评估
P(O∣λ)=∑allQP(O∣Q,λ)P(Q∣λ)=∑q1,q2...qTπq1bq1(O1)aq1q2bq2(O2)...aqT−1qTbqT(OT)\begin{aligned} P(O|\lambda)&=\sum_{all\;Q}P(O|Q,\lambda)P(Q|\lambda)\\ &=\sum_{q_1,q_2...q_T}\pi_{q_1}b_{q_1}(O_1)a_{q_1q_2}b_{q_2}(O_2)...a_{q_{T-1}q_T}b_{q_T}(O_T) \end{aligned}P(O∣λ)=allQ∑P(O∣Q,λ)P(Q∣λ)=q1,q2...qT∑πq1bq1(O1)aq1q2bq2(O2)...aqT−1qTbqT(OT)算法复杂度太高,此时可以利用前向算法或后向算法:
二、解码
维特比算法:
三、训练
BW算法:
4、非参数方法
非参数方法主要是概率密度函数的形式未知。
局部特征空间中一定样本的比率:P=∫Rp(x′)dx′≃p(x)V\rm P=\int_R p(x')dx'\simeq p(x)VP=∫Rp(x′)dx′≃p(x)V,p(x)=≃k/nV\rm p(x)=\simeq\frac{k/n}{V}p(x)=≃Vk/n,其中n为样本总数,V为区域体积,k为区域内样本个数。PPP为概率,p(x)\rm p(x)p(x)为概率密度。
非参数密度估计方法:
1)parzen window:固定区域体积V,k变换。
2)k-nearest neighbor:固定局部样本数k,V变化。
4.1帕森窗
以x为中心,体积为VnV_nVn的局部区域内样本数为:(xix_ixi是否在以x为中心的窗函数内)
kn=∑i=1nφ(x−xihn)k_n=\sum_{i=1}^n\varphi \left(\frac{x-x_i}{h_n}\right)kn=i=1∑nφ(hnx−xi)概率密度估计
pn(x)=1nVn∑i=1nφ(x−xihn)p_n(x)=\frac{1}{nV_n}\sum_{i=1}^n\varphi \left(\frac{x-x_i}{h_n}\right)pn(x)=nVn1i=1∑nφ(hnx−xi)其中窗函数需要满足要求φ(x)≥0,∫φ(u)du=1\varphi(x)\ge 0,\quad\int\varphi(u)du=1φ(x)≥0,∫φ(u)du=1;hnh_nhn决定窗口的宽度。
当窗口宽度过小时,会导致过拟合,当窗口宽度过大时,导致欠拟合 。选取原则:(1)密度越大,窗口越小,如Vn=V1/nV_n=V_1/\sqrt nVn=V1/n;(2)随x变化h(x)h(x)h(x);(3)交叉验证。设置多个候选值进行交叉验证。
4.2K近邻估计
pn(x)p_n(x)pn(x)收敛到p(x)p(x)p(x)的条件:limn→∞kn=∞andlimn→∞kn/n=0\lim_{n \to \infty} k_n=\infty \;and\;\lim_{n \to \infty}k_n/n=0limn→∞kn=∞andlimn→∞kn/n=0
一维例子:
当k和n确定时,窗口越小,概率越大。
KNN分类的后验概率:
设k=∑i=1ckik=\sum_{i=1}^ck_ik=∑i=1cki表示所有c个类别,窗口中每个类别样本个数为kik_iki。
Pn(ωi∣x)=pn(x,ωi)∑i=1cpn(x,ωi)=kikpn(x,ωi)=ki/nVP_n(\omega_i|x)=\frac{p_n(x,\omega_i)}{\sum_{i=1}^cp_n(x,\omega_i)}=\frac{k_i}{k}\\ p_n(x,\omega_i)=\frac{k_i/n}{V}Pn(ωi∣x)=∑i=1cpn(x,ωi)pn(x,ωi)=kkipn(x,ωi)=Vki/n当达到收敛条件时,分类错误率趋近于贝叶斯分类器。
最近邻分类器的错误率:
K近邻搜索的三种加速策略:
(1)部分距离:如做最近邻分类时,每个样本为d维,但比较时如果计算到前r维的差的平方和已经大于最小距离则不再进行计算。Dr2(a,b)=∑i=1r(ai−bi)2,(r<d)D_r^2(a,b)=\sum_{i=1}^r(a_i-b_i)^2,\quad(r<d)Dr2(a,b)=∑i=1r(ai−bi)2,(r<d)。
(2)预结构化:分层搜索的思想,比如对于最近邻分类器,可以先将训练样本进行聚类,取每个聚类中心作为代表点,每次先计算测试样本与代表点之间的距离,找到最小的距离,然后在该聚类中寻找距离最近的训练样本点。这样做有一定风险,因此在实际操作中常常找最小的k个测试样本与代表点距离。
(3)编辑:将周围全是同一类样本的训练样本点去掉,以减小计算量。
(4)branch-and-bound、k-d tree等算法。
K近邻分类器的作用:
(1)做实际分类器
(2)作为参照分类器(当训练样本比较多时,其分类性能很好,但计算量巨大)
4.3距离度量:
距离度量(metric)的性质:非负性、对称性、自反性、满足三角不等式。
Minkowski距离:Lk(a,b)=(∑i=1d∣ai=bi∣k)1/kL_k(a,b)=\left(\sum_{i=1}^d|a_i=b_i|^k\right)^{1/k}Lk(a,b)=(∑i=1d∣ai=bi∣k)1/k
曼哈顿据距离、欧几里得距离、切比雪夫距离…
二值特征的Tanimoto metric:谷本度量。
DTanimoto(S1,S2)=n1+n2−2n12n1+n2−n12D_{Tanimoto}(S_1,S_2)=\frac{n_1+n_2-2n_{12}}{n_1+n_2-n_{12}}DTanimoto(S1,S2)=n1+n2−n12n1+n2−2n12其中n1n_1n1、n2n_2n2分别为集合S1S_1S1、S2S_2S2的元素个数。n12n_{12}n12是交集元素个数。
切线距离Tangent distance:
度量学习:根据不同的任务自主学习不同的距离度量。有线性变换和非线性变换两种模式。
5、线性判别函数
线性判别函数假定判别函数的参数已知,直接从样本估计判别函数的参数。
模式分类的三种途径:
(1)估计类条件概率密度函数(贝叶斯决策)。
(2)直接估计后验概率(KNN)。
(3)直接计算判别函数(支持向量机)。
5.1线性判别
二分类线性判别函数:
g(x)=wTx+w0\rm g(x)=w^Tx+w_0g(x)=wTx+w0 g(x)=0g(x)=0g(x)=0为决策面。
x=xp+rw∣∣w∣∣g(xp)=0g(x)=wT(xp+rw∣∣w∣∣)+wo=r∣∣w∣∣r=g(x)∣∣w∣∣\begin {aligned} &x=x_p+r\frac{w}{||w||}\\ &g(x_p)=0\\ &g(x)=w^T(x_p+r\frac{w}{||w||})+w_o=r||w||\\ &r=\frac{g(x)}{||w||} \end{aligned}x=xp+r∣∣w∣∣wg(xp)=0g(x)=wT(xp+r∣∣w∣∣w)+wo=r∣∣w∣∣r=∣∣w∣∣g(x)多分类:
(1)one-vs-all:c个分类器
(2)one-vs-one:从c(c+1)/2个分类器
(3)逐步一对多:类似树形结构
(4)线性机器:上述分类方法会存在不确定性区域,线性机器,对i≠ji\ne ji=j,如果gi(x)>gj(x)g_i(x)>g_j(x)gi(x)>gj(x),则分为第i类。
线性决策面的优点:决策区域是凸的,且决策区域是单连通的,便于分析,但不利于复杂数据的分类。
5.2广义线性判别
将样本x通过非线性映射为y,在新的数据空间可以应用线性判别函数。
g(x)=∑i=1d^aiyi(x)=aTyg(x)=\sum_{i=1}^{\hat d}a_iy_i(x)=\rm a_Tyg(x)=i=1∑d^aiyi(x)=aTy当新空间的维数足够高时,g(x)g(x)g(x)可以逼近任意线性判别函数,但会带来维数灾难。
线性判别函数齐次增广表示:g(x)=wTx+wo=aTy\rm g(x)=w^Tx+w_o=a^Tyg(x)=wTx+wo=aTy
5.3感知准则函数
线性可分:对于y∈ω1y\in \omega_1y∈ω1,均有aTy>0a^Ty>0aTy>0;对于y∈ω2y\in \omega_2y∈ω2,均有aTy<0a^Ty<0aTy<0。
样本规范化:将属于ω2\omega_2ω2的样本yyy变为 −y-y−y,则得到aTy>0a^Ty>0aTy>0。
规范化增广样本:先增广齐次化再规范化。
准则函数:
Jp(a)=∑y∈Y(−aTy)J_p(a)=\sum_{y\in Y}(-a^Ty)Jp(a)=y∈Y∑(−aTy)其中YYY为错分样本集合。Jp(a)J_p(a)Jp(a)总是大于零。因此优化目标是:minaJp(a)\underset{a}{min} \;J_p(a)aminJp(a)
∂Jp(a)∂a=−∑y∈Yyak+1=ak+η∑y∈Yy\begin{aligned} \frac{\partial J_p(a)}{\partial a} =-\sum_{y\in Y}y\\ a_{k+1}=a_k+\eta \sum_{y\in Y}y \end{aligned}∂a∂Jp(a)=−y∈Y∑yak+1=ak+ηy∈Y∑y 其他学习准则:
线性准则:
Jp(a)=∑y∈Y(−aTy)J_p(a)=\sum_{y\in Y}(-a^Ty)Jp(a)=y∈Y∑(−aTy)平方准则:
Jq(a)=∑y∈Y(aTy)2J_q(a)=\sum_{y\in Y}(a^Ty)^2Jq(a)=y∈Y∑(aTy)2松弛准则:
Jr(a)=12∑y∈Y(aTy−b)2∣∣y∣∣2J_r(a)=\frac{1}{2}\sum_{y\in Y}\frac{(a^Ty-b)^2}{||y||^2}Jr(a)=21y∈Y∑∣∣y∣∣2(aTy−b)2其中YYY为aTy<ba^Ty<baTy<b的集合。线性准则是分段线性。故梯度不连续;平方准则过于光滑,收敛速度慢,且易受到长样本的影响。松弛方法的训练过程为:
∂Jp(a)∂a=∑y∈YaTy−b∣∣y∣∣yak+1=ak−ηk∑y∈YaTy−b∣∣y∣∣y\begin{aligned} \frac{\partial J_p(a)}{\partial a} =\sum_{y\in Y}\frac{a^Ty-b}{||y||}y\\ a_{k+1}=a_k-\eta_k \sum_{y\in Y}\frac{a^Ty-b}{||y||}y \end{aligned}∂a∂Jp(a)=y∈Y∑∣∣y∣∣aTy−byak+1=ak−ηky∈Y∑∣∣y∣∣aTy−by
5.4最小均方误差(MSE)准则函数
将aTyi>0a^Ty_i>0aTyi>0改写为aTyi=bi>0a^Ty_i=b_i>0aTyi=bi>0,由此可以得到一个线性方程组:Ya=b\rm Ya=bYa=b,若Y\rm YY可逆,则a=Y−1b\rm a=Y^{-1}ba=Y−1b,但通常情况YYY不是方阵,即样本维度与样本个数不相等,因此我们定义误差向量e=Ya−b\rm e=Ya-be=Ya−b,则得到平方误差准则函数:
Js(a)=∣∣e∣∣2=∣∣Ya−b∣∣2=∑i=1n(aTyi−bi)2J_s(a)=||e||^2=||Ya-b||^2=\sum_{i=1}^n(a^Ty_i-b_i)^2Js(a)=∣∣e∣∣2=∣∣Ya−b∣∣2=i=1∑n(aTyi−bi)2训练过程:
∂Js(a)∂a=2YT(Ya−b)=0\frac{\partial J_s(a)}{\partial a}=2Y^T(Ya-b) =0∂a∂Js(a)=2YT(Ya−b)=0 a=(YTY)−1YTb=Y+ba=(Y^TY)^{-1}Y^Tb=Y^+ba=(YTY)−1YTb=Y+b
可以通过上式直接求解,在应用中防止矩阵不可逆加入正则化技术:Y+≈(YTY+εI)−1YTY^+\approx (Y^TY+\varepsilon I)^{-1}Y^TY+≈(YTY+εI)−1YT。或者通过梯度下降的方法求解。
Widrow_Hoff方法:即序列最小平方更新方法ak+1=ak+η(bk−(ak)Tyk)yka_{k+1}=a_k+\eta(b_k-(a_k)^Ty^k)y^kak+1=ak+η(bk−(ak)Tyk)yk,只考虑单个样本对误差的贡献。通常情况下迭代会无穷次进行,因为W-H方法寻求更正不相等的情况(ak)Tyk≠bk(a_k)^Ty^k\ne b_k(ak)Tyk=bk,在实际中几乎不可逆,因此在训练过程中通常会让学习率随迭代次数减小。
如上图,MSE准则函数找到的超平面会有这样的问题,即黑线和红线的样本到超平面的距离平方和相同,从而找到一个错误解。
Ho-Kashyap方法:假设训练样本线性可分,对于所有样本有aTyi>0a^Ty_i>0aTyi>0,即一定存在一个a和b使得Ya=b>0Ya=b>0Ya=b>0。但是事先并不知道b,因此将MSE准则函数变为:
Js(a,b)=∣∣Ya−b∣∣2,b>0J_s(a,b)=||Ya-b||^2,\;b>0Js(a,b)=∣∣Ya−b∣∣2,b>0求梯度得:
∂Js(a,b)∂a=2YT(Ya−b),∂Js(a,b)∂b=−2(Ya−b)\frac{\partial J_s(a,b)}{\partial a} =2Y^T(Ya-b),\;\frac{\partial J_s(a,b)}{\partial b} =-2(Ya-b)∂a∂Js(a,b)=2YT(Ya−b),∂b∂Js(a,b)=−2(Ya−b)由于b需要满足约束条件b>0b>0b>0,故b得更新公式可以为:
bk+1=bk−ηk12(∂Js(a,b)∂b−∣∂Js(a,b)∂b∣)=bk+2ηkek+ak=Y+bk\begin{aligned}b_{k+1}&=b_k-\eta_k\frac{1}{2}\left (\frac{\partial J_s(a,b)}{\partial b} -\left | \frac{\partial J_s(a,b)}{\partial b} \right | \right) =b_k+2\eta_ke_k^+\\ a_k&=Y^+b_k \end{aligned}bk+1ak=bk−ηk21(∂b∂Js(a,b)−∂b∂Js(a,b))=bk+2ηkek+=Y+bk为了防止b收敛到0,初始化的时候需要让b从一个非负向量开始。
5.5多类线性判别函数
(1)MSE多类扩展:y=WTx+b\rm y=W^Tx+by=WTx+b,此时不用规范化增广坐标,决策规则为:如果j=argmax(WTx+b)j=arg\;max(W^Tx+b)j=argmax(WTx+b),则x∈ωjx\in \omega_jx∈ωj。YYY是用one-hot向量组成的矩阵。优化目标为:
minW,b∑i=1n∥WTx−b−yi∥22=minW^∥W^TX^−y∥22\underset{W,b}{min} \sum_{i=1}^{n} \left \| W^Tx-b-y_i \right \|_2^2=\underset{\hat W}{min} \left \| \hat W^T\hat X-y \right \|_2^2 W,bmini=1∑nWTx−b−yi22=W^minW^TX^−y22其中:
W^=(WbT),x^=(x1)\hat W=\begin{pmatrix} W\\ b^T \end{pmatrix},\quad \hat x=\begin{pmatrix} x \\ 1 \end{pmatrix} W^=(WbT),x^=(x1)解得:W^=(X^XT^)−1X^YT\hat{W}=(\hat{X}\hat{X^T})^{-1}\hat{X}Y^TW^=(X^XT^)−1X^YT。
(2)感知器准则扩展方法
(3)Kelser构造。
6、人工神经网络
6.1简要介绍
1956年,明斯基、西蒙、麦卡锡等人 首次提出人工智能的概念。
人工神经网络的三次浪潮:
1、1960s:感知机、自适应线性单元
2、1980s:Hopfield网络、Boltzman机、BP算法
3、2000s:深度网络、Deep-CNN、RNN
激活函数: 作用是将可能的无限域变换到指定的有限范围内输出。
要求:非线性、连续可到、单调(否则会产生很多局部极小值点)
软饱和函数:指x趋于无穷时导数为0,如sigmod函数。梯度消失,导致难以训练深层网络。
硬饱和函数:x超过某一阈值时,导数为零,如ReLU函数。会导致网络稀疏性和部分神经元死亡(输出为0),其次ReLU会使得输出具有偏移现象(即输均值恒大于0),会影响到神经网络的收敛性。
深度与宽度问题:
1、隐藏层个数(深度):决定网络的表达能力,深度太深会导致过拟合
2、各层结点数(宽度):结点数太少难以建立复杂分界面,太多则泛化性能较差
神经网络训练的方法:
1、Hebb训练方法:
wij(t+1)=wijt+ηyizjw_{ij}^{(t+1)}=w_{ij}^{t} +\eta y_iz_j wij(t+1)=wijt+ηyizj如果两个相互连接的神经元输出具有相同的符号,则增加他们之间的权重(但需要设置阈值,防止无约束增长)
2、δ\deltaδ训练方法(分析方法):按照差值最小(处理单元所要求的输出与当前实际输出间的差值)准则连续修正连接权重的强度。训练策略为梯度下降法:
Δwij=−η∂E∂wij\Delta w_{ij}=-\eta \frac{\partial E}{\partial w_{ij}} Δwij=−η∂wij∂E其中EEE时与训练样本相关的能量。
3、随机训练方法:随机改变一个权重,计算改变后网络的能量,若能量降低则接受改变。模拟退火算法就是一种随机训练算法。
4、Kohonen训练方法:在训练过程中结点参与竞争,具有最大输出的结点获胜,获胜的结点可以抑制其竞争者并激活其邻近结点,即只有获胜者和其邻近结点的权重才可以调节。
6.2前馈神经网络(感知机)
δ\deltaδ规则、反向传播。权重的梯度等于连接边起点的输出乘以经终点导数放缩后的误差Δwij=xif′(netj)(tj−yj)\Delta w_{ij}=x_if'(net_j)(t_j-y_j)Δwij=xif′(netj)(tj−yj)。
防止过拟合的技术:
1、权重2范数正则化
2、权重启发式目标函数修正策略
附加冲量项: 尽快逃离饱和区。
w(t+1)=w(t)+(1−α)Δbpw(t)+α[w(t)−w(t−1)]\rm w(t+1)=w(t)+(1-\alpha)\Delta _{bp}w(t)+\alpha [w(t)-w(t-1)]w(t+1)=w(t)+(1−α)Δbpw(t)+α[w(t)−w(t−1)]
BP算法存在的问题:
1、网络麻痹现象:权重修正时,误差δ\deltaδ正比于f′(net)f'(net)f′(net),当f′(net)f'(net)f′(net)趋于0时,训练过程便停顿下来。可以优化目标准则函数。
2、梯度消失:多层神经网络,越靠近输入层越容易出现此问题。
3、局部极小:误差曲面非凸,可以引入随机因素。
6.3径向基函数网络
径向基函数(Radial Basis Function)是一类取值仅依赖于距离的函数。如高斯函数ϕk(x)=exp(−∥x−xk∥2σ2)\phi _k(x)=exp\left ( -\frac{\left \| x-x_k \right \| }{2\sigma ^2} \right )ϕk(x)=exp(−2σ2∥x−xk∥)。
径向基函数神经网络:
三层网络可以拟合任意函数,径向基函数网络也是三层结构,输入层到隐藏层权重为1,训练时主要改变隐藏层到输出层的权重,隐藏层的激活函数为高斯径向基函数,输出层的激活函数可以为线性函数也可以为其他函数。其隐藏层结点数等于样本个数,结构简化:对于大规模数据,首先做聚类,使隐藏层节点个数等于聚类中心个数,简化网络模型的同时增加网络的泛化能力。
6.4Hopfield网络
Hopfield网络按照动力学方式进行,其工作过程为状态的演化过程,即从初始状态按照能量减小的方向进行演化,直到达到稳定状态。具体介绍见Hopfield神经网络。其有两个主要作用:充当存储器、求解TSP问题。
6.5玻尔兹曼机(BM)
玻尔兹曼机是一种随机的Hopfield网络,是具有隐藏单元的反馈网络。
如图,玻尔兹曼机的一部分神经元是可观测的,起到输出输入作用,另一部分不可观测是隐藏结点。
受限玻尔兹曼机(RBM):
两层结构,层内结点互不相连,信息可以在层间流动,包含可视结点层和隐藏层。模型参数为θ={w,a,b}\theta=\{w,a,b\}θ={w,a,b},网络的能量函数为:
E(v,h,θ)=−∑ijwijvihj−∑ibivi−∑jajhjE(v,h,\theta)=-\sum_{ij}w_{ij}v_ih_j-\sum_ib_iv_i-\sum_ja_jh_jE(v,h,θ)=−ij∑wijvihj−i∑bivi−j∑ajhj可见状态与隐含状态的联合概率分布:
pθ(v,h)=1z(θ)exp(−E(v,h,θ))p_{\theta}(v,h)=\frac{1}{z(\theta)}exp(-E(v,h,\theta))pθ(v,h)=z(θ)1exp(−E(v,h,θ))目标是对于N个样本max∑i=1Nlogp(vi)max \sum_{i=1}^Nlog\;p(v_i)max∑i=1Nlogp(vi)。根据联合概率可以计算边缘概率和条件概率。
具体推导细节见RBM受限玻尔兹曼机,训练过程见受限玻尔兹曼机RBM最通俗易懂的教程。
6.6深度信念网络、深度玻尔兹曼机
可以将受限玻尔兹曼机等价为一个无穷层的单向网络
深度信念网络(DBN):其最高层为双向连接。
训练过程:对于特征学习,采用多个RBM进行贪婪训练;对于分类任务,附加一个前向网络,采用有标签的数据进行微调(fine-tuning)。
深度玻尔兹曼机(DBM):每两层之间均为双向连接。
6.7自组织映射(SOM)
主要思想:T.Kohonen认为神经网络中邻近的各个神经元通过侧向交互作用彼此竞争,自适应地发展成检测不同信号的特殊检测器。
如图,神经网络的输出层各神经元结点之间相互作用。SOM获胜神经元对齐邻近神经元的影响由远及近地由兴奋转变为抑制(窗口可以变化,权重作用的邻域随时间增加而减小)。如下图函数:
原理:自动寻找样本的内在规律和本质属性,自组织、自适应改变网络参数与结构。通过自组织特征映射算法,能够自动找出输入样本之间的相似度。
相似度准则:输入向量与映射层权重向量的欧式距离dj=∑i=1d(xi−wij)2d_j=\sqrt {\sum_{i=1}^d(x_i-w_{ij})^2}dj=∑i=1d(xi−wij)2,相似度大者为获胜者,然后在获胜者j∗j^*j∗邻域内h(.,j∗)h(.,j^*)h(.,j∗)调整权重值:
Δwij=ηh(j,j∗)(xi−wij)wij(t+1)=wij(t)+Δwij\Delta w_{ij}=\eta h(j,j^*)(x_i-w_{ij})\\ w_{ij}(t+1)=w_{ij}(t)+\Delta w_{ij} Δwij=ηh(j,j∗)(xi−wij)wij(t+1)=wij(t)+Δwij
6.8自编码器(Autoencoder)
遇到而问题:训练时没有标签,设计一种网络使得输入与输出相等,则隐藏层记录了数据的特征,自编码器是一种表示学习方法。
拥有多个encoder层时,采用逐层训练的方法,首先训练第一层(三层感知机),然后固定第一层,将第一层的输出作为第二层的输入训练第二层(三层感知机),以此类推。
应用:降维、降噪、缺失数据恢复。
7、特征提取
特征提取的目的:
1、减少噪声影响
2、提高稳定性
3、提取观测数据的内在特性
特征变换的目的:
1、降低空间维度,便于分析并减小计算量
2、减少特征之间可能存在的相关性
3、有利于分类
特征提取的分类:
1、根据对象:语音、文本、视觉
2、根据方式:局部特征提取(SIFT、LBP等)、全局特征提取(HoG、词袋等)
特征变换的分类:
线性变换:PCA、LDA、ICA等
非线性变换:KPCA、KLDA、Isomap、LLE、HLLE、LSTA等
7.1 语音特征提取
步骤:
1、语音信号预处理
2、分帧、加窗(低通滤波,使帧两端信号平滑过渡到0,同时帧与帧之间有重合,防止丢失信息)
3、对每一帧做数学运算得到低维向量
梅尔倒谱系数(MFCCs):
对分帧后的语音信号做傅里叶变换,丢失相位谱。
根据梅尔刻度,利用频域三角窗对傅里叶幅度谱求和。
对求和之后的值取对数
对取对数后的幅度信号做离散余弦变换得到梅尔倒谱系数特征。
7.2文本特征提取
1、向量空间模型
2、词频-逆文档频率
3、Word2Vec
7.3视觉特征提取
1、局部二值模式(LBP)
2、Gabor特征提取
3、尺度不变特征变换(SIFT)
4、视觉词袋
5、哈尔特征
6、梯度方向直方图(HoG)
8、维数缩减
8.1线性维数缩减
8.1.1 主成分分析(PCA)
8.1.2 线性判别分析(LDA)
这部分见数据降维方法(主成分分析PCA、线性判别分析LDA)。
8.2非线性维数缩减
8.2.1 多维缩放(MDS)
主要目的:将d维空间中的n个样本降维到m维空间。准则是降维之后的样本空间仍保持两两之间的距离
算法步骤:
1、给定数据,构造距离矩阵DDD
2、构造矩阵BBB,B=−12HTDHB=-\frac{1}{2}H^TDHB=−21HTDH
3、对矩阵BBB进行特征值分解:B=UVTUB=UV^TUB=UVTU
4、求Z=Λm1/2UmT∈Rm×nZ=\Lambda_m^{1/2}U_m^T\in R^{m\times n}Z=Λm1/2UmT∈Rm×n(选取前m个最大特征值对应的特征向量)
8.2.2流形学习
(1)LLE(局部线性嵌入): 将高维空间中样本的线性重构关系在低维空间继续保持。
在原始维度上通过周围k个样本重构样本xix_ixi,根据拉格朗日乘子法求出权重矩阵WWW,利用该权重矩阵在低维空间重构新样本yiy_iyi,并最小化重构误差。
(2)Isomap(等距特征映射): 通过K近邻等方式构造一个数据图,计算任意两点之间的测地距离,对于任意两点,期望在低维空间中保持测地距离。(经常与多维缩放一起使用,首先计算各样本之间的测地距离,然后利用MDS降维)。
(3)LE(拉普拉斯特征映射): 通过K近邻方式构造数据图,在每一个局部区域计算点与点之间的亲和度,期望点对亲和度在低维空间保持。
(4)LTSA(局部切空间对齐): 对每一个数据在局部引入一个线性变换,将其临近点映射到低维坐标系中的对应临近点。
9、特征选择
特征选择的方法:子集搜索+子集评价
9.1评价判据
直接判据:分类器的分类错误率
间接判据:不同数据的可分程度、不同类别的概率分布差异性、特征对分类的不确定性程度…
理想的评价准则应该满足:对于独立特征评价准则具有可加性;是一个度量;是特征数目的单调函数(新加入特征不应该较少可分度);与分类错误率具有正相关,反映特征的分类性能。
1、基于距离的准则
可定义类间散度矩阵和类内散度矩阵,使得类间散度矩阵尽可能大,类内散度矩阵尽可能小。
2、基于分布的评价准则(基于类条件概率密度函数)
定义两个分布的距离,此距离非负、能够衡量两个分布之间的重合程度。如KL散度,KL散度不是一个度量,因为不具有对称性。
3、基于熵的评价准则(基于后验概率密度函数)
对于所有类别,后验概率越平均,越不具有区分性,越集中于某一类则越有利于分类。可以用后验概率的信息熵作为评价标准。
9.2子集搜索
子集搜索是组合问题。
搜索策略:
1、穷举法
2、前向搜索策略(每次只加入一个新特征进行评价)
3、后向搜索策略(每次只去掉一个无关特征)
4、双向搜索策略
5、随机搜索策略
最优特征搜索方法:
1、穷举法:计算量巨大。
2、分支定界法
特征选择次优方法: (贪心算法)
1、过滤式特征选择
2、包裹式特征选择
3、嵌入式特征选择
10、模型选择
11、数据聚类
11.1 k-means聚类
循环体内执行两部操作:将样本划分到k各类中心、对类内求均值获得新的类中心。
损失函数:
l(μ,xn,zn)=∑k=1Kznk∣∣xn−μk∣∣2l(\mu,x_n,z_n)=\sum_{k=1}^Kz_{nk}||x_n-\mu_k||^2l(μ,xn,zn)=k=1∑Kznk∣∣xn−μk∣∣2其中是0-1损失,这是非凸函数,对初始化比较敏感,容易掉入局部最优。
第一个问题:
①k怎么选?:交叉验证、专家判断、找到损失函数随k变换最大的点。
②数据维数很高时,欧氏距离不可靠:随机投影之后进行聚类,获得多个结果之后进行集成学习。
③对噪声不鲁棒:将均值改为中值向量,中点对噪声鲁棒性高。即K-Medians算法。
②是一种硬分类方法,使得每个类别区域大小相近
③无法解决非凸数据
增量式更新方法: 竞争学习、对手惩罚竞争学习。每次选择一个样本,将距离该样本较近的聚类点拉向该样本。
mean-shift聚类:滑动窗内算均值,局部区域滑倒高密度区域(窗口半径固定)、最后将重复类中心删除即可。但对噪声不鲁棒。
DBSCAN算法: 计算某样本与周围样本点的距离,小于某个阈值则认为是该样本点的朋友,当朋友个数达到最低要求时即认为这些点时一个类,故对噪声样本比较鲁棒。
11.2 高斯混合模型
p(x)=∑k=1KπkN(x∣μk,Σk),∑k=1Kπk=1p(x)=\sum_{k=1}^K\pi_kN(x|\mu_k,\Sigma_k),\;\sum_{k=1}^K\pi_k=1p(x)=k=1∑KπkN(x∣μk,Σk),k=1∑Kπk=1 总共三个参数,用EM算法求解,首先固定参数对每个样本进行分类,即求
γk(x)≡p(k∣x)=p(k)p(x∣k)p(x)=πkN(x∣μk,Σk)∑j=1KπjN(x∣μj,Σj)\begin{aligned}\gamma _k(x)\equiv p(k|x)&=\frac{p(k)p(x|k)}{p(x)}\\ &=\frac{\pi_kN(x|\mu_k,\Sigma_k)}{\sum_{j=1}^K\pi_jN(x|\mu_j,\Sigma_j)} \end{aligned}γk(x)≡p(k∣x)=p(x)p(k)p(x∣k)=∑j=1KπjN(x∣μj,Σj)πkN(x∣μk,Σk)表示样本属于第k个高斯成分的概率。然后求似然函数对三个的导数并令导数为零,则可以解出
μj=∑n=1Nγj(xn)xn∑n=1Nγj(xn)Σj=∑n=1Nγj(xn)(xn−μj)(xn−μj)T∑n=1Nγj(xn)πj=1N∑n=1Nγj(xn)\begin{aligned} \mu_j&=\frac{\sum_{n=1}^N\gamma_j(x_n)x_n}{\sum_{n=1}^N\gamma_j(x_n)}\\ \Sigma_j&=\frac{\sum_{n=1}^N\gamma_j(x_n)(x_n-\mu_j)(x_n-\mu_j)^T}{\sum_{n=1}^N\gamma_j(x_n)}\\ \pi_j&=\frac{1}{N}\sum_{n=1}^N\gamma_j(x_n) \end{aligned}μjΣjπj=∑n=1Nγj(xn)∑n=1Nγj(xn)xn=∑n=1Nγj(xn)∑n=1Nγj(xn)(xn−μj)(xn−μj)T=N1n=1∑Nγj(xn)如此按照这两步进行迭代优化。
一些问题:同样在高斯混合模型中需要面临K值得选择问题,可以借鉴k-means算法。另外防止协方差矩阵奇异,需要对其进行约束,如单位阵(欧氏距离)、对角阵(加权欧氏距离)、共享协方差矩阵等
11.3 分级聚类
是一种启发式算法,没有目标函数。由凝聚式层次聚类(自底向上)和分列式层次聚类(自顶向下)两种方式。
11.4 谱聚类(K-means in spectrum space)
广义上讲,在学习过程中应用到特征值分解的方法均叫谱学习方法。
11.5 核聚类
将样本映射到核空间做聚类。
12、支持向量机与核方法
13、决策树
待学习:
1、隐马尔可夫模型(第四次)
2、最近邻分类的错误率、切线距离、帕森窗函数展开(第五次)
3、受限玻尔兹曼机
4、视觉特征sift
国科大《模式识别》课程总结相关推荐
- 2021国科大模式识别与机器学习期末考试试题
2021国科大模式识别与机器学习期末考试试题 任课教师:黄庆明等
- 使用selenium自动下载国科大(UCAS)课程资源
使用selenium爬取国科大课程资源 有些课程的资源实在太多,难得手动去下载,再整理,故写了一个简单实用的爬虫程序,自动下载所有课程资源,保持文件(夹)的层级关系. 为了各位同学方便,贴出此博客,介 ...
- 国科大数据挖掘课程总结
数据仓库概念 数据理解与预处理 关联规则 分类算法 聚类算法 推荐系统 数据仓库概念 数据仓库是 面向主题 集成 时变 非易失的 . 面向主题:围绕主题 如顾客 供应商 而非日常的操作和事务处理 集成 ...
- 【国科大模式识别】第二次作业(阉割版)
[题目一]最大似然估计也可以用来估计先验概率.假设样本是连续独立地从自然状态 ω i \omega_i ωi 中抽取的, 每一个自然状态的概率为 P ( ω i ) P\left(\omega_i\ ...
- 国科大高级AI考试证明题整理
系列文章目录 提示:国科大其他课程资料整理 国科大高级AI--强化学习(格子问题) 国科大高级AI--博弈论以及相关考题 国科大高级AI--一阶谓词逻辑 国科大高级AI--证明题历年考题 国科大高级A ...
- 计算机科学与技术国科大,朋辈说‖国科大计算机科学与技术专业漫游指南
编者按 为了帮助同学们更好地了解国科大提供给学生的学习机会以及留学申请环节,做好对未来的规划,国科大官微特别开设"朋辈说"专栏,共享国科大本科生的所见所学和所思所想.今天,国科大2 ...
- 最硬核毕业证:带着自己设计的芯片毕业,国科大16级本科生交付「一生一芯」首期成果...
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 15 分钟. 来自:知乎 链接:https://www.zhihu.com/question/409298856 近日,五位来 ...
- 最硬核毕业证:带着自己设计的芯片毕业,国科大 16 级本科生交付「一生一芯」首期成果...
公众号关注 "GitHubPorn" 设为 "星标",每天带你逛 GitHub! 编辑 | 机器之心 作者 | 包云岗 近日,五位来自中国科学院大学的 2016 ...
- 国科大学习资料--模式识别--2018-2019期末试卷及解析(刘成林)
国科大2018-2019模式识别期末试卷及解析(刘成林)
- 国科大学习资料–模式识别--第四次作业
国科大学习资料–模式识别–第四次作业(刘成林老师主讲) 题目 答案
最新文章
- 5G+AI,自动驾驶进入“中国时间”
- springboot文字转语音(jacob)
- Linux 内核链表 【转】
- linux内核启动后门,Linux下编写隐蔽的自启动回连后门
- 计组之数据运算:3、定点数、浮点数
- ethtool的内核流程跟踪
- java setstate,5.state更新流程(setState里到底发生了什么)
- jsecharts如何改变占比_什么是基础代谢?如何提高基础代谢?基础代谢对减肥很重要...
- web全栈前端学习路线-20个真实web开发项目集合
- Excel自定义下拉框
- 一个微信关联管理多个腾讯云账号
- 中国金茂销售表现亮眼,资金杠杆率进一步下降
- 本次技术博客平台的选择
- 马士兵的经典名言!!!
- halcon轮廓选择
- Pytorch - 弹性训练原理
- 数据结构——二叉树交换左右子树位置(C语言)
- 航顺HK HK32F103CBT6 MCU
- 简单有效的多标准中文分词详解
- jq jqprint 设置页脚_jquery web打印 取消 页眉和页脚