聚类
- 聚类任务:给定一个度量标准,对样本集进行划分。不同的度量标准产生了不同的聚类方法。
- 统计聚类、概念聚类
- 距离、密度、连通性
几种度量标准
连续问题
- 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=1d∣xi−yi∣q)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)=(x−y)TM(x−y)
- 余弦相似度: 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+yTy−f11f11
需要解决的问题
- 可伸缩性:对数据集大小应不敏感
- 应既可处理离散问题也可处理连续问题,既可处理数值型问题也可处理非数值型问题
- 应可处理不同形状的数据分布,尤其是流形数据
- 高维数据
- 对噪声鲁棒
- 自适应的簇数判定能力(一直没有解决好)
- 对初始输入参数鲁棒
- 带约束的聚类
- 聚类结果有用
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=D−21LD−21
- L r w = D − 1 L L_{rw}=D^{-1}L Lrw=D−1L
- 取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 Etest⩽Etrain+(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,bargmaxxi∈Dargmin∑i=1dwi2∣b+xiw∣s.t.∀xi∈D: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
∀xi∈D: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=1∑dwi2s.t.∀xi∈D: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=1∑nαi−21i=1,j=1∑nαiαjyiyjxiTxjs.t.αi≥0,i=1∑nα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=1∑nαi−21i=1,j=1∑nαiαjyiyjxiTxjs.t.C≥αi≥0,i=1∑nαiyi=0 - hinge loss: 1 − y i f ( x i ) 1-y_if(x_i) 1−yif(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σ2∥x−y∥2)
- 缺点:仅二分类、训练较慢、对噪声不鲁棒(hinge无上界,噪声影响很大)、核方法没有很好的选择方法
- 用两个hinge loss相减以改良无上界问题
- 优点:没有维数灾难、不容易过拟合、可解释性
SVM的训练策略
SMO(sequential minimal optimization)
设分类器为g,误差为E
- 选择使得 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
- 选择使得 arg max i ∣ E 1 − E i ∣ \argmax_i |E_1-E_i| argmaxi∣E1−Ei∣最大的 α i \alpha_i αi作为 α 2 \alpha_2 α2
- 检查终止条件 ∑ α 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吗
- K-means求锚点
Least Squares Extension of SVM
Stagewise Least Square
ReTargeted LSR
T ∈ R n ∗ c T\in\mathbb R^{n*c} T∈Rn∗c让回归值也纳入优化
- 但把问题又变回了有约束的问题?
用支撑向量机做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)=−∑x∈Xp(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(Y∣X)=∑ipiH(Y∣X=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)=−∑∣D∣∣Dj∣∗log2∣D∣∣Dj∣
- 信息增益率:信息增益除以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(1−pk)
- 在验证集上进行剪枝,剪去误分类率较高的枝
防止过拟合的方法
剪枝
- 早点结束
- 造好以后剪:将树看作规则的并,检查并删去其中不好的规则
对缺失值的处理
- 在缺失点同时沿该点的所有岔路走,每条岔路获得一个权值;最终结果为加权和
随机森林
- 随机抽取训练样本、随机抽取变量
- 袋外估计
RI:随机特征选择
RC:随机线性组合
- 从样本集中用bagging采样选出n个样本,预建立CART
- 在树的每个节点上,从所有属性中随机选择k个属性,选择出一个最佳分割属性作为节点(RI 和 RC)
- 重复以上两步m次,i.e. 构建m棵CART(不剪枝)
- 这m个CART形成Random Forest
- 优点:高维友好、分布式友好、袋外估计、可计算特征重要性、分界面光滑
- 缺点:需要多棵树、需要平衡的数据集