非线性分类

文章目录

    • 4.1 概述
    • 4.2 决策树
    • 4.3 最近邻方法
    • 4.4 集成学习

4.1 概述

线性扩展的思想:

  • 线性扩展模型: g ( x ) = w T φ ( x ) + b g(x)=w^{T}\varphi (x)+b g(x)=wTφ(x)+b
  • 核函数方法: g ( x ) = w T k ( x , x i ) + b g(x)=w^{T}k(x,x_{i})+b g(x)=wTk(x,xi)+b

非线性的思想:

  • 最近邻
  • 决策树
  • 神经网络
  • 集成学习

4.2 决策树

目标:

  • 在树结构上,根据节点的判断,搜索类别

树结构的优点:

  • 可以不必测试所有的特征和区域

关键问题:

  • 问题数
    • 离散值
      • 方法1:每个特征可以作为候选问题(ID3、C4.5),属性 A i 产生的候选问题数为 N i = 1 A_{i}产生的候选问题数为N_{i}=1 Ai产生的候选问题数为Ni=1
      • 方法2:每个特征的每个离散值作为候选问题(CART),属性 A i 产生的候选问题数为 N i = n i A_{i}产生的候选问题数为N_{i}=n_{i} Ai产生的候选问题数为Ni=ni
    • 连续值
      • 以每个维度的样本特征值作为问题
  • 划分(问题)选择
    • 非纯度Impurity Measure(IM)

      • IM最大时,各类别概率相等
      • IM最小时为0,只有一类(期望的目标)
    • 非纯度的熵度量(C4.5)

      • I ( D ) = E n t r o p y ( D ) = − ∑ i = 1 k p i l o g p i I(D)=Entropy(D)=-\sum_{i=1}^{k}p_{i}logp_{i} I(D)=Entropy(D)=i=1kpilogpi
    • 非纯度的基尼度量

      • I ( D ) = G i n i ( D ) = 1 − ∑ i = 1 k p i 2 I(D)=Gini(D)=1-\sum_{i=1}^{k}p_{i}^{2} I(D)=Gini(D)=1i=1kpi2
    • 划分选择目标:

      • 选择最大减少类别非纯度的问题作为划分节点
    • 基于非纯度变化量的三个指标:

      • 信息增益(ID3):越大越好

        • G a i n ( D , a ) = E n t r o p y ( D ) − ∑ v ϵ V a l u e ( A ) ∣ D v ∣ ∣ D ∣ E n t r o p y ( D v ) Gain(D,a)=Entropy(D)-\sum_{v\epsilon Value(A)}\frac{|D^{v}|}{|D|}Entropy(D^{v}) Gain(D,a)=Entropy(D)vϵValue(A)DDvEntropy(Dv)
        • 存在的问题:Gain(D,a)倾向于选择划分集合个数v多的节点
      • 增益率(C4.5):越大越好

        • G i n i _ r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gini\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} Gini_ratio(D,a)=IV(a)Gain(D,a)
        • I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g ∣ D v ∣ ∣ D ∣ IV(a)=-\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}log\frac{|D^{v}|}{|D|} IV(a)=v=1VDDvlogDDv
      • 基尼指数:越小越好

        • G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) Gini\_index(D,a)=\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}Gini(D^{v}) Gini_index(D,a)=v=1VDDvGini(Dv)
    • 节点类别设置:

      • 叶子节点纯度达到预设阈值后,停止划分,并对叶子节点进行类别设置。
      • 按概率最大的类别设定:
        • j = a r g max ⁡ i p i j=arg \displaystyle \max_{i}p_{i} j=argimaxpi
  • 决策树生成
    • 生成过程:从顶向下(不断增加一个节点)
    • 准则:所有划分中选择一个使非纯度减少量最大的划分为节点,加入决策树
    • 贪婪学习
    • 停止规则:设定阈值
  • 剪枝处理
    • 预剪枝
    • 后剪枝

4.3 最近邻方法

原理:将样本分类为离之最近的样本类别

分类准则: ω i \omega_{i} ωi类判别函数 g i ( x ) = min ⁡ k ∣ ∣ x − x i k ∣ ∣ , x i k ∈ ω i , k = 1 , 2 , . . . , N i g_{i}(x)=\displaystyle \min_{k}||x-x_{i}^{k}||,x_{i}^{k}\in \omega_{i},k=1,2,...,N_{i} gi(x)=kmin∣∣xxik∣∣,xikωi,k=1,2,...,Ni

决策规则: i f   g j ( x ) = min ⁡ i = 1 , . . . , c g i ( x ) , t h e n   x ∈ ω j if\ g_{j}(x)=\displaystyle \min_{i=1,...,c}g_{i}(x),then\ x\in \omega_{j} if gj(x)=i=1,...,cmingi(x),then xωj

最近邻分类隐含的决策边界是非线性的

k近邻

  • 原理:将样本分给k个近邻中类别样本个数最多的类

  • 分类准则:

    • k i , i = 1 , . . . , c k_{i},i=1,...,c ki,i=1,...,c,为x的k个近邻中属于 ω i \omega_{i} ωi的样本数
    • 判别函数: g i ( x ) = k i , i = 1 , . . . , c g_{i}(x)=k_{i},i=1,...,c gi(x)=ki,i=1,...,c
    • 决策规则: i f   g j ( x ) = max ⁡ i = 1 , . . . , c k i , t h e n   x ∈ ω j if\ g_{j}(x)=\displaystyle \max_{i=1,...,c}k_{i},then\ x\in \omega_{j} if gj(x)=i=1,...,cmaxki,then xωj
  • 误差讨论

  • 近邻法的缺点:

    • 存储量大:训练样本需要存到内存
    • 计算量大:每次决策都要计算所有样本的相似性

快速算法一:快速搜索近邻法:

  • 将样本分成不相交的子集,基于子集的搜索
    • 1、样本分级分层为多个子集
    • 2、逐层搜出一个最优子集
    • 3、在最后的子集中局部找到最近样本点

快速算法二:剪辑近邻法:

  • 通过剪掉边界样本(错误分类样本),缩减样本规模
  • 剪辑规则:
    • 两分剪辑近邻法
      • 将训练样本集,分成两个子集A,B
      • A做分类参考,对B进行剪辑(错分样本被剪掉)
      • 剪辑后的B-作为最终的训练集,训练近邻分类器

快速算法三:压缩近邻法:

  • 去掉中心附近样本,保留错误样本
  • 分类中通常被正确分类的样本,较少支持决策,将常分误的样本保留
  • 压缩规则:
    • 1、初始化,训练集分为S,G。S中仅1个样本;G中N-1个
    • 2、S作为训练,分类G中第i个样本;如果错误,将该样本放入S中
    • 3、对每一个样本重复步骤2
    • 4、直到G无错分样本,或G为空
    • 5、将G中样本放弃,S是最终压缩样本集

拒绝决策近邻法

  • 原理:对于各类别相似度较低的样本,不做判断
  • 优点:在样本压缩时,给可是可非样本机会
  • 算法1:可拒绝的k近邻法(分类决策)
    • k近邻中,各类样本的个数小于 k i k_{i} ki,拒绝分类
  • 算法2:可拒绝的编辑近邻法(样本压缩)
    • 与编辑近邻法比较,不同之处:除保留正确分类样本外,还保留了拒绝样本

4.4 集成学习

原理:不同的分类器对样本有不同的鉴别力;综合优势,使错误率最小

非线性分类_第1张图片

Geometric Average Rule(几何平均)

  • 最小化KL距离平均
  • 集成方法: p ( ω i ∣ x ) = ∏ j = 1 L ( p j ( ω i ∣ x ) ) p(\omega_{i}|x)=\prod_{j=1}^{L}(p_{j}(\omega_{i}|x)) p(ωix)=j=1L(pj(ωix))
  • 每个分类器的KL距离: D j = ∑ i = 1 M p ( ω i ∣ x ) l n p ( ω i ∣ x ) p j ( ω i ∣ x ) , ∑ i = 1 M p j ( ω i ∣ x ) = 1 D_{j}=\sum_{i=1}^{M}p(\omega_{i}|x)ln\frac{p(\omega_{i}|x)}{p_{j}(\omega_{i}|x)}, \sum_{i=1}^{M}p_{j}(\omega_{i}|x)=1 Dj=i=1Mp(ωix)lnpj(ωix)p(ωix),i=1Mpj(ωix)=1

Arithmetic Average Rule算术

  • 最小化Alternative KL距离平均
  • 集成方法: p ( ω i ∣ x ) = ∑ j = 1 L p j ( ω i ∣ x ) p(\omega_{i}|x)=\sum_{j=1}^{L}p_{j}(\omega_{i}|x) p(ωix)=j=1Lpj(ωix)
  • 每个分类器的Alternative KL距离: D j = ∑ i = 1 M p j ( ω i ∣ x ) l n p j ( ω i ∣ x ) p ( ω i ∣ x ) , ∑ i = 1 M p j ( ω i ∣ x ) = 1 D_{j}=\sum_{i=1}^{M}p_{j}(\omega_{i}|x)ln\frac{p_{j}(\omega_{i}|x)}{p(\omega_{i}|x)}, \sum_{i=1}^{M}p_{j}(\omega_{i}|x)=1 Dj=i=1Mpj(ωix)lnp(ωix)pj(ωix),i=1Mpj(ωix)=1

Majority Voting Rule投票

  • 对两类问题,多个分类器进行决策投票,票数过半的类别为样本最终标签
  • 什么样的基分类器组合比较好:(1)多样性(2)性能不太差
  • 要求基分类器:(1)相互独立(2)正确率p>50%
  • Bagging
    • 通过随机采样,训练分类器,保证分类器的差异
      • 从训练集中不断随机抽取样本构造分类器(放回选样),分类时通过投票进行类别判断
      • 算法复杂度:基分类器复杂度+投票复杂度
  • 随机森林
    • 多决策树的Bagging,决策树随机属性选择
      • 从训练集中不断随机构造决策树分类器(放回选样),分类时投票进行类别判断
  • Boosting:AdaBoost
    • Boosting原理:一系列弱分类器,在不同子集上学习,得到增强分类器

4.5 非线性SVM

  • 核心思想:

    • 最大间隔:找到最大间隔分类超平面

    • 核函数方法:样本升维映射到高维空间后,采用线性决策。升维技巧由核技巧实现

  • 目标:找到最大间隔分类超平面

  • 函数间隔

  • 几何间隔:w,b成比例改变,几何间隔不变

  • 核函数方法:避免直接求非线性映射,由核函数代替内积运算

你可能感兴趣的:(机器学习)