zoukankan      html  css  js  c++  java
  • 多分类问题与多类感知机算法

      本节延续线上节感知机算法,继续探讨多分类的线性感知机算法。

      多分类问题首先可以看成是二元分类的一个拓展,具体的有两种方法:1.one vs rest;2.one vs one。

      1.one vs rest

      对于K(k>=3),我们可以用K-1个分类器,组合实现多分类:

                        

    这种方法被一些知名的开源工具支持实现(如Libsvm),绿色部分属于决策结果重叠部分,C1与C2均将其纳入决策区域。

      2.one vs one

      这种方法在每一类之间训练一个分类器,对于K分类问题需要训练(k-1)*k/2个二元分类器:

                         

      

      

    这种方法,可能会产生决策模糊区域,如上图绿色标记的区域无法判断属于哪一类。

      另外一种方法是,直接训练K的分类器:

                    

    其决策区域如下:

          

      

      这种方法可以避免二元分类组合多元分类可能引入的决策重合与决策模糊问题,其缺点是,很多模型并不直接多分类模型(如SVM模型)。

      对于多类感知机算法,我们训练K个二元分类器方法,其损失函数变成:

                    

     对损失函数求导,得到梯度:

             

    得到梯度后,采用梯度下降算法求导感知机的参数即可,下一节将介绍C++版本的分类器的实现。

        

  • 相关阅读:
    容器操作--管理迭代器
    顺序容器--添加及访问元素
    日志记录-20151103
    顺序容器--容器库.迭代器
    使用-flat.vmdk恢复虚拟机
    H3C-交换机维护命令大全
    Centos6.5 安装zabbix-agent 3.0
    Linux系统调试工具之sysdig使用详解
    通过实例学习 tcpdump 命令
    系统之锹sysdig:Linux服务器监控和排障利器
  • 原文地址:https://www.cnblogs.com/wangbogong/p/3062470.html
Copyright © 2011-2022 走看看