• 模式识别课程总结提要


    1 贝叶斯决策方法

    1.1 贝叶斯决策

    假设:

    1. 分类数已知
    2. 各类别类条件概率分布已知

    先验概率:(Pleft(omega_1 ight),~Pleft(omega_2 ight))

    后验概率:

    [Pleft(omega_1|x ight)=frac{Pleft(omega_1,x ight)}{P(x)}=frac{Pleft(x|omega_1 ight)Pleft(omega_1 ight)}{sum_iPleft(x|omega_i ight)Pleft(omega_i ight)} ]

    贝叶斯决策:后验概率大的类

    [Pleft(omega_1|x ight)>Pleft(omega_2|x ight)Rightarrow xin omega_1 ]

    等价形式:

    [Pleft(omega_i|x ight)=max_jPleft(omega_j|x ight)Rightarrow xin omega_i ]

    1.2 最小错误率贝叶斯决策

    最小错误率决策:

    [Pleft(omega_i|x ight)=max_jPleft(omega_j|x ight)Rightarrow xin omega_i ]

    等价形式:

    [Pleft(x|omega_i ight)Pleft(omega_i ight)=max_jPleft(x|omega_j ight)Pleft(omega_j ight)Rightarrow xin omega_i ]

    似然比:

    [l(x)=frac{Pleft(x|omega_1 ight)}{Pleft(x|omega_2 ight)} >frac{Pleft(omega_2 ight)}{Pleft(omega_1 ight)} Rightarrow xin omega_1 ]

    负对数似然:

    [h(x)=-ln left[l(x) ight] <ln frac{Pleft(omega_1 ight)}{Pleft(omega_2 ight)} Rightarrow xin omega_1 ]

    错误率:

    [Pleft(e ight) riangleq int_{-infty}^{infty}{pleft(e,x ight)mathrm{d}x}=int_{-infty}^{infty}{Pleft(e|x ight)p(x)mathrm{d}x} ]

    其中错误后验概率为

    [Pleft(e|x ight)=min left{ Pleft(omega_1|x ight), Pleft(omega_2|x ight) ight} ]

    最小错误率导出决策:

    [min Pleft(e ight)Rightarrow max Pleft(omega_i|x ight) ]

    两类错误率:使用先验概率与类条件概率密度计算

    [egin{aligned} Pleft(e ight)&=Pleft(xin mathcal{R}_1,omega_2 ight)+Pleft(xin mathcal{R}_2,omega_1 ight)\ &=Pleft(xin mathcal{R}_1|omega_2 ight)Pleft(omega_2 ight)+Pleft(xin mathcal{R}_2|omega_1 ight)Pleft(omega_1 ight)\ &=Pleft(omega_2 ight)int_{mathcal{R}_1}{pleft(x|omega_2 ight)}mathrm{d}x+Pleft(omega_1 ight)int_{mathcal{R}_2}{pleft(x|omega_1 ight)}mathrm{d}x\ &=Pleft(omega_2 ight)P_2left(e ight)+Pleft(omega_1 ight)P_1left(e ight) end{aligned} ]

    错误率计算图示

    多类错误率:通过平均正确率来计算平均错误率

    [egin{aligned} Pleft(c ight) &=sum_{j=1}^c{Pleft(xin mathcal{R}_j|omega_j ight)Pleft(omega_j ight)}\ &=sum_{j=1}^c{int_{mathcal{R}_j}{pleft(x|omega_j ight)Pleft(omega_j ight)}}mathrm{d}x end{aligned} ]

    [egin{aligned} Pleft(e ight) &=sum_{i=1}^c{sum_{j e i}{Pleft(xin mathcal{R}_j|omega_i ight)Pleft(omega_i ight)}}\ &=1-Pleft(c ight) end{aligned} ]

    1.3 最小风险贝叶斯决策

    基本思想:不同的决策错误所带来的损失可能不同

    决策论表述:样本 (xinmathbb{R}^d) 看做随机向量

    状态空间:(c) 个可能的状态 (类别)

    [Omega =left{ omega_1,omega_2,dots ,omega_c ight} ]

    决策空间:判定样本为某类或拒绝等

    [mathcal{A} =left{ alpha_1,alpha_2,dots ,alpha_k ight} ]

    一般 (kgeqslant c)

    [alpha_i=left{ xin omega_i ight} , i=1,dots ,c ]

    (alpha_{c+1}=mathrm{reject})

    损失函数:实际为 (omega_j) 类判定为 (alpha_i) 的损失 (lambda left(alpha_i,omega_j ight)) →决策表

    期望损失:

    [egin{aligned} Rleft(alpha_i|x ight) &=mathbb{E} left[lambda left(alpha_i,omega_j ight)|x ight]\ &=sum_jlambda left(alpha_i,omega_j ight)Pleft(omega_j|x ight) end{aligned} ]

    期望风险:

    [Rleft(alpha ight)=int_{-infty}^{infty}{Rleft(alpha |x ight)p(x)}mathrm{d}x ]

    最小风险决策:

    [min Rleft(alpha ight)Rightarrow alpha =mathrm{argmin}_jRleft(alpha_j|x ight) ]

    与最小错误率决策等价:0-1 决策表

    [lambda left(alpha_i,omega_j ight)=1-delta_{ij} ]

    [egin{aligned} Rleft(alpha_i|x ight) &=sum_jlambda left(alpha_i,omega_j ight)Pleft(omega_j|x ight)\ &=sum_{j e i}Pleft(omega_j|x ight)\ &=1-Pleft(omega_i|x ight) end{aligned} ]

    因此

    [egin{aligned} min Rleft(alpha ight) &Rightarrow min_jRleft(alpha_j|x ight)\ &Rightarrow alpha =mathrm{argmax}_jPleft(omega_j|x ight) end{aligned} ]

    似然比:

    [l(x)=frac{Pleft(x|omega_1 ight)}{Pleft(x|omega_2 ight)}>frac{Pleft(omega_2 ight)}{Pleft(omega_1 ight)}frac{lambda_{12}-lambda_{22}}{lambda_{21}-lambda_{11}}Rightarrow xin omega_1 ]

    1.4 限定一类错误率条件下使另一类错误率最小

    Neyman-Pearson 决策:优化问题

    [min left{ P_1left(e ight)|P_2left(e ight)-epsilon_0=0 ight} ]

    [egin{aligned} L &=P_1left(e ight)+lambda left(P_2left(e ight)-epsilon_0 ight)\ &=int_{mathcal{R}_2}{pleft(x|omega_1 ight)}mathrm{d}x+lambda left(int_{mathcal{R}_1}{pleft(x|omega_2 ight)}mathrm{d}x-epsilon_0 ight)\ &=1-lambda epsilon_o+int_{mathcal{R}_1}{left[lambda pleft(x|omega_2 ight)-pleft(x|omega_1 ight) ight]}mathrm{d}x end{aligned} ]

    梯度条件:决策边界满足

    [lambda =frac{pleft(x|omega_1 ight)}{pleft(x|omega_2 ight)},~P_2left(e ight)=epsilon_0 ]

    决策规则:

    [lambda pleft(x|omega_2 ight)-pleft(x|omega_1 ight)<0Rightarrow xin omega_1 ]

    似然比:

    [l(x)=frac{pleft(x|omega_1 ight)}{pleft(x|omega_2 ight)}>lambda Rightarrow xin omega_1 ]

    对偶变量求解:通过 (l(x)) 的映射关系,可由 (p(x)) 求得 (pleft(l|omega_2 ight)),则由定义可知误差率为

    [egin{aligned} P_2left(e ight) &=1-int_0^{lambda}{pleft(l|omega_2 ight)mathrm{d}l}\ &=epsilon_0Rightarrow lambda end{aligned} ]

    1.5 朴素贝叶斯

    随机向量分量独立:

    [pleft(vec{x}|omega ight)=pleft(x_1,dots ,x_d|omega ight) riangleq prod_ipleft(x_i|omega ight) ]

    1.6 判别函数与正态分布

    判别函数:(g_i(x)),例如后验概率

    [g_i(x)=Pleft(omega_i|x ight) ]

    取分子

    [g_i(x)=pleft(x|omega_i ight)Pleft(omega_i ight) ]

    取对数

    [g_i(x)=ln pleft(x|omega_i ight)+ln Pleft(omega_i ight) ]

    决策面方程:(g_i(x)=g_j(x))

    正态分布:

    [p(x)=frac{1}{left(2pi ight)^{d/2}|Sigma |^{1/2}}exp left{ -frac{1}{2}left(x-mu ight)^{ op}Sigma ^{-1}left(x-mu ight) ight} ]

    维数 (d),均值 (mu =mathbb{E} left[x ight]),协方差

    [Sigma =mathbb{E} left[left(x-mu ight)left(x-mu ight)^{ op} ight] ]

    贝叶斯判别:各类分布

    [pleft(x|omega_i ight)sim mathcal{N} left(mu_i,Sigma_i ight) ]

    则判别函数为

    [g_i(x)=-frac{d}{2}ln 2pi -frac{1}{2}ln |Sigma_i|+ln Pleft(omega_i ight)-frac{1}{2}left(x-mu_i ight)^{ op}Sigma_{i}^{-1}left(x-mu_i ight) ]

    决策面方程:(g_i(x)=g_j(x)),即

    [egin{aligned} &-0.5left[left(x-mu_i ight)^{ op}Sigma_{i}^{-1}left(x-mu_i ight)-left(x-mu_j ight)^{ op}Sigma_{j}^{-1}left(x-mu_j ight) ight]\ &+left[ln Pleft(omega_i ight)-ln Pleft(omega_j ight) ight] -0.5left(ln |Sigma_i|-ln |Sigma_j| ight)=0 end{aligned} ]

    1.7 分类性能评价 ROC 与 AUC

    ROC (Receiver Operating Characteristic):FP-TP 曲线,越靠近曲线左上角的点对应的阈值参数性能越好

    混淆矩阵:两类分类问题

    实际为正类 实际为负类
    预测为正类 TP FP
    预测为负类 FN TN

    AUC (Area Under ROC Curves):ROC 曲线下方面积越大越好

    例:给定样本标签

    [y = [1~0~1~1~1~0~0~0] ]

    分类器输出结果为

    [S = [0.5~0.3~0.6~0.22~0.4~0.51~0.2~0.33] ]

    则 FP 与 TP 计算如下:

    class score FP TP
    1 0.6 0 0.25
    0 0.51 0.25 0.25
    1 0.5 0.25 0.5
    1 0.4 0.25 0.75
    1 0.33 0.5 0.75
    0 0.3 0.75 0.75
    0 0.22 0.75 1
    0 0.2 0.1 1

    ROC 曲线

    2 概率密度函数估计

    统计量:样本的分布信息,如均值,方差等

    参数空间:未知参数向量 ( heta) 全部可能取值的集合 (Theta)

    点估计:构造估计量 (dleft(x_1,dots ,x_N ight)) 作为 ( heta) 的估计

    区间估计:构造置信区间 (left(d_1,d_2 ight)) 作为 ( heta) 可能取值范围的估计

    2.1 极大似然估计 (MLE, Maximum Likelihood Estimate)

    假设:

    1. 概率分布函数形式已知
    2. 样本独立同分布采样得到

    似然函数:

    [egin{aligned} lleft( heta ight) &=pleft(X| heta ight)\ &=pleft(x_1,dots ,x_N| heta ight)\ &=prod_kpleft(x_k| heta ight) end{aligned} ]

    对数似然函数:

    [egin{aligned} Hleft( heta ight) &=ln lleft( heta ight)\ &=sum_kln pleft(x_k| heta ight) end{aligned} ]

    极大似然估计:

    [egin{aligned} heta &=mathrm{argmax}_{ heta in Theta}lleft( heta ight)\ &=mathrm{argmax}_{ heta in Theta}Hleft( heta ight) end{aligned} ]

    正态分布:待估计参数为 ( heta =left[mu ,sigma ^2 ight]), 数据点

    [X=left{ x_1,dots ,x_N ight} ]

    估计量为 (hat{ heta}=left[hat{mu},hat{sigma}^2 ight])

    概率密度函数为

    [pleft(x_k| heta ight)=frac{1}{sqrt{2pi}sigma}exp left[-frac{left(x_k-mu ight)^2}{2sigma ^2} ight] ]

    取对数得

    [ln pleft(x_k| heta ight)=-frac{1}{2}ln left(2pi heta_2 ight)-frac{left(x_k- heta_1 ight)^2}{2 heta_2} ]

    ( heta) 求梯度有

    [ abla_{ heta}ln pleft(x_k| heta ight) =egin{bmatrix} dfrac{x_k- heta_1}{ heta_2}\ -dfrac{1}{2 heta_2}+dfrac{left(x_k- heta_1 ight)^2}{2 heta_{2}^{2}}\ end{bmatrix} ]

    [sum_{k=1}^N{ abla_{ heta}ln pleft(x_k| heta ight)}=0 ]

    因此,估计量为

    [egin{aligned} hat{mu}&=frac{1}{N}sum_{k=1}^N{x_k} \ hat{sigma}^2&=frac{1}{N}sum_{k=1}^N{left(x_k-hat{mu} ight)^2} end{aligned} ]

    多元正态分布:

    [egin{aligned} hat{mu}&=frac{1}{N}sum_{k=1}^N{x_k}\ hat{Sigma}&=frac{1}{N}sum_{k=1}^N{left(x_k-hat{mu} ight)left(x_k-hat{mu} ight)^{ op}} end{aligned} ]

    无偏估计:

    [mathbb{E} left[hat{mu} ight] =mu ]

    [mathbb{E} left[frac{N}{N-1}hat{Sigma} ight] =Sigma ]

    渐进无偏估计:

    [lim_{n ightarrow infty} mathbb{E} left[hat{Sigma} ight] =Sigma ]

    可识别性:对 ( heta e heta '),

    [exists~xRightarrow pleft(x| heta ight) e pleft(x| heta ' ight) ]

    离散随机变量的混合密度函数往往不可识别,连续的则一般可以识别

    2.2 贝叶斯估计

    假设:参数 ( heta) 是随机变量,且已知其先验分布 (pleft( heta ight))

    贝叶斯估计:后验概率

    [pleft( heta |X ight)=pleft(X| heta ight)pleft( heta ight)/p(x) ]

    贝叶斯学习:

    [egin{aligned} pleft(x|X ight) &=int{pleft(x, heta |X ight)mathrm{d} heta}\ &=int{pleft(x| heta ight)pleft( heta |X ight)mathrm{d} heta} end{aligned} ]

    贝叶斯学习性质:

    [lim_{N ightarrow infty} pleft(x|X^N ight)=pleft(x|hat{ heta}= heta ight)=p(x) ]

    正态分布:

    [pleft(X|mu ight)sim mathcal{N} left(mu ,sigma ^2 ight) ]

    [pleft(mu ight)sim mathcal{N} left(mu_o,sigma_{0}^{2} ight) ]

    其中 (sigma ^2) 已知,则有

    [egin{aligned} pleft(mu |X ight) &=frac{pleft(X|mu ight)pleft(mu ight)}{p(x)}\ &=alpha prod_kpleft(x_k|mu ight)pleft(mu ight)\ &=alpha 'cdot exp left{ -frac{1}{2}left[sum_{k=1}^N{frac{left(mu -x_k ight)^2}{sigma ^2}}+frac{left(mu -mu_0 ight)^2}{sigma_{0}^{2}} ight] ight} \ & riangleq frac{1}{sqrt{2pi}sigma_N}exp left[-frac{left(mu -mu_N ight)^2}{2sigma_{N}^{2}} ight] end{aligned} ]

    其中

    [sigma_{N}^{2}=frac{sigma_{0}^{2}sigma ^2}{Nsigma_{0}^{2}+sigma ^2} ]

    [mu_N=frac{Nsigma_{0}^{2}}{Nsigma_{0}^{2}+sigma ^2}m_N+frac{sigma ^2}{Nsigma_{0}^{2}+sigma ^2}mu_0 ]

    其中

    [m_N=frac{1}{N}sum_{k=1}^N{x_k} ]

    因此

    [egin{aligned} pleft(x|X ight) &=int{pleft(x|mu ight)pleft(mu |X ight)mathrm{d}mu}\ &sim mathcal{N} left(mu_N,sigma ^2+sigma_{N}^{2} ight) end{aligned} ]

    参数变化:

    [sigma_0=0Rightarrow mu_N=mu_0 ]

    [Nuparrow Rightarrow mu_N ightarrow m_N,~sigma_{N}^{2} ightarrow 0 ]

    最大似然估计与贝叶斯估计对比:

    1. 训练样本无穷多时,最大似然估计与贝叶斯估计结果相同
    2. 贝叶斯估计使用先验概率利用了更多信息,若信息可靠则贝叶斯估计更准确,但有时先验概率很难设计,无信息先验
    3. 最大似然估计计算简单,贝叶斯通常计算复杂的积分
    4. 最大似然估计易于理解,给出的是参数的最佳估计结果

    2.3 非参数估计

    假设:

    1. 概率分布函数形式未知
    2. 样本独立同分布

    直方图估计:

    [hat{p}_N(x) =frac{k_N}{NV_N} ightarrow p(x) ]

    估计收敛条件:

    [V_N ightarrow 0,~k_N ightarrow infty ,~k_N/N ightarrow 0 ]

    2.4 Parzen 窗估计 (Kernel Density Estimation)

    思想:固定小舱体积,滑动小舱估计每个点的概率密度

    区域:(R_N)(d) 维超立方体,棱长 (h_N),体积 (V_N=h_{N}^{d})

    窗函数条件:(displaystylephi left(u ight)geqslant 0,~int{phi left(u ight)mathrm{d}u}=1)

    1. 方窗:

    [phi left(u ight)= egin{cases} 1, &mathrm{if}~left| u ight|_{infty}leqslant 1/2\ 0, &mathrm{otherwise} end{cases} ]

    1. 正态窗:

    [phi left(u ight)=frac{1}{sqrt{2pi}}exp left(-frac{1}{2}u^2 ight),~uinmathbb{R} ]

    1. 指数窗:

    [phi left(u ight)=frac{1}{2}exp left(-|u| ight),~uinmathbb{R} ]

    落入以 (x) 为中心的区域的样本数:

    [k_N=sum_{i=1}^N{phi left(frac{x-x_i}{h_N} ight)} ]

    概率密度函数估计:

    [hat{p}_N(x)=frac{1}{N}sum_{i=1}^N{frac{1}{V_N}phi left(frac{x-x_i}{h_N} ight)} ]

    窗宽选取:(h_N=h_1/sqrt{N}),其中 (h_1) 可调且一般存在最优值

    估计量性质:一维正态窗

    [egin{aligned} ar{p}_N &=mathbb{E} left[hat{p}_N(x) ight] \ &sim mathcal{N} left(mu ,sigma ^2+h_{N}^{2} ight) end{aligned} ]

    2.5 (k_N) 近邻估计

    思想:固定小舱内数据点个数,滑动可变大小的小舱对每个采样点 (而不是数据点) 进行概率密度估计

    数据点个数:(k_N=k_1sqrt{N}),其中 (k_1) 可调且一般存在最优值

    2.6 估计准确性、维数问题与过拟合

    估计准确性:

    1. 贝叶斯误差:不同的类条件概率分布函数之间的相互重叠
    2. 模型误差:选择了错误的概率密度函数模型
    3. 估计误差:采用有限样本进行估计所带来的误差

    维数问题:维数为 (d),需要样本 (100^d) →维数灾难

    过拟合避免方法:

    1. 贝叶斯方法
    2. 增加样本数
    3. 正则化
    4. 减少模型参数

    3 EM 算法与高斯混合模型 GMM

    3.1 EM 算法

    思想:用隐变量对缺失数据建模,迭代实现最大似然估计

    数据:(X=left{ x_1,dots ,x_N ight}),隐变量 (Y),完整数据 (Z=left(X,Y ight))

    似然函数:

    [egin{aligned} lleft( heta ight) &=pleft(X| heta ight)\ &=sum_{yin Y}pleft(X,y| heta ight) end{aligned} ]

    对数似然函数:

    [egin{aligned} Lleft( heta ight) &=ln lleft( heta ight)\ &=ln sum_{yin Y}pleft(X,y| heta ight) end{aligned} ]

    对数似然函数的下界:应用 Jensen 不等式于对数函数可得

    [egin{aligned} Lleft( heta ight) &=ln sum_ypleft(X,y| heta ight)\ &=ln sum_yfrac{q(y)pleft(X,y| heta ight)}{q(y)}\ &geqslant sum_yq(y)lnfrac{pleft(X,y| heta ight)}{q(y)} \ &=sum_yq(y)ln pleft(X,y| heta ight)-sum_yq(y)ln q(y)\ & riangleq Fleft(q, heta ight) end{aligned} ]

    迭代优化下界:初始化 (q_{left[0 ight]},~ heta_{left[0 ight]}) 后反复迭代

    [egin{aligned} q_{left[k+1 ight]}&gets mathrm{argmax}_qFleft(q, heta_{left[k ight]} ight)\ heta_{left[k+1 ight]}&gets mathrm{argmax}_{ heta}Fleft(q_{left[k+1 ight]}, heta ight) end{aligned} ]

    迭代优化下界

    期望:当 (q=pleft(y|X, heta_{left[k ight]} ight)) 为后验概率时,(Fleft(q, heta_{left[k ight]} ight)) 达到最大

    [egin{aligned} Fleft(q, heta ight) &=sum_yq(y)lnfrac{pleft(X,y| heta ight)}{q(y)}\ &=sum_ypleft(y|X, heta ight)lnfrac{pleft(y|X, heta ight)pleft(X| heta ight)}{pleft(y|X, heta ight)} \ &=sum_ypleft(y|X, heta ight)ln pleft(X| heta ight)\ &=ln pleft(X| heta ight)\ &=Lleft( heta ight) end{aligned} ]

    [egin{aligned} Fleft(q_{left[k+1 ight]}, heta ight)=sum_yq_{left[k+1 ight]}(y)ln pleft(X,y| heta ight)-sum_yq_{left[k+1 ight]}(y)ln q_{left[k+1 ight]}(y) end{aligned} ]

    第二项不包含优化变量 ( heta) 可忽略,代入 (q_{left[k+1 ight]}(y)) 并定义

    [egin{aligned} Qleft( heta_{left[k ight]}, heta ight)& riangleq sum_ypleft(y|X, heta_{left[k ight]} ight)ln pleft(X,y| heta ight)\ &=mathbb{E} left[ln pleft(X,y| heta ight)|X, heta_{left[ k ight]} ight] end{aligned} ]

    最大化:

    [ heta_{left[k+1 ight]}gets mathrm{argmax}_{ heta}Qleft( heta_{left[k ight]}, heta ight) ]

    广义最大化:

    [ heta_{left[k+1 ight]}in left{ heta_{left[k+1 ight]}|Qleft( heta_{left[k ight]}, heta_{left[k+1 ight]} ight)>Qleft( heta_{left[k ight]}, heta_{left[k ight]} ight) ight} ]

    3.2 高斯混合模型 GMM

    隐变量:(Y=left{ yin mathbb{R} ^N ight}) 表示样本 (x_i) 由第 (y_i) 个高斯分布产生

    混合模型:

    [pleft(X|Theta ight)=Sigma_jalpha_jp_jleft(X| heta_j ight) ]

    其中

    [Theta =left{ alpha_j, heta_j ight},~sum_jalpha_j=1 ]

    由独立同分布可得

    [egin{aligned} pleft(X|Theta ight) &=prod_ipleft(x_i|Theta ight)\ &=prod_isum_jalpha_jp_jleft(x_i| heta_j ight) end{aligned} ]

    对数似然函数:

    [ln pleft(X|Theta ight)=sum_iln sum_jalpha_jp_jleft(x_i| heta_j ight) ]

    极大似然估计:

    [ abla_{Theta}ln pleft(X|Theta ight)=0Rightarrow Theta ]

    结果与EM相同

    EM 算法:

    [pleft(X,y|Theta ight)=prod_ipleft(x_i|y_i ight)pleft(y_i ight) ]

    [egin{aligned} ln pleft(X,y|Theta ight) &=sum_iln pleft(x_i|y_i ight)pleft(y_i ight)\ &=sum_iln alpha_{y_i}p_{y_i}left(x_i| heta_{y_i} ight) end{aligned} ]

    [egin{aligned} pleft(y|X,Theta ^g ight) &=prod_ipleft(y_i|x_i,Theta ^g ight)\ &=prod_ialpha_{y_i}^{g}frac{p_{y_i}left(x_i| heta_{y_i}^{g} ight)}{pleft(x_i|Theta ^g ight)} end{aligned} ]

    [egin{aligned} Qleft(Theta ^g,Theta ight) &=sum_ypleft(y|X,Theta ^g ight)ln pleft(X,y|Theta ight)\ &=sum_jsum_iln left(alpha_jp_jleft(x_i| heta_j ight) ight)pleft(j|x_i,Theta ^g ight)\ &=sum_jsum_ipleft(j|x_i,Theta ^g ight)left[ln alpha_j+ln p_jleft(x_i| heta_j ight) ight] end{aligned} ]

    (alpha_j)( heta_j) 解耦可分别优化,由 (sum_ialpha_i=1) 及梯度条件解得

    [egin{aligned} alpha_{j}^{mathrm{new}}&=frac{1}{N}sum_ipleft(j|x_i,Theta ^g ight)\ mu_{j}^{mathrm{new}}&=frac{1}{Nalpha_{j}^{mathrm{new}}}sum_ix_ipleft(j|x_i,Theta ^g ight)\ Sigma_{j}^{mathrm{new}}&=frac{1}{Nalpha_{j}^{mathrm{new}}}sum_ipleft(j|x_i,Theta ^g ight)left(x_i-mu_{j}^{mathrm{new}} ight)left(x_i-mu_{j}^{mathrm{new}} ight)^{ op} end{aligned} ]

    若限制各成分的协方差矩阵均相同,则 M 步需要修改为

    [Sigma ^{mathrm{new}}=sum_{j}sum_ifrac{pleft(j|x_i,Theta ^g ight)left(x_i-mu_{j}^{mathrm{new}} ight)left(x_i-mu_{j}^{mathrm{new}} ight)^{ op}}{Nsum_jalpha_{j}^{mathrm{new}}} ]

    例题:三维数据点,偶数点的第3维数据缺失,令 (x_{i3},~iin E) 为隐变量,

    [x_i=left[x_{i1},x_{i2},x_{i3} ight] ^{ op} ]

    则对数似然函数为

    [egin{aligned} Lleft( heta ight) &=sum_{iin O}ln pleft(x_{i1},x_{i2},x_{i3}| heta ight)+sum_{iin E}ln pleft(x_{i1},x_{i2}| heta ight)\ &=sim +sum_{iin E}ln int_{-infty}^{+infty}pleft(x_{i1},x_{i2},x_{i3}| heta ight)mathrm{d}x_{i3}\ &=sim +sum_{iin E}ln int_{-infty}^{+infty}frac{qleft(x_{i3} ight)pleft(x_{i1},x_{i2},x_{i3}| heta ight)}{qleft(x_{i3} ight)}mathrm{d}x_{i3}\ &geqslant sim +sum_{iin E}int_{-infty}^{+infty}qleft(x_{i3} ight)lnfrac{pleft(x_{i1},x_{i2},x_{i3}| heta ight)}{qleft(x_{i3} ight)} mathrm{d}x_{i3} end{aligned} ]

    [Qleft( heta_{left[k ight]}, heta ight)=sim +sum_{iin E}int_{-infty}^{+infty}pleft(x_{i3}|x_{i1},x_{i2}, heta_{left[k ight]} ight)ln pleft(vec{x}_i| heta ight)mathrm{d}x_{i3} ]

    4 线性判别函数

    思想:

    1. 不恢复类条件概率密度,利用样本直接设计分类器
    2. 线性判别函数形式简单易分析,但往往不是最优分类器

    线性判别函数:(g(x)=w^{ op}x+w_0)

    两类问题:(g(x)=g_1(x)-g_2(x)),分类决策为

    [egin{cases} xin omega_1, &mathrm{if}~g(x)>0\ xin omega_2, &mathrm{if}~g(x)<0\ mathrm{either}~mathrm{or}~mathrm{reject}, &mathrm{otherwise} end{cases} ]

    点到直线距离:

    [r=frac{g(x)}{left| w ight|} ]

    广义线性判别:

    [g(x)=w^{ op}x+w_0 riangleq a^{ op}y ]

    其中增广样本向量为

    [y=egin{bmatrix} 1\ x end{bmatrix} ]

    增广权向量为

    [a=egin{bmatrix} w_0\ w end{bmatrix} ]

    样本规范化:

    [y_{i}'= egin{cases} y_i, & mathrm{if}~y_iin omega_1\ -y_i, & mathrm{if}~y_iin omega_2 end{cases} ]

    解区:解向量集合 (left{ a|a^{ op}y_{i}'>0,~forall~i ight})

    解区限制:(a^{ op}y_igeqslant b>0,~forall~i)

    感知准则函数:

    [min J_pleft(a ight)=sum_{yin Y^k}left(-a^{ op}y ight) ]

    最小化错分样本 (yin Y^k) 到分界面距离之和,梯度为

    [ abla J_pleft(a ight)=sum_{yin Y^k}left(-y ight) ]

    迭代公式为

    [aleft(k+1 ight)=aleft(k ight)+ ho_ksum_{yin Y^k}y ]

    直到 (a) 不变

    单样本感知器算法:循环处理每个样本,若 (a^{ op}y^kleqslant gamma),其中 (gamma geqslant 0),则

    [aleft(k+1 ight)=aleft(k ight)+y^k ]

    直到所有样本满足条件

    多类问题:

    1. (c-1) 个非己:(omega_1) 与非 (omega_1)(omega_2) 与非 (omega_2),双非为 (omega_3)
    2. (cleft(c-1 ight)/2) 个两类:(omega_1-omega_2), (omega_1-omega_3), (omega_2-omega_3) 三条线
    3. 直接设计判别函数:

    [mathcal{R}_i=left{ x|g_i(x)>g_j(x),~forall~j e i ight} ]

    5 支持向量机SVM

    判别式模型:直接利用样本计算判别函数

    5.1 线性可分情形

    样本集合:

    [T=left{ left(x_i,y_i ight) ight}_{i=1}^{N} ]

    其中

    [y_i= egin{cases} 1, &mathrm{if}~x_iin omega_1\ -1, &mathrm{if}~x_iin omega_2\ end{cases} ]

    线性判别函数:

    [y_ileft(w^{ op}x_i+b ight)geqslant 1,~forall~i ]

    margin

    [ ho=frac{2}{|w|} ]

    优化问题:

    [min left{frac{1}{2}w^{ op}w|y_ileft(w^{ op}x_i+b ight)geqslant 1, i=1,dots ,N ight} ]

    Lagrange 函数为

    [Lleft(w,b,alpha ight)=frac{1}{2}w^{ op}w-sum_{i=1}^{N}alpha_ileft[y_ileft(w^{ op}x_i+b ight)-1 ight] ]

    梯度条件:

    [w=sum_{i=1}^{N}alpha_iy_ix_i,~sum_{i=1}^{N}alpha_iy_i=0 ]

    对偶函数:

    [Qleft(alpha ight)=sum_{i=1}^{N}alpha_i-frac{1}{2}sum_{i=1}^{N}sum_{j=1}^{N}alpha_ialpha_jy_iy_jx_{i}^{ op}x_j ]

    对偶问题:

    [max left{ Qleft(alpha ight)|sum_{i=1}^{N}alpha_iy_i=0,~alpha geqslant 0 ight} ]

    支持向量:互补松弛

    [alpha_{i}^{*}left[y_ileft(left< w^*,x_i ight> +b ight)-1 ight] =0,~alpha_{i}^{*} e 0 ]

    支持向量机:

    [f(x)=mathrm{sgn} left(sum_ialpha_{i}^{*}y_ix_{i}^{ op}x+b^* ight)in left{ -1,+1 ight} ]

    5.2 线性不可分情形

    Soft margin:(y_ileft(w^{ op}x_i+b ight)geqslant 1-xi_i,~forall~i)

    松弛变量:

    [egin{cases} 0leqslant xi_ileqslant 1, &mathrm{if}~mathrm{violated}\ xi_i>1, &mathrm{if}~mathrm{misclassified} end{cases} ]

    优化问题:错分率上界 (sum_ixi_i),tradeoff (C)

    [egin{aligned} min~~&frac{1}{2}w^{ op}w+Csum_ixi_i\ mathrm{s.t.}~~& y_ileft(w^{ op}x_i+b ight)geqslant 1-xi_i,~forall~i\ &xi_igeqslant 0,~forall~i end{aligned} ]

    无约束形式:

    [min~frac{1}{2}w^{ op}w+Csum_iLleft(w,b;x_i,y_i ight) ]

    其中 Hinge 损失函数为

    [Lleft(w,b;x_i,y_i ight)=max left{ 1-y_ileft(w^{ op}x_i+b ight),0 ight} ]

    对偶问题:

    [max left{ Qleft(alpha ight)|sum_{i=1}^{N}alpha_iy_i=0,~0leqslant alpha leqslant C ight} ]

    5.3 非线性情形 Kernel SVM

    广义线性可分:低维空间 (L) 升到高维空间 (H) 使样本线性可分

    升维原因:输入空间 (L) 一般不是正常的特征空间

    核函数:

    [Kleft(x_i,x_j ight)=left< Phi left(x_i ight),Phi left(x_j ight) ight> ]

    其中 (Phi :L ightarrow H)

    多项式核函数:

    [Kleft(x,y ight)=left(gamma left< x,y ight> +r ight)^p, gamma >0 ]

    径向基 RBF 核函数:

    [Kleft(x,y ight)=exp left(-frac{left| x-y ight| ^2}{2sigma ^2} ight) ]

    Sigmiod 核函数:

    [Kleft(x,y ight)= anh left(kappa left< x,y ight> -delta ight) ]

    对偶函数:

    [Qleft(alpha ight)=sum_{i=1}^{N}alpha_i-frac{1}{2}sum_{i=1}^{N}sum_{j=1}^{N}alpha_ialpha_jy_iy_jKleft(x_i,x_j ight) ]

    对偶问题:

    [max left{ Qleft(alpha ight)|sum_{i=1}^{N}alpha_iy_i=0,~0leqslant alpha leqslant C ight} ]

    非线性支持向量机:

    [f(x)=mathrm{sgn} left(sum_ialpha_{i}^{*}y_iKleft(x_i,x ight)+b^* ight) ]

    5.4 SVM 几点改进

    可微损失函数:

    [Lleft(w,b;x_i,y_i ight)=left(max left{ 1-y_ileft(w^{ op}x_i+b ight),0 ight} ight)^2 ]

    L1 正则化:稀疏性

    [min left| w ight|_1+Csum_iLleft(w,b;x_i,y_i ight) ]

    多核学习:

    [Kleft(x,y ight)=sum_{i=1}^{m}eta_iK_ileft(x,y ight) ]

    其中

    [eta_igeqslant 0,~sum_ieta_i=1 ]

    6 近邻法与距离度量

    6.1 最近邻法 (Nearest Neighbor)

    思想:测试样本与距离它最近的样本属于同类

    数据:(c)(left{ omega_1,dots ,omega_c ight}),每类 (N_i) 个样本

    [left{ x_{i}^{left(1 ight)},x_{i}^{left(2 ight)},dots ,x_{i}^{left(N_i ight)} ight} ]

    判别函数:

    [g_i(x)=min_kleft| x-x_{i}^{left(k ight)} ight| , k=1,2,dots ,N_i ]

    决策规则:

    [g_j(x)=min_ig_i(x)Rightarrow xin omega_j ]

    Voronoi 区域:L2 范数为凸,L1 范数非凸

    L2 范数 Voronoi 区域

    证明:由余弦定理

    [a^{ op}b=frac{left| a ight| ^2+left| b ight| ^2-left| a-b ight| ^2}{2} ]

    可知对 (xi_1,xi_2in V_i)

    [xi =lambda xi_1+left(1-lambda ight)xi_2,~lambda in left[0,1 ight] ]

    [egin{aligned} left| xi -x_i ight| ^2 &=lambda left| xi_1-x_i ight| ^2-lambda left(1-lambda ight)left| xi_1-xi_2 ight| ^2 +left(1-lambda ight)left| xi_2-x_i ight| ^2\ &leqslant left| xi -x_j ight| ^2,~forall~j e i end{aligned} ]

    平均错误率:

    [P_Nleft(e ight)=iint{P_Nleft(e|x,x' ight)pleft(x'|x ight)mathrm{d}x'p(x)mathrm{d}x} ]

    渐进平均错误率:

    [P=lim_{N ightarrow infty} P_Nleft(e ight) ]

    记 Bayes 错误率为 (P^*), 则渐进平均错误率的范围

    [P^*leqslant Pleqslant P^*left(2-frac{c}{c-1}P^* ight) ]

    近邻法错误率与 Bayes 错误率对比

    6.2 (k)-近邻法 ((k) Nearest Neighbors)

    思想:测试样本与距离它最近的 (k) 个样本中占优的类同类

    算法:最近邻法寻找 (k) 个近邻,(k_i) 表示属于 (omega_i) 的样本数,判别函数 (g_i(x)=k_i),决策规则

    [g_j(x)=max_ik_iRightarrow xin omega_j ]

    6.3 近邻法快速算法

    思想:样本集分级分解成多个子集 (树状结构) ,每个子集 (结点) 可用较少几个量代表,通过将新样本与各结点比较排除大量候选样本,只与最终结点 (子集) 中逐个样本比较

    6.4 压缩近邻法 (Condensing)

    算法:关注两类边界附近的样本,初始 Grabbag 为全部样本

    1. 从 Grabbag 中选择一个样本放入 Store 中
    2. 用 Store 中样本以近邻法测试 Grabbag 中样本,若分错则将该样本放入 Store
    3. 重复 2) 直到 Grabbag 中没有样本再转到 Store 中,或 Grabbag 为空则停止
    4. 用 Store 中样本作为近邻法设计集

    6.5 距离度量

    距离定义:二元函数 (Dleft(cdot ,cdot ight))

    1. 自反性:(Dleft(x,y ight)=0Leftrightarrow x=y)
    2. 对称性:(Dleft(x,y ight)=Dleft(y,x ight))
    3. 三角不等式:(Dleft(x,y ight)+Dleft(y,z ight)geqslant Dleft(x,z ight))

    注释:非负性 (Dleft(x,y ight)geqslant 0) 可由定义三条性质导出

    Minkowski 距离度量:

    [Dleft(x,y ight)=left(sum_{j=1}^{d}|x_j-y_j|^s ight)^{1/s},~sgeqslant 1 ]

    欧氏距离:

    [Dleft(x,y ight)=left| x-y ight|_2=sqrt{left(x-y ight)^{ op}left(x-y ight)} ]

    Chebychev 距离:

    [Dleft(x,y ight)=left| x-y ight|_{infty}=max_j|x_j-y_j| ]

    马氏距离:可以表示样本距离对样本分布 (主要是方差) 的依赖性

    [Dleft(x,y ight)=left(x-y ight)^{ op}Sigma ^{-1}left(x-y ight),~Sigma =AA^{ op} ]

    且变换后等价于欧氏距离平方:

    [A^{-1}:xmapsto x'Rightarrow Dleft(x,y ight)=left| x'-y' ight|_{2}^{2} ]

    概率分布相似性判据:基于类条件概率密度函数

    1. Bhattacharyya 距离:

    [J_B=-ln int left[pleft(x|omega_1 ight)pleft(x|omega_2 ight) ight] ^{1/2}mathrm{d}x ]

    1. Chernoff 界限:

    [J_C=-ln int p^sleft(x|omega_1 ight)p^{1-s}left(x|omega_2 ight)mathrm{d}x ]

    1. 散度:

    [J_D=int left[pleft(x|omega_1 ight)-pleft(x|omega_2 ight) ight] lnfrac{pleft(x|omega_1 ight)}{pleft(x|omega_2 ight)} mathrm{d}x ]

    散度定义来源:

    [Dleft(f_1,f_2 ight)=int f_1(x)lnfrac{f_1(x)}{f_2(x)} mathrm{d}x ]

    [J_D=Dleft(f_1,f_2 ight)+Dleft(f_2,f_1 ight) ]

    切距离:记 (y) 所处流形的切空间基矩阵为 (T), 则切距离为

    [Dleft(x,y ight)=min_aleft| left(y+aT ight)-x ight| ]

    Holder 不等式:

    [sum_{k=1}^{n}a_kb_kleqslant left| a ight|_pleft| b ight|_q,~frac{1}{p}+frac{1}{q}=1 ]

    Minkowski 不等式:

    [left| a+b ight|_pleqslant left| a ight|_p+left| b ight|_p,~pgeqslant 1 ]

    7 特征提取与选择

    模式识别系统构成:

    1. 数据获取→特征提取与选择→分类器设计
    2. 数据获取→特征提取与选择→测试

    7.1 Fisher 线性判别

    思想:把 (d) 维空间的样本投影到分开得最好的一条直线上

    样本:

    [X=left{ x_1,dots ,x_N ight} =X_1+X_2 ]

    其中

    [|X_1|=N_1,~|X_2|=N_2 ]

    降维:(y_n=w^{ op}x_n),寻找最好的投影方向即寻找 (w)

    样本均值:

    [m_i=frac{1}{N_i}sum_{xin X_i}x ]

    类内离散度矩阵:

    [S_i=sum_{xin X_i}left(x-m_i ight)left(x-m_i ight)^{ op} ]

    总类内 (within-class) 离散度:(S_w=sum_iS_i),一般可逆

    类间 (between-class) 离散度:

    [S_b=left(m_1-m_2 ight)left(m_1-m_2 ight)^{ op} ]

    一维投影空间:样本均值

    [ ilde{m}_i=frac{1}{N_i}sum_{yin Y_i}y ]

    类内离散度

    [ ilde{S}_{i}^{2}=sum_{yin Y_i}left(y- ilde{m}_i ight)^2 ]

    总类内离散度

    [ ilde{S}_w= ilde{S}_{1}^{2}+ ilde{S}_{2}^{2} ]

    Fisher 准则函数:

    [J_Fleft(w ight)=frac{left( ilde{m}_1- ilde{m}_2 ight)^2}{ ilde{S}_{1}^{2}+ ilde{S}_{2}^{2}} ]

    优化问题:广义 Rayleigh 商

    [max~J_Fleft(w ight)=frac{w^{ op}S_bw}{w^{ op}S_ww} ]

    令分母为非零常数 (w^{ op}S_ww=c e 0),可定义 Lagrange 函数

    [Lleft(w,lambda ight)=w^{ op}S_bw-lambda left(w^{ op}S_ww-c ight) ]

    由梯度条件可得

    [S_bw^*=lambda S_ww^* ]

    [egin{aligned} lambda w^* &=S_{w}^{-1}S_bw^*\ &=S_{w}^{-1}left(m_1-m_2 ight)R end{aligned} ]

    其中

    [R=left(m_1-m_2 ight)^{ op}w ]

    忽略比例因子 (R/lambda)

    [w^*=S_{w}^{-1}left(m_1-m_2 ight) ]

    一维分类:估计类条件概率密度函数,采用 Bayes 决策,或取决策边界

    [egin{aligned} y_{0}^{left(1 ight)}&=frac{ ilde{m}_1+ ilde{m}_2}{2}\ y_{0}^{left(2 ight)}&=frac{N_2 ilde{m}_1+N_1 ilde{m}_2}{N} end{aligned} ]

    注释:Fisher 适合正态分布数据,若投影到平面则可把两类切割开组成多类,(S_w) 不可逆则数据有冗余,降维到可逆

    多类 Fisher 线性判别:(K) 类则最多可选取 (K-1) 个特征

    7.2 类别可分性判据

    基于类内类间距离:

    [egin{aligned} J_2&=mathrm{Tr}left(S_{w}^{-1}S_b ight)\ J_3&=lnfrac{|S_b|}{|S_w|}\ J_4&=frac{mathrm{Tr}left(S_b ight)}{mathrm{Tr}left(S_w ight)}\ J_5&=frac{|S_w+S_b|}{|S_w|}\ end{aligned} ]

    基于概率分布:(J_B,~J_C,~J_D)

    基于熵函数:

    [J_{c}^{alpha}=left(2^{1-alpha}-1 ight)^{-1}left[sum_{i=1}^{c}P^{alpha}left(omega_i|x ight)-1 ight] ]

    其中参数 (alpha ightarrow 1):Shannon 熵,(alpha =2):平方熵

    7.3 特征提取

    降维:(xin mathbb{R} ^Dmapsto yin mathbb{R} ^d)

    [y=W^{ op}x,~Win mathbb{R} ^{D imes d} ]

    优化问题:(S_{w}^{-1}S_b)(d) 个特征值对应的特征向量组成 (W)

    7.4 特征选择

    问题:单独最好的 (d) 个特征组合起来不一定是最好的

    最优搜索算法:穷举法,分枝定界法

    次优搜索算法:单独最优特征组合

    1. 单独最优特征组合:

    [J(x)=sum_iJleft(x_i ight)~mathrm{or}~ prod_iJleft(x_i ight) ]

    1. 顺序前进法:单独最好+合作最好+合作最好
    2. 顺序后退法:全部-合作最不好-合作次不好
    3. (l)(r) 法:增加合作最好的,删除合作最不好的
    4. 智能算法:模拟退火,遗传算法,Tabu 搜索

    Relief 算法:

    输入:训练集 (X=left{ x_iin mathbb{R} ^d ight}_{i=1}^{N})

    随机选择样本数 (n)

    设定 (d) 维权重向量

    [w=[w_1,w_2,…,w_D]^{ op}=0 ]

    for (i=1) to (n)

    (X) 中随机选择一个样本 (x)

    计算 (X) 中离 (x) 最近的同类样本 (h),不同类的样本 (m)

    for (j=1) to (d)

    [w_j=w_j-frac{mathrm{diff}(j,x,h)}{n}+frac{mathrm{diff}(j,x,m)}{n} ]

    return (w)

    输出:权重 (w) 最大的前 (k) 个特征

    差异计算:(mathrm{diff(}j,x,h)) 表示 (x)(h) 在第 (j) 维上绝对值的差异

    1. 离散变量:

    [mathrm{diff}(j,x,h)=1-left[x_j=h_j ight] ]

    1. 连续变量:

    [mathrm{diff}(j,x,h)=frac{|x_j-h_j|}{x_{jmax}-x_{jmin}} ]

    8 深度学习

    8.1 Multi-Layer Perception, MLP

    Perceptron:单个神经元→感知器

    感知器

    (x=left[x_1,dots ,x_p ight] ^{ op}, w=left[w_1,dots ,w_p ight] ^{ op})

    神经元输入 (v=w^{ op}x- heta)

    [y=mathrm{sgn}(v)= egin{cases} +1, &mathrm{if}~vgeqslant 0\ -1, &mathrm{if}~v< 0\ end{cases} ]

    激活函数:

    1. 符号函数:

    [phi(x)=mathrm{sgn}(x) ]

    1. Sigmoid:

    [phi(x)=frac{1}{1+exp(-x)} ]

    1. 分段线性函数
    2. ReLU:

    [phi (x)= egin{cases} x, &mathrm{if}~xgeqslant0\ 0, &mathrm{if}~x<0\ end{cases} ]

    1. Leaky ReLU:

    [phi (x)= egin{cases} x, &mathrm{if}~xgeqslant 0\ ax, &mathrm{if}~x<0\ end{cases} ]

    1. Softmax:

    [phi(x)=frac{exp(x)}{1^{ op}exp(x)} ]

    1. 双曲正切:

    [phi (x)= anh (x)=frac{mathrm{e}^x-mathrm{e}^{-x}}{mathrm{e}^x+mathrm{e}^{-x}} ]

    Multi-Layer Perceptron:多层感知机网络

    逼近能力:(forall fin C^{left[0,1 ight] ^p}, epsilon >0, exists~M,alpha , heta ,w)

    [F(x)=sum_{i=1}^{M}alpha_iphi left(sum_{j=1}^{p}w_{ij}x_j- heta_i ight) ]

    使得

    [|F(x)-f(x)|<epsilon ]

    标签:one-hot vector

    [y=left[0,dots ,0,1,0,dots ,0 ight] ]

    交叉熵损失:(L=-y^{ op}ln hat{y})(hat{y}) 为网络输出判别结果

    均方误差损失:样本集 (X=left{ x_n ight}_{n=1}^{N}),标签为 (left{ dleft(n ight) ight})

    输出端第 (j) 个单元对第 (n) 个样本的输出:(y_jleft(n ight))

    (j) 个单元的误差信号:

    [e_jleft(n ight)=d_jleft(n ight)-y_jleft(n ight) ]

    输出端对第 (n) 个样本的平方误差:

    [Eleft(n ight)=frac{1}{2}sum_{j=1}^{c}e_{j}^{2}left(n ight) ]

    全部 (N) 个样本的平方误差均值:

    [E_{mathrm{av}}=frac{1}{N}sum_{n=1}^{N}Eleft(n ight) ]

    逐个样本学习的 BP 算法:

    1. 误差对输出单元 (j) 的权重 (left{ w_{ji},~forall~i ight}) 求梯度

    [v_jleft(n ight)=sum_{i=0}^{p}w_{ji}left(n ight)y_ileft(n ight) ]

    [y_jleft(n ight)=phi_jleft(v_jleft(n ight) ight) ]

    可得

    [egin{aligned} frac{partial Eleft(n ight)}{partial w_{ji}left(n ight)} &=frac{partial Eleft(n ight)}{partial e_jleft(n ight)}frac{partial e_jleft(n ight)}{partial y_jleft(n ight)}frac{partial y_jleft(n ight)}{partial v_jleft(n ight)}frac{partial v_jleft(n ight)}{partial w_{ji}left(n ight)}\ &=-e_jleft(n ight)phi_{j}^{'}left(v_jleft(n ight) ight)y_ileft(n ight)\ & riangleq delta_jleft(n ight)y_ileft(n ight) end{aligned} ]

    权重修正:

    [w_{ji}=w_{ji}+eta delta_jleft(n ight)y_ileft(n ight) ]

    其中 (delta_jleft(n ight)) 称为局部梯度

    1. 误差对内部隐单元 (j) 的权重 (left{ w_{ji},~forall~i ight}) 求梯度

    局部梯度为

    [egin{aligned} delta_jleft(n ight) &=-frac{partial Eleft(n ight)}{partial y_jleft(n ight)}frac{partial y_jleft(n ight)}{partial v_jleft(n ight)}\ &=-frac{partial Eleft(n ight)}{partial y_jleft(n ight)}phi_{j}^{'}left(v_jleft(n ight) ight) end{aligned} ]

    其中

    [egin{aligned} frac{partial Eleft(n ight)}{partial y_jleft(n ight)} &=sum_k{frac{partial Eleft(n ight)}{partial e_kleft(n ight)}frac{partial e_kleft(n ight)}{partial y_kleft(n ight)}frac{partial y_kleft(n ight)}{partial v_kleft(n ight)}frac{partial v_kleft(n ight)}{partial y_jleft(n ight)}}\ &=-sum_ke_kphi 'left(v_kleft(n ight) ight)w_{kj}left(n ight)\ &=-sum_kdelta_kleft(n ight)w_{kj}left(n ight) end{aligned} ]

    因此

    [delta_jleft(n ight)=phi_{j}^{'}left(v_jleft(n ight) ight)sum_kdelta_kleft(n ight)w_{kj}left(n ight) ]

    权重修正:

    [w_{ji}=w_{ji}+eta delta_jleft(n ight)y_ileft(n ight) ]

    BP 问题:局部极值且收敛缓慢,需大量数据已知网络结构

    深度问题:更深的深度可以具有更好的表示性但优化更困难

    例题:(k) 类,输入 (xin mathbb{R} ^d),one-hot 标签 (yin mathbb{R} ^k),交叉熵损失网络为

    [egin{aligned} hat{y}&=fleft(x;W_1,b_1,W_2,b_2 ight)\ h_1&=W_{1}^{ op}x+b_1 \ a_1&=mathrm{ReLU}left(h_1 ight)\ h_2&=egin{bmatrix} a_1\ x end{bmatrix} \ a_2&=h_2odot m \ h_3&=W_{2}^{ op}a_2+b_2 \ hat{y}&=mathrm{Softmax}left(h_3 ight) end{aligned} ]

    则损失函数对各个变量的梯度为

    [egin{aligned} ar{hat{y}}&=-yhat{y} \ ar{h}_3&=hat{y}-y \ ar{W}_2&=a_2ar{h}_{3}^{ op} \ ar{b}_2&=ar{h}_3 \ ar{a}_2&=W_2ar{h}_3\ ar{h}_2&=modot ar{a}_2 \ ar{a}_1&=left[I~~0 ight] ar{h}_2 \ ar{h}_1&=mathrm{diag}left[frac{1+mathrm{sgn} left(h_1 ight)}{2} ight]ar{a}_1\ ar{W}_1&=xar{h}_{1}^{ op} \ ar{b}_1&=ar{h}_1 \ ar{x}&=W_1ar{h}_1+left[0~~I ight] ar{h}_2 end{aligned} ]

    8.2 Convolutional Neural Networks (CNN)

    Dropout:随机删除某个节点的连接,以重点关注其余节点

    例题:输入 (xin mathbb{R} ^{C_{mathrm{in}} imes H imes W}),

    [egin{aligned} u_1&=mathrm{Conv}2mathrm{d}left(C_{mathrm{in}},C_{mathrm{out}},k ight)(x)\ h_1&=mathrm{MaxPoil}2mathrm{d}left(N ight)left(u_1 ight) \ a_1&=mathrm{ReLU}left(h_1 ight) \ u_2&=mathrm{Flatten}left(a_1 ight)\ h_2&=W_{2}^{ op}u_2+b_2 \ hat{y}&=mathrm{Softmax} left(h_2 ight)\ end{aligned} ]

    则损失函数对各个变量的梯度为

    [egin{aligned} ar{h}_2&=hat{y}-y \ ar{W}_2&=a_2ar{h}_{2}^{ op}\ ar{b}_2&=ar{h}_2 \ ar{u}_2&=W_2ar{h}_2 \ ar{a}_{1}^{left(i,j,k ight)}&=W_{2}^{left(nleft(i,j,k ight),: ight)}ar{h}_2 end{aligned} ]

    其中

    [nleft(i,j,k ight)=left(i-1 ight)H_{mathrm{mp}}W_{mathrm{mp}}+left(j-1 ight)W_{mathrm{mp}}+k ]

    [ar{h}_{1}^{(r,s,t)}=frac{1+mathrm{sgn} left(h_{1}^{(r,s,t)} ight)}{2} ar{a}_{1}^{(r,s,t)} ]

    卷积:

    [u_{1}^{left(j,:,: ight)}=b_{1}^{left(j,:,: ight)}+sum_{k=1}^{C_{mathrm{in}}}W_{1}^{left(j,k,:,: ight)}star x^{left(k,:,: ight)} ]

    其中 (star) 符号表示二维互相关

    例题:

    [a_i=mathrm{Sigmoid}left(W_{i}^{ op}a_{i-1}+b_i ight),~i=1,dots ,l ]

    [a_0=x, a_l=hat{y} ]

    [sigma left(z ight) riangleq mathrm{Sigmoid}left(z ight) ]

    [sigma 'left(z ight)=mathrm{diag}left(sigma left(z ight)odot left[1-sigma left(z ight) ight] ight) ]

    因此

    [ar{W}_1=xleft[left(prod_{i=2}^{l}W_i ight)left(prod_{j=1}^{l}sigma 'left(a_j ight) ight)ar{hat{y}} ight] ^{ op} ]

    其中

    [sigma 'left(a_j ight)leqslant frac{1}{4} ]

    则会出现梯度消失的问题

    ReLU:

    [ar{W}_1=xleft[left(prod_{i=2}^{l}W_i ight)left(prod_{j=1}^{l}mathrm{diag}left[frac{1+mathrm{sgn} left(a_j ight)}{2} ight] ight)ar{hat{y}} ight] ^{ op} ]

    若行列式 (mathrm{det}(W_i)) 过小,则其连乘部分会消失,整体的梯度仍然会消失

    ResNet:

    [a_i=mathrm{Sigmoid}left(W_{i}^{ op}a_{i-1}+b_i ight)+a_{i-1},i=1,dots ,l ]

    则梯度为

    [ar{W}_1=xleft[sigma 'left(a_1 ight)left(prod_{i=2}^{l}left[ W_isigma 'left(a_i ight)+I ight] ight)ar{hat{y}} ight] ^{ op} ]

    连乘的每一项都包含单位矩阵 (I),有效缓解了梯度消失的问题

    8.3 Recurrent Neural Networks (RNN)

    目的:处理序列数据,如语言,轨迹,金融数据等

    网络结构及展开:

    RNN 网络结构

    更新方程:

    [egin{aligned} h^{left(t ight)}&=phi left(Wh^{left(t-1 ight)}+Ux^{left(t ight)}+b ight)\ hat{y}^{left(t ight)}&=sigma left(Vh^{left(t ight)}+c ight) end{aligned} ]

    BP 算法:换个符号,并考虑 (E_t=d_t-y_t)

    RNN 网络结构

    (y_t=phi left(v_t ight), v_t=sigma left(w_vy_{t-1}+w_xx_t ight)),这里 (sigma (x) riangleq x)

    [egin{aligned} frac{partial E}{partial w_v}&=sum_{t=1}^s{frac{partial E_t}{partial w_v}} \ frac{partial E_t}{partial w_v}&=sum_{k=1}^t{frac{partial E_t}{partial y_t}frac{partial y_t}{partial v_t}frac{partial v_t}{partial v_k}frac{partial v_k}{partial w_v}}\ frac{partial E_t}{partial y_t}&=frac{partial left(d_t-y_t ight)}{partial y_t}=-1 \ frac{partial y_t}{partial v_t}&=phi 'left(v_t ight) \ frac{partial v_t}{partial v_k} &=prod_{i=k+1}^t{frac{partial v_i}{partial v_{i-1}}}\ &=prod_{i=k+1}^t{frac{partial v_i}{partial y_{i-1}}frac{partial y_{i-1}}{partial v_{i-1}}}\ &=prod_{i=k+1}^t{w_vphi 'left(v_{i-1} ight)}\ frac{partial v_k}{partial w_v}&=y_{k-1} end{aligned} ]

    8.4 Long Short Term Memory (LSTM)

    网络结构:对 RNN 的输入输出和展开过程均加入门控

    LSTM 网络结构

    更新过程:(sigma left(cdot ight) riangleq mathrm{sigmoid}left(cdot ight))

    Input gate:(i_t=sigma left(w_{xi}x_t+w_{hi}h_{t-1}+b_i ight))

    Forget gate:(f_t=sigma left(w_{xf}x_t+w_{hf}h_{t-1}+b_f ight))

    Output gate:(o_t=sigma left(w_{xo}x_t+w_{ho}h_{t-1}+b_o ight))

    External input gate:

    [g_t= anh left(w_{xg}x_t+w_{hg}h_{t-1}+b_g ight) ]

    输出:

    [egin{aligned} c_t&=f_todot c_{t-1}+i_todot g_t\ h_t&=o_todot anh left(c_t ight) end{aligned} ]

    梯度:

    [egin{aligned} ar{c}_t&=ar{h}_to_tleft[1- anh ^2left(c_t ight) ight] \ ar{w}_{ix}&=sum_tar{i}_ti_tleft(1-i_t ight)x_t end{aligned} ]

    8.5 Attention

    注意力机制:加权平均,权重表示不同的重视程度

    网络参数:键值对 (left{ k_i,v_i ight}),查询向量 (q)

    注意力:

    [egin{aligned} cleft(left{ k_i,v_i ight} ,q ight)&=sum_imathrm{similarity}left(q,k_i ight)cdot v_i\ &=sum_ialpha_iv_i end{aligned} ]

    相似性度量:(alpha_i) 的计算可使用内积,余弦相似度,MLP,softmax:

    [alpha_i=frac{exp left(k_{i}^{ op}q ight)}{sum_iexp left(k_{i}^{ op}q ight)} ]

    8.6 Graph Convolutional Neural Networks (GNN)

    邻接矩阵:(A=left[a_{ij} ight],~a_{ij}=left[i ightarrow j ight])

    度矩阵:(D=mathrm{diag}left(d_i ight)),出度 (d_i=sum_ja_{ij}),入度 (d_j=sum_ia_{ij})

    简单 Propagation:

    [H^{i+1}=sigma left(D^{-1}AH^iW^i ight) ]

    9 非监督学习:降维

    降维:给定一组高维样本,寻找一个低维空间表示这些样本

    9.1 主成分分析 (PCA, Principal Component Analysis)

    理论推导:最小均方误差的角度

    向量 (xin mathbb{R} ^n) 视为随机变量,完备正交归一向量基:(left{ u_i ight}_{i=1}^{infty}),则

    [x=sum_{i=1}^{infty}c_iu_i ]

    若用 (dll n) 维来表示有

    [hat{x}=sum_{i=1}^{d}c_iu_i ]

    误差为

    [epsilon =mathbb{E} left[left(x-hat{x} ight)^{ op}left(x-hat{x} ight) ight] =mathbb{E} left[sum_{i=d+1}^{infty}c_{i}^{2} ight] ]

    (c_i=x^{ op}u_i),则

    [egin{aligned} epsilon &=mathbb{E} left[sum_{i=d+1}^{infty}u_{i}^{ op}xx^{ op}u_i ight] \ &=sum_{i=d+1}^{infty}u_{i}^{ op}mathbb{E} left[xx^{ op} ight] u_i\ &=sum_{i=d+1}^{infty}u_{i}^{ op}Psi u_i\ end{aligned} ]

    其中

    [Psi riangleq mathbb{E} left[xx^{ op} ight] ]

    零均值化:须保证 (mathbb{E} left[x ight] =0),则 (Psi) 为协方差矩阵

    优化问题:(min epsilon),其 Lagrange 函数为

    [L=sum_{i=d+1}^{infty}u_{i}^{ op}Psi u_i-sum_{i=d+1}^{infty}lambda_ileft(u_{i}^{ op}u_i-1 ight) ]

    梯度条件:

    [frac{partial L}{partial u_j}=2left(Psi u_j-lambda_ju_j ight)=0 ]

    [Psi u_j=lambda_ju_j ]

    K-L 变换坐标系:(Psi)(d) 个最大特征值对应的特征向量

    K-L 变换:(x)(u_1,u_2,dots ,u_d) 上展开系数

    [x'=left[c_1,c_2,dots ,c_d ight] ^{ op} ]

    性质:视展开系数 (x') 为随机向量,

    [mathbb{E} left[c_ic_j ight] =lambda_iu_{i}^{ op}u_j=lambda_idelta_{ij} ]

    [lambda_i=mathbb{E} left[c_{i}^{2} ight] =mathbb{E} left[left(c_i-mathbb{E} left(c_i ight) ight)^2 ight] =sigma_{i}^{2} ]

    即特征值 (lambda_i) 表示数据降维投影在一维特征向量 (u_i) 方向上的方差,所以 K-L 变换就是把数据投影到 (d) 个正交的序贯最大方差方向上去

    降维维度确定:根据精度要求与计算、存储能力确定

    9.2 多维尺度变换 (MDS, Multi-Dimensional Scaling)

    理论推导:数据点 (x_rin mathbb{R} ^p, r=1,2,dots ,n),假定零均值

    内积 (b_{rs}=x_{r}^{ op}x_s)(X=left[x_1,dots ,x_n ight] ^{ op}),内积矩阵为 (B=XX^{ op}),平方距离

    [egin{aligned} d_{rs}^{2} &=left(x_r-x_s ight)^{ op}left(x_r-x_s ight)\ &=x_{r}^{ op}x_r+x_{s}^{ op}x_s-2x_{r}^{ op}x_s end{aligned} ]

    平方距离矩阵

    [D=c1^{ op}+1c^{ op}-2B ]

    其中

    [c=left[x_{1}^{ op}x_1,dots ,x_{n}^{ op}x_n ight] ]

    中心化矩阵:

    [J=I-frac{1}{n}11^{ op} ]

    易知

    [left(c1^{ op} ight)J=Jleft(1c^{ op} ight)=0 ]

    且由 (sum_rx_r=0) 可得

    [JX=X-frac{1}{n}11^{ op}X=X ]

    因此

    [JBJ=JXX^{ op}J^{ op}=B ]

    [egin{aligned} JDJ&=Jleft(c1^{ op} ight)J+Jleft(1c^{ op} ight)J-2JBJ\ &=-2B \ end{aligned} ]

    所以

    [B=-frac{1}{2}JDJ ]

    SVD:(B=VLambda V^{ op}),其中 (V=left[v_1,dots ,v_p ight])(Lambda =mathrm{diag}left(lambda_1,dots ,lambda_p ight)),则 (X=VLambda ^{1/2}),若降维 (k < p) 则取前 (k) 个特征值与特征向量

    降维维度确定:

    [egin{aligned} frac{1}{2}sum_rsum_sd_{rs}^{2} &=nsum_rx_{r}^{ op}x_r\ &=nmathrm{Tr}left(B ight)\ &=nsum_rlambda_r\ end{aligned} ]

    可知为保持总体距离降低较少需取较大的特征值,总体距离降低比例为

    [ ho=frac{displaystylesum_{i=1}^{p}lambda_i}{displaystylesum_{i=1}^{n-1}lambda_i} ]

    可通过固定比例为 ( ho=95\%) 选取 (p)

    9.3 等距特征映射 (ISOMAP, Isometric Feature Mapping)

    基本思想:利用测地距离代替欧氏距离,保留样本分布信息

    算法:

    1. 找到 (k) 近邻 (或欧氏距离小于 (epsilon)) 点并计算欧式距离 (d_Xleft(i,j ight)),定义图 (G),若样本点为 (k) 近邻则连线,连线长度为 (d_Xleft(i,j ight))
    2. 计算图上任意两点间最短距离 (D_G=left[d_Gleft(i,j ight) ight])
    3. 通过 MDS 多维尺度变换降维到 (d) 维空间

    9.4 局部线性嵌入 (LLE, Locally Linear Embedding)

    基本思想:高维数据集中分布在潜在的低维的平滑流形上,每个样本点及其近邻分布在流形上的一个局部线性区域

    1. 寻找每个样本点的近邻

    2. 解优化问题

      [min epsilon left(W ight)=sum_ileft|x_i-sum_jW_{ij}x_j ight|^2 ]

      求得 (W)

    3. 固定 (W),求降维向量

    [y_iLeftarrow min epsilon left(W ight)=sum_ileft|x_i-sum_jW_{ij}x_j ight|^2 ]

    10 非监督学习:聚类

    10.1 (C) 均值方法 (K-means)

    基于样本的方法:根据样本间相似性,使准则函数 (J_e) 取最值

    思路:

    1. 把样本分成一些不同的类别
    2. 不断调整样本使得相似的样本聚集在一起
    3. GMM 的 EM 算法取极限的特例

    算法:

    [min J_e=sum_{i=1}^c{sum_{yin Gamma_i}^{}{left| y-m_i ight| ^2}} ]

    1. 把样本初始划分成 (C) 类,计算各类均值 (m_1,dots ,m_C)(J_e)
    2. 选任意一个样本 (y),设 (yin Gamma_i)
    3. (N_i=1),则该类只有1个元素则无需移出,转 2)
    4. 计算当 (y) 被调整到其它各类时 (J_e) 的变化量:

    [ ho_j= egin{cases} dfrac{N_j}{N_j+1}left| y-m_j ight| ^2, &mathrm{if}~j e i\ dfrac{N_i}{N_i-1}left| y-m_j ight| ^2, &mathrm{o}.mathrm{w}. end{cases} ]

    1. 如果 ( ho_kleqslant ho_j, forall j),则移动 (y:Gamma_i ightarrow Gamma_k)
    2. 更新均值 (m_i, m_k) 和均方误差 (J_e)
    3. 若连续迭代 (N) 次不变则算法终止,否则转 2)

    问题:

    • (C) 的确定:(J_e-C) 曲线肘点
    • 初始划分:先选择一些代表点作为聚类的核心,然后把其余的点按某种方法分到各类中去,初始划分不当可能会使得问题陷入局部最优解

    10.2 多级聚类方法 (Hierarchical Clustering)

    算法:

    1. 每个样本为一类
    2. 最近的两类合并,直到只剩一类

    两类之间的距离度量:

    • 最近距离:

      [Delta left(Gamma_i,Gamma_j ight)=min_{yin Gamma_i, ilde{y}in Gamma_j}delta left(y, ilde{y} ight) ]

      不适合两类之间距离较近且中间有个别离群点,适合带状分布的数据

    • 最远距离:

      [Delta left(Gamma_i,Gamma_j ight)=max_{yin Gamma_i, ilde{y}in Gamma_j}delta left(y, ilde{y} ight) ]

      与最近距离效果相反

    • 均值距离:

      [Delta left(Gamma_i,Gamma_j ight)=delta left(m_i,m_j ight) ]

      效果介于以上两者之间

    分类数量:根据聚类树判断,最长或次长跳跃前的水平

    分级聚类示例

    10.3 谱聚类 (Spectral Clustering)

    样本点集:(x_1,dots ,x_n)

    相似性度量:(s_{ij}=sleft(x_i,x_j ight)geqslant 0)

    相似性图:加权无向图 (G=left(V,E ight))

    加权邻接矩阵:(W=left(w_{ij} ight))

    边权重:(w_{ij}=s_{ij})

    度矩阵:(D=mathrm{diag}left(d_1,dots ,d_n ight)),其中度:

    [d_i=sum_{j=1}^{n}w_{ij} ]

    Graph Laplacian:未归一化 (L=D-W),归一化 (L_{rw}=D^{-1}L)

    性质:对称,半正定,最小特征值0,对应特征向量为1

    构造相似性图:

    1. (epsilon)-近邻图:任意两个距离小于 (epsilon) 的点之间存在一条边

    2. (k)-近邻图:若 (v_i)(v_j)(k) 近邻,则存在一条边 (无向化)

    3. 对称 (k)-近邻图:若两个点互为 (k) 近邻,则存在一条边

    4. 全连接图:相似性大于 0 的两个点之间存在一条边

    算法:

    1. 输入相似性矩阵 (Sin mathbb{R} ^{n imes n}),聚类类别数 (k)
    2. 构造相似性图,设加权邻接矩阵为

    [W=[w_{ij}]=[s_{ij}] ]

    1. 计算未归一化 (归一化) Graph Laplacian (Lleft(L_{rw} ight))
    2. 计算 (Lleft(Lu=lambda Du ight)) 的前 (k) 个最小特征值对应的特征向量 (u_1,dots ,u_k),并记

    [U riangleq left[u_1,dots ,u_k ight] ]

    1. (y_iin mathbb{R} ^k)(U) 的第 (i) 行构成的向量,称为谱嵌入向量
    2. 使用 (C) 均值聚类方法将点 (left{ y_i ight}) 聚为 (k)

    [C_1,dots ,C_k ]

    1. 输出最终聚类为 (A_1,dots ,A_k),其中

    [A_i=left{ j:y_jin C_i ight} ]

    推导:寻找图的划分,使得不同点集间边权重较小,同一点集内边权重较大,

    [min mathrm{cut}left(A_1,dots ,A_k ight) =frac{1}{2}sum_{i=1}^{k}Wleft(A_i,ar{A}_i ight) ]

    其中 (|A|) 表示 (A) 中顶点的个数,(mathrm{vol}left(A ight)) 表示 (A) 中顶点度的和

    [egin{aligned} mathrm{RatioCut}left(A_1,dots ,A_k ight) &=frac{1}{2}sum_{i=1}^k{frac{Wleft(A_i,ar{A}_i ight)}{|A_i|}}\ &=frac{1}{2}sum_{i=1}^k{frac{mathrm{cut}left(A_i,ar{A}_i ight)}{|A_i|}} end{aligned} ]

    [egin{aligned} mathrm{NCut}left(A_1,dots ,A_k ight) &=frac{1}{2}sum_{i=1}^k{frac{Wleft(A_i,ar{A}_i ight)}{mathrm{vol}left(A_i ight)}}\ &=frac{1}{2}sum_{i=1}^k{frac{mathrm{cut}left(A_i,ar{A}_i ight)}{mathrm{vol}left(A_i ight)}} end{aligned} ]

    松弛离散约束后,RatioCut 对应归一化 Graph Laplacian,Ncut 对应未归一化 Graph Laplacian

    注记:

    • 谱聚类往往对相似性图及参数选择比较敏感,且存在尺度问题,一般 (k) 近邻图可以比较好的连接不同尺度下的数据,通常作为首选
    • 参数选择应该使相似性图是连通的或连通分量数量较少
    • 尽量选择归一化的 Graph Laplacian,理由:考虑聚类的原则,最小化 RatioCut 只考虑了使得不同点集间的边的权重较小,而最小化 Ncut 在某种程度上考虑了同一点集内的边权重较大

    聚类方法的选择:

    • 根据样本的分布特性和数量综合考虑
    • 若样本点近似成球状分布或者样本数很大时,则用 K-means 算法能取得较好效果,且速度快
    • 当样本数量较少时,可以选择基于最近邻图的谱聚类方法,其聚类的效果较好,而且不像分级聚类那样受距离度量选择的影响大

    11 决策树

    11.1 决策树概览

    决策树示例

    11.2 CART (Classification And Repression Trees)

    分类和回归树算法 CART:一种通用的树生长算法

    分枝数目:与属性有关,但决策树都等价于二叉树

    构造决策树原则:简单性,获得的决策树简单、紧凑

    节点不纯度 Impurity:(ileft(N ight)) 表示节点 (N) 的不纯度

    • 熵不纯度:

      [ileft(N ight)=-sum_jPleft(w_j ight)log_2Pleft(w_j ight) ]

      其中 (Pleft(w_j ight)) 表示节点 (N) 处属于 (w_j) 类样本占节点总样本数的比例
    • Gini 不纯度:

      [egin{aligned} ileft(N ight) &=sum_{i e j}Pleft(w_i ight)Pleft(w_j ight)\ &=1-sum_jP^2left(w_j ight) end{aligned} ]

    • 错分不纯度:被错分的最小概率

      [ileft(N ight)=1-max_jPleft(w_j ight) ]

    不纯度度量对比

    特征选择:选择能够使不纯度下降最多的特征做查询,不纯度下降

    [Delta ileft(N ight)=ileft(N ight)-P_Lileft(N_L ight)-left(1-P_L ight)ileft(N_R ight) ]

    其中 (P_L) 是分配到 (N_L) 节点样本数量占 (N) 节点样本数量比例

    局部贪婪算法:只考虑了单一特征带来的不纯度下降

    多重分枝:

    [Delta ileft(N ight)=ileft(N ight)-sum_{k=1}^{B}P_kileft(N_k ight) ]

    其中 (B) 为分枝数目,(P_k) 是节点 (N_k) 处样本占 (N) 处样本比例,但

    [Buparrow Rightarrow Delta ileft(N ight)uparrow ]

    故调整

    [Delta i_Bleft(N ight)= frac{Delta ileft(N ight)}{-displaystylesum_{k=1}^{B}P_klog_2P_k} ]

    分枝停止准则:

    • 传统方法,验证或交叉验证
    • 阈值方法,当所有候选分支的不纯度下降量都小于这个阈值,则停止分支

    阈值方法优点:

    • 全部样本都可用来训练
    • 树的各个深度上都可能存在叶节点,这是一棵非平衡树

    阈值方法缺点:

    • 很难预先设定一个合适的阈值,因为树的分类准确性与阈值大小通常不是简单的函数关系

    后剪枝:使用全部训练集数据,但计算量会增加

    1. 树充分生长,直到叶节点都有最小的不纯度值
    2. 对所有相邻的成对叶节点,如果消去它们能引起不纯度增长,则消去它们,并令其公共父节点成为新的叶节点

    叶节点标号:用叶节点样本中大多数样本的类别来标号

    不稳定性:树的生长对训练样本的微小位置变动很敏感,很大程度上是由离散性和节点选择时的贪婪性所导致的

    决策树构建与剪枝示例

    特征选择:选择特征使得决策面简单,可尝试线性组合

    多元决策树:当实值数据样本分布复杂时,平行于特征轴分界面的效率和推广性都可能很差,可采用一般的线性分类器

    属性缺失:对主分支外的属性做替代分枝并根据相似性排序

    11.3 ID3 (Interactive Dichotomizer-3)

    算法:实值变量按区间离散化,节点分支数等于其属性的离散取值个数,决策树生长到所有叶节点都为纯,无剪枝

    11.4 C4.5

    算法概述:对于实值变量的处理和 CART 相同,对名义属性采用多重分支,不纯度的计算采用 (Delta i_Bleft(N ight))

    与 CART 区别:对属性缺失数据的处理,所有 (B) 个分支进行判别,最终分类结果是 (M) 个叶节点加权决策的结果

    基于规则的剪枝:尝试删除规则任意一个前件,取性能提高最大的子规则,重复删除直到无法修剪,按性能降序排序

    优点:

    • 允许在特定节点处考虑上下文信息
    • 靠近根节点处的节点也可能被剪枝,根节点与叶节点等价,比叶节点合并剪枝方法更加通用
    • 简化的规则可用于更好的类别表达

    12 多分类器方法 (Ensemble)

    12.1 Bagging (Bootstrap Aggregating)

    算法:基于训练样本的分类器构造

    1. 从训练集 (N) 个样本中随机抽取 (Bootstrap) 出 (n) 个样本
    2. 用这 (n) 个样本训练一个分类器 (h),然后放回这些样本
    3. 重复步骤 1) 与 2) (L) 次,得到分类器

      [h_1, h_2,dots ,h_L ]

    4. 使用 (L) 个分类器进行判别,决策层投票得到最终结果

    基分类器:选择不稳定的分类器,决策树,神经网络等

    12.2 AdaBoost (Adaptive Boosting)

    算法:基于训练样本的分类器构造

    输入:(X=left{ left(x_1,y_1 ight),dots ,left(x_N,y_N ight) ight}),基分类器 (C),循环次数 (L)

    初始化:样本 (x_i) 权重

    [w_1(i)=frac{1}{N} ]

    for (l=1) to (L)

    权重归一化

    [p_l(i)=frac{w_l(i)}{displaystylesum_iw_l(i)},~forall~i=1,2,dots ,N ]

    根据 (p_l(i)) 采样生成样本集合 (s_l),训练分类器 (h_l)

    计算 (h_l) 分类错误率

    [epsilon_l=sum_ip_l(i)ar{delta}_{iy} ]

    其中

    [ar{delta}_{iy} riangleq left[h_lleft(x_i ight) e y_i ight] ]

    计算权重系数的参数

    [a_l=frac{1}{2}lnfrac{1-epsilon_l}{epsilon_l} ]

    更新权重

    [w_{l+1}(i)=w_l(i)mathrm{e}^{-a_l}delta_{iy}+w_l(i)mathrm{e}^{a_l}(1-delta_{iy}) ]

    输出:加权投票

    [h(x)=mathrm{argmax}_{yin Y}sum_{l=1}^{L}a_l[h_l(x)=y] ]

    特性:随着算法进行,聚焦于容易分错而富含信息的样本

    错误率:二分类 (Y=left{ 1,-1 ight})(T) 轮迭代后样本概率分布为

    [egin{aligned} p_{T+1}(i) &=p_T(i)frac{mathrm{e}^{-alpha_Ty_ih_T(i)}}{Z_T}\ &=p_1(i)frac{mathrm{e}^{-y_ileft< alpha ,h(i) ight>}}{displaystyleprod_{j=1}^{T}Z_j}\ &=frac{mathrm{e}^{-y_ileft< alpha ,h(i) ight>}}{Ndisplaystyleprod_{j=1}^{T}Z_j} end{aligned} ]

    [sum_ip_{T+1}(i)=1 ]

    [prod_{j=1}^{T}Z_j=frac{1}{N}sum_{i=1}^Nmathrm{e}^{-y_ileft< alpha ,h(i) ight>} ]

    (i) 个样本错误标志

    [egin{aligned} epsilon_i &=1-left[h_Tleft(x_i ight)=y_i ight] \ &leqslant mathrm{e}^{-y_ileft< alpha ,h(i) ight>} end{aligned} ]

    则总错误率是分类错误率的一个上界

    [egin{aligned} epsilon &=frac{1}{N}sum_{i=1}^Nepsilon_i\ &leqslantfrac{1}{N}sum_{i=1}^Nmathrm{e}^{-y_ileft< alpha ,h(i) ight>}\ &=prod_{j=1}^{T}Z_j end{aligned} ]

    优化问题

    [min~prod_{j=1}^{T}Z_j ]

    可解得

    [a_l=frac{1}{2}lnfrac{1-epsilon_l}{epsilon_l} ]

    且由

    [egin{aligned} Z_l &=sum_ip_l(i)mathrm{e}^{-alpha_ly_ih_l(i)}\ &=sum_{iin A}p_l(i)mathrm{e}^{-alpha_l}+sum_{iin ar{A}}p_l(i)mathrm{e}^{+alpha_l}\ &=left(1-epsilon_l ight)mathrm{e}^{-alpha_l}+epsilon_lmathrm{e}^{alpha_l}\ &=2sqrt{epsilon_lleft(1-epsilon_l ight)}\ &=sqrt{1-4gamma_{l}^{2}} end{aligned} ]

    可得

    [egin{aligned} prod_{l=1}^{T}Z_l &=prod_{l=1}^{T}sqrt{1-4gamma_{l}^{2}}\ &leqslant exp left(-2sum_{l=1}^{T}gamma_{l}^{2} ight)\ &leqslant mathrm{e}^{-2Tgamma_{min}^{2}} end{aligned} ]

    因此,错误率可以随着迭代次数的增加而指数级下降

    与 Bagging 对比:基分类器以序贯方式使用加权数据集进行训练,其中每个数据点权重依赖前一个分类器的性能

    12.3 基于样本特征的分类器构造

    随机子空间算法:随机抽取 (也可对特征加权) 特征子集 (S_l),利用在 (S_l) 上的训练样本训练分类器 (h_l),重复 (L) 次得到 (L) 个分类器,最后进行投票

    [h(x)=mathrm{argmin}_{yin Y}sum_{l=1}^{L}left[h_l(x)=y ight] ]

    12.4 分类器输出融合

    1. 决策层输出:对于待测试的样本,用每一个基分类器的分类结果投票,得票最多的类别号就是待测试样本的类别
    2. 排序层输出:分类器输出为输入样本可能属于的类别列表,并依据可能性大小进行排序,之后采用 Borda 计数:对名次赋分,计算每个类别总得分并排序
    3. 度量层输出:分类器输出为样本归属于各个类别的一种相似性度量,对于每一类的所有的相似性度量值求和,和值最大的类别就是未知样本的类别标号

    12.5 多分类器方法有效的原因

    1. 统计方面:避免单分类器分类时的不稳定性
    2. 计算方面:脱离单分类器陷入的局部最优解
    3. 表示方面:拓展原简单假设空间的表达能力

    13 统计学习理论

    13.1 PAC (Probably Approximately Correct) 可学习

    若函数集 VC 维是有限值,则任意概率分布均 PAC 可学习

    13.2 VC (Vapnic-Chervonenkis) 维

    期望风险:

    [Rleft(omega ight)=int Lleft(y,fleft(x,omega ight) ight)mathrm{d}Fleft(x,y ight) ]

    经验风险:

    [R_{mathrm{emp}}left(omega ight)=frac{1}{N}sum_{i=1}^{N}Lleft(y,fleft(x,omega ight) ight) ]

    VC 维:描述学习机器的复杂性

    推广性界定理:

    [Rleft(omega ight)leqslant R_{mathrm{emp}}left(omega ight)+Phi left(frac{n}{mathrm{VC}} ight) ]

    其中函数 (Phi searrow)

    13.3 没有免费的午餐

    • 不存在一种模式分类算法具有天然的优越性,甚至不比随机猜测更好
    • 如果某种算法对某个特定的问题看上去比另一种算法更好,其原因仅仅是它更适合这一特定的模式分类任务

    13.4 丑小鸭定理

    不存在与问题无关的最好的特征集合或属性集合

    14 算法优缺点

    14.1 贝叶斯分类器

    优点:

    • 理论上可以满足分类错误率最小
    • 对于服从特定模型的样本有较好的分类结果
    • 是其他分类算法的理论基础

    缺点:

    • 依赖模型 (类先验概率,类条件概率分布的形式和具体参数) ,因此模型可能选错
    • 模型的参数可能过拟合
    • 实际样本独立同分布难以满足

    14.2 SVM

    优点:

    • 将低位空间线性不可分问题变换到高维空间,使其线性可分,由于只需要进内积计算,并没有增加多少计算复杂度
    • 推广能力与变换空间维数无关,具有较好的推广能力
    • 相对于传统方法,对模型具有一定的不敏感性

    缺点:

    • 对大规模训练样本难以实施
    • 解决多分类问题存在困难
    • 对缺失数据敏感,对参数和核函数的选择敏感

    14.3 近邻法

    优点:

    • 错误率在贝叶斯错误率及其两倍之间
    • 算法直观容易理解易于实现
    • 可以适用任何分布的样本,算法适用性强

    缺点:

    • 需将所有样本存入计算机中,每次决策都要计算待识别样本与全部训练样本的距离并进行比较,存储和计算开销大
    • 当错误的代价很大时,会产生较大风险
    • 错误率的分析是渐进的,这要求样本为无穷,实际中这一条件很难达到

    15 矩阵求导

    15.1 迹 Trace

    [frac{partial mathrm{Tr}left(W^{ op}Sigma W ight)}{partial W}=2Sigma W ]

    [frac{partial mathrm{Tr}left(AB ight)}{partial A}=B+B^{ op}-mathrm{diag}left(B ight) ]

    15.2 行列式

    [frac{partial ln |A|}{partial A}=2A^{-1}-mathrm{diag}left(A^{-1} ight) ]

    16 补充内容

    • 感知准则函数:

      [min J_pleft(a ight)=sum_{yin Y^k}left(-a^{ op}y ight)geqslant 0 ]

      以使错分样本到分界面距离之和最小为原则

    • 分类器错误率:分类结果中与样本实际类别不同的样本在总体中的比例

    • 错误率估计方法:理论计算,计算错误率的上界,实验估计

    • Fisher 与 Perceptron:Fisher 线性判别是把线性分类器的设计分为两步,一是确定最优方向,二是在这个方向上确定分类阈值;感知机则是通过不断迭代直接得到线性判别函数

    • K-means 与 EM (GMM):K 均值算法对数据点的聚类进行了硬分配,即每个数据点只属于唯一的聚类,而 EM 算法基于后验概率分布,进行了一个软分配。实际上,可以把 K 均值算法看成 GMM 的 EM 算法的一个特殊的极限情况。考虑高斯混合模型协方差矩阵均为 (epsilon I),从而

      [Pleft(x|mu_k,Sigma_k ight)=frac{1}{left(2pi epsilon ight)^{d/2}}exp left(-frac{left| x-mu_k ight|^2}{2epsilon} ight) ]

      (epsilon ightarrow 0) 则可得到 K 均值算法的硬分配

    参考文献

    • 张长水, 赵虹. 模式识别课程讲义与作业. 清华大学, 2021.
    • 张学工. 模式识别第3版. 清华大学出版社, 2010.
    • Richard O. Duda, Peter E. Hart, David G. Stork. Pattern classification, 2nd Edition. Hoboken: Wiley, 2000.
  • 相关阅读:
    stutas2配置action
    Struts2 第一个入门小案例
    spring与mybati整合方法
    spring事务隔离级别以及脏读 不可重复读 幻影读
    socket编程基础
    ajax随笔
    多线程基础
    Mybatis中collection与association的区别
    Guideline 2.3.1
    苹果手机 apple pay 一不小心支付购买了自己不要的服务
  • 原文地址:https://www.cnblogs.com/yangjingxuan/p/15094606.html
Copyright © 2020-2023  润新知