模式识别笔记(四)聚类、SVM、决策树

聚类

  • 聚类任务:给定一个度量标准,对样本集进行划分。不同的度量标准产生了不同的聚类方法。
  • 统计聚类、概念聚类
  • 距离、密度、连通性

几种度量标准

连续问题

  • Minkowski度量: d ( x , y ) = ( ∑ i = 1 d ∣ x i − y i ∣ q ) 1 q d(\mathbf x,\mathbf y)=(\sum_{i=1}^d\vert x_i-y_i\vert^q)^{\frac1q} d(x,y)=(i=1dxiyiq)q1
  • Mahalanobis距离: d ( x , y ) = ( x − y ) T M ( x − y ) d(\mathbf x,\mathbf y)=\sqrt{(\mathbf x-\mathbf y)^T\mathbf M(\mathbf x-\mathbf y)} d(x,y)=(xy)TM(xy)
  • 余弦相似度: s ( x , y ) = ∑ i = 1 d x i y i ∑ i = 1 d x i 2 ∑ i = 1 d y i 2 s(\mathbf x,\mathbf y)=\frac{\sum_{i=1}^dx_iy_i}{\sqrt{\sum_{i=1}^dx_i^2}\sqrt{\sum_{i=1}^dy_i^2}} s(x,y)=i=1dxi2 i=1dyi2 i=1dxiyi

离散问题

  • 简单匹配系数: s S M C ( x , y ) = f 00 + f 11 f 00 + f 01 + f 10 + f 11 s_{SMC}(x,y)=\frac{f_{00}+f_{11}}{f_{00}+f_{01}+f_{10}+f_{11}} sSMC(x,y)=f00+f01+f10+f11f00+f11
  • Jaccard相似系数: s J ( x , y ) = f 11 f 01 + f 10 + f 11 s_J(x,y)=\frac{f_{11}}{f_{01}+f_{10}+f{11}} sJ(x,y)=f01+f10+f11f11
  • Tanimoto系数: s T ( x , y ) = f 11 x T x + y T y − f 11 s_T(x,y)=\frac{f_{11}}{x^Tx+y^Ty-f_{11}} sT(x,y)=xTx+yTyf11f11

需要解决的问题

  • 可伸缩性:对数据集大小应不敏感
  • 应既可处理离散问题也可处理连续问题,既可处理数值型问题也可处理非数值型问题
  • 应可处理不同形状的数据分布,尤其是流形数据
  • 高维数据
  • 对噪声鲁棒
  • 自适应的簇数判定能力(一直没有解决好)
  • 对初始输入参数鲁棒
  • 带约束的聚类
  • 聚类结果有用

K-means

  • 超参数:类别数k
  • 两步走:1、固定中心点,优化分类;2、固定分类,优化中心点位置
  • 缺陷:硬分类、均分假设、处理不了非凸
  • 选择分类个数k的方法:1、交叉验证法;2、专家定;3、膝部法
  • 对高维数据:很难找到真实分类,离得都很远;方法:降维、选择核心特征
  • 变种:K-Medians、竞争学习(频率敏感/对手惩罚)、贝叶斯阴阳学习

Mean-Shift

  • 超参数:点半径r
  • 数个随机初始中心点,对中心点一定半径内的所有点做平均以更新中心点位置,然后在后处理阶段过滤候选窗口以消除近似重复,形成最终的中心点集及其对应的组
    基于密度,滑动窗口,对窗口大小敏感

DBSCAN

  • 超参数:邻居范围 ε \varepsilon ε,邻居个数阈值
  • 随机选择一个未访问点,若其邻居数超过阈值,则其为一个新类,否则为噪声。标记该点为已访问。将所有可达点均列入该新类并标记为已访问。重复此步骤直至所有点都被访问。
  • 优点:对噪声鲁棒,对任意形状、大小的样本集鲁棒
  • 缺点:对密度不同的样本或高维样本分类能力较差

GMM(高斯混合模型)

EM算法

  • E步:计算样本是第k类的概率
  • M步:根据样本和当前标签计算均值和方差和新的伪先验概率
  • 存在的问题:如何选K?收敛于局部最优;协方差矩阵计算困难(将协方差矩阵限定为相等的/单位阵/对角阵)

层次聚类

优点:确定分类个数、划分Outlier(对噪音鲁棒)、可解释性强
缺点:可扩展性差、时间复杂度高、Local Minima

  • 自底向上
  • 自顶向下

求编辑距离的算法:DTW

谱聚类

  • 谱:广义上,用到了矩阵特征值分解的方法均可以叫谱学习
  • 将聚类问题转化为图顶点最优划分问题

基于数据集的图构造

  • 每个数据点视为一个顶点,边可以有权重,用于反应点对亲和性(相似性)
  • ε \varepsilon ε半径:设置截断阈值,去除小于阈值的边
  • k近邻:每个数据点仅有k个最近邻居
    • 可能不对称,此时使 W ~ = W + W T 2 \tilde{W}=\frac{W+W^T}2 W~=2W+WT

图切割

  • 势:图的顶点个数
  • 体积:图中顶点度之和
  • 补图:将子图A中的顶点从顶点集V中去除后剩余点构成的图 A ˉ \bar A Aˉ
  • 子图相似度:
  • 最小二分割
  • 归一化最小二分割:
    • Ratiocut
    • Ncut
  • K切割

谱聚类

用矩阵的特征向量分类

  • 正则化拉普拉斯矩阵
    • L s y m = D − 1 2 L D − 1 2 L_{sym}=D^{-\frac12}LD^{-\frac12} Lsym=D21LD21
    • L r w = D − 1 L L_{rw}=D^{-1}L Lrw=D1L
  • 取L的k个最小特征值及其特征向量
  • (仅sym)将模长归一到1
  • 将离散的F视为连续的以简化求解难度

核聚类

  • 缺点:复杂度高、很难扩充新样本、不好选核

核矩阵的逼近

深度聚类

  • SwAV(NIPS2020)

SVM

  • VC维:如果分类器能将最多n个随机点分类正确,则该族分类器的VC维为n
  • 大边界、hingeloss、核方法
  • 给定N为样本数,h为模型的VC维,p为失败概率,则有
    E t e s t ⩽ E t r a i n + ( h + h log ⁡ ( 2 N / h ) − l o g ( p / 4 ) N ) 1 2 E_{test}\leqslant E_{train}+(\frac{h+h\log(2N/h)-log(p/4)}N)^\frac12 EtestEtrain+(Nh+hlog(2N/h)log(p/4))21
  • Larger margin, lower VC-d.
  • 模型参数量和VC维没有直接联系

Hard Margin SVM

  • 原始问题:样本全集 D D D中有正负两类样本,设 x i \mathbf x_i xi为样本点坐标, y i y_i yi为样本标签,正样本时为1,反之为-1;欲找到一个最好的分类超平面,设 w \mathbf w w为分类超平面法向量,b为分类超平面的截距,则有:
    arg max ⁡ w , b arg min ⁡ x i ∈ D ∣ b + x i w ∣ ∑ i = 1 d w i 2 s . t . ∀ x i ∈ D : y i ( x i w + b ) ≥ 0 \argmax_{\mathbf w,b}\argmin_{\mathbf x_i\in D}\frac{\vert b+\mathbf{x}_i\mathbf{w}\vert}{\sqrt{\sum_{i=1}^dw_i^2}}\\ s.t.\forall x_i \in D:y_i(\mathbf x_i\mathbf w+b)\geq0 w,bargmaxxiDargmini=1dwi2 b+xiws.t.∀xiD:yi(xiw+b)0
  • 要求 ∀ x i ∈ D : y i ( x i w + b ) ≥ 1 \forall x_i \in D:y_i(x_iw+b)\geq1 xiD:yi(xiw+b)1,则可化简原问题为
    min ⁡ w ∑ i = 1 d w i 2 s . t . ∀ x i ∈ D : y i ( x i w + b ) ≥ 1 \min_{\mathbf w}\sum_{i=1}^dw_i^2\\ s.t.\forall x_i \in D:y_i(x_iw+b)\geq1 wmini=1dwi2s.t.∀xiD:yi(xiw+b)1
  • 其对偶问题为
    max ⁡ W ( α ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 , j = 1 n α i α j y i y j x i T x j s . t . α i ≥ 0 , ∑ i = 1 n α i y i = 0 \max W(\alpha)=\sum_{i=1}^n\alpha_i-\frac12\sum_{i=1,j=1}^n\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.\alpha_i\geq0,\sum_{i=1}^n\alpha_iy_i=0 maxW(α)=i=1nαi21i=1,j=1nαiαjyiyjxiTxjs.t.αi0,i=1nαiyi=0

Soft Margin SVM

  • 令错误惩罚为C,则其对偶形式为
    max ⁡ W ( α ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 , j = 1 n α i α j y i y j x i T x j s . t . C ≥ α i ≥ 0 , ∑ i = 1 n α i y i = 0 \max W(\alpha)=\sum_{i=1}^n\alpha_i-\frac12\sum_{i=1,j=1}^n\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t.C\geq\alpha_i\geq0,\sum_{i=1}^n\alpha_iy_i=0 maxW(α)=i=1nαi21i=1,j=1nαiαjyiyjxiTxjs.t.Cαi0,i=1nαiyi=0
  • hinge loss: 1 − y i f ( x i ) 1-y_if(x_i) 1yif(xi)
  • 常用核函数:
    • n阶多项式核: K ( x , y ) = ( x T y + 1 ) d K(x,y)=(x^Ty+1)^d K(x,y)=(xTy+1)d
    • 径向基核: K ( x , y ) = exp ⁡ ( − ∥ x − y ∥ 2 2 σ 2 ) K(x,y)=\exp(-\frac{\Vert x-y\Vert^2}{2\sigma^2}) K(x,y)=exp(2σ2xy2)
  • 缺点:仅二分类、训练较慢、对噪声不鲁棒(hinge无上界,噪声影响很大)、核方法没有很好的选择方法
  • 用两个hinge loss相减以改良无上界问题
  • 优点:没有维数灾难、不容易过拟合、可解释性

SVM的训练策略

SMO(sequential minimal optimization)

设分类器为g,误差为E

  1. 选择使得 arg max ⁡ i E i = g ( x i ) − y i \argmax_i E_i=g(x_i)-y_i argmaxiEi=g(xi)yi最大的 α i \alpha_i αi作为 α 1 \alpha_1 α1
  2. 选择使得 arg max ⁡ i ∣ E 1 − E i ∣ \argmax_i |E_1-E_i| argmaxiE1Ei最大的 α i \alpha_i αi作为 α 2 \alpha_2 α2
  3. 检查终止条件 ∑ α i y i = 0 α i ∈ [ 0 , C ] y i g ( x i ) ≥ 1 , α i = 0 时 \sum \alpha_iy_i=0\\ \alpha_i\in[0,C]\\ y_ig(x_i)\geq 1,\alpha_i=0时 αiyi=0αi[0,C]yig(xi)1,αi=0
  • 一次考虑两个变元,固定其他变元 α \alpha α
  • 先不考虑约束求解,然后求出有约束的情况
  • 更新 α \alpha α,w,b,并检查终止条件是否满足
  • 轮替优化、归并优化
  • 第一个Langrange乘子:
    • 任何违反KKT的乘子都是合法的
  • 第二个乘子的迭代步长较长

Chunk strategy组块策略

每轮拿10%,只保留SV,在稀疏策略利用比较好

支撑向量机的几何解释

两类凸包距离最小

多分类SVM

多机

  • 1VSall:样本集不均衡、线性分类器可能不够
  • 1vs1:分类器太多,好在每个都是线性可分
  • DAGSVM:有向无环图SVM,引入随机性
  • half vs half
  • LatticeSVM:只训相邻类间的分类器

单机

  • 多类别hinge_loss
  • 支撑向量较少

Local Linear SVM(Bilinear SVM)

锚点的线性组合;相似度加权

  • 吐槽:这不是1NN吗
  1. K-means求锚点

Least Squares Extension of SVM

Stagewise Least Square

ReTargeted LSR

T ∈ R n ∗ c T\in\mathbb R^{n*c} TRnc让回归值也纳入优化

  • 但把问题又变回了有约束的问题?

用支撑向量机做X

  • 回归
  • 排序
  • Large Margin Nearest Neighbor

决策树

决策树是:选一个属性(维度)、分界(可分为多个区间)构成非叶节点,叶节点代表一类或一个决策的树;一个属性仅进行一次分区
决策树分割的实质:构建轴线平行的(超)矩形作为特征空间的分界面,因而树复杂度高度依赖于数据的特征空间
从逻辑表达式的角度看,决策树是一组合取的析取

  • 优点:可解释性、接近人类思维(?)、可处理定性指标、低构造成本、高效分类
  • 缺点:分类准确率不如其他分类器

基本概念

  • 分割连续变量:手工分割(静态)、按指标分割(动态)如等间隔、等频率、百分比、聚类;二叉会好于多叉
  • 不同的决策树的主要区别:如何为某个节点选择特征
  • 面对缺失值时:依概率行走;分片加权

信息论相关

  • 熵: H ( X ) = − ∑ x ∈ X p ( x ) log ⁡ 2 p ( x ) H(X)=-\sum_{x\in X}p(x)\log_2p(x) H(X)=xXp(x)log2p(x)
  • 条件熵: H ( Y ∣ X ) = ∑ i p i H ( Y ∣ X = x i ) H(Y|X)=\sum_ip_iH(Y|X=x_i) H(YX)=ipiH(YX=xi)
  • 信息增益(互信息)熵与条件熵之差
  • S p l i t I n f o A ( D ) = − ∑ ∣ D j ∣ ∣ D ∣ ∗ log ⁡ 2 ∣ D j ∣ ∣ D ∣ SplitInfo_A(D)=-\sum \frac{|D_j|}{|D|}*\log_2\frac{|D_j|}{|D|} SplitInfoA(D)=DDjlog2DDj
  • 信息增益率:信息增益除以SplitInfo

ID3

  • 规定每个特征只用一次
  • 相当于用极大似然估计进行模型选择
  • 终止条件:所有样本属于一个类;没有可用特征(是为了防止过拟合吗?);信息增益小于阈值

C4.5

  • 使用信息增益率替代信息增益,使决策树更深
  • 剪枝
  • 离散化
  • 对不完整数据的处理

CART

  • 规定二叉,不要求每个特征值只用一次
  • 既可以回归又可以分类,分类树用基尼指数作为选择特征的标准
  • 基尼指数: G i n i ( p ) = ∑ k = 1 K p k ( 1 − p k ) Gini(p)=\sum_{k=1}^K p_k(1-p_k) Gini(p)=k=1Kpk(1pk)
  • 在验证集上进行剪枝,剪去误分类率较高的枝

防止过拟合的方法

剪枝

  • 早点结束
  • 造好以后剪:将树看作规则的并,检查并删去其中不好的规则

对缺失值的处理

  • 在缺失点同时沿该点的所有岔路走,每条岔路获得一个权值;最终结果为加权和

随机森林

  • 随机抽取训练样本、随机抽取变量
  • 袋外估计
    RI:随机特征选择
    RC:随机线性组合
  1. 从样本集中用bagging采样选出n个样本,预建立CART
  2. 在树的每个节点上,从所有属性中随机选择k个属性,选择出一个最佳分割属性作为节点(RI 和 RC)
  3. 重复以上两步m次,i.e. 构建m棵CART(不剪枝)
  4. 这m个CART形成Random Forest
  • 优点:高维友好、分布式友好、袋外估计、可计算特征重要性、分界面光滑
  • 缺点:需要多棵树、需要平衡的数据集
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值