读书笔记

多分类学习

基本思想:拆解法;将多分类任务拆解为若干个二分类任务求解,先对这些问题经拆分,为拆分出的每个二分类任务训练一个分类器,测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果,

拆分策略:one vs one,一对一,将N个类别两两配对,产生,即N(N-1)/2个分类结果,最终结果通过投票产生,投票是把被预测的最多的类别作为最终分类结果。

One vs rest,一对其余,每次将一个类的样例作为正样本,其他的作为负样本,训练N个分类器。选择预测置信度最大的标记类别作为分类结果。。

ManyvsMany 多对多,每次将若干个类作为正样本,若干个类作为负样本,,MvM的正负样本设计必须有特殊的设计,最常用的是ECOC(Error Correcting Output Codes)。

分编码和解码两步走,编码:对N个类别做M次拆分,每次拆分将一部分做正样本,一部分做负样本,形成一个二分类训练集,如此可产生M个训练集,训练M个分类器。

解码:M个分类器分别对测试样本进行预测,这些预测标记形成一个编码,将这个预测编码与每个类别各自的编码进行比较,,返回其中距离最小的类别作为最终的预测结果。

如下是二元ECOC码

一些约束:ECOC对分离器具有一定的容错和纠错能力,这是说如果f2分类出错,从而导致-1,-1,+1,-1,+1的错误编码,基于这个仍然能产生正确的编码。一般。编码越长纠错能力越强,但同时计算量和开销也越大。对于同等长度的编码,任意两个类别之间的编码距离越远,纠错能力越强,可根据此原则来选出最优编码。

类别不平衡

基本概念:分类任务中不同类别的训练样本差别很大,比如正样本10000,负样本2

基本策略:再缩放(rescaling或者rebalance)。

对于二分类问题,y表示预测值,正样本可能性y,负样本可能性为1-y,分类决策规则为:

,则为正样本,

然,当训练集中正,负样本数目不同时,令m+为正样本数,m-为负样本数,则

观测几率是m+/m-,在训练样本是真实样本总体的无偏采样的基础上,观测几率就代表了真是几率。于是,只要分类器的预测几率高于观测几率应判定为正样本,即:

进行调整,

决策树

根节点-蓝色表示全体样本,内部节点红色,叶节点绿色对应于决策结果。

决策树学习的关键在于如何选择最优划分属性。随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能的属于同一类别,即“纯度”越来越高。

度量样本集合纯度的指标:

1.  信息熵(information entropy),定义:已知样本集合D,第k类样本所占的比例为Pk,则信息熵的定

信息增益:某属性对样本集进行划分所获得的信息增益,越大,说明使用此属性划分所获得的纯度提升越大,例如ID3算法。就是决策树在进行属性选择划分前和划分后的信息差值。

信息增益可对取值数目较多的属性有所偏好,为减少这个影响,C4.5决策树算法不直接使用信息增益,使用增益率来选择最优划分属性:先从候选属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

C4.5是机器学习算法中的另一个分类决策树算法,它是基于ID3算法进行改进后的一种重要算法,相比于ID3算法,改进有如下几个要点:

o   用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,这里可以用很多方法来定义信息,ID3使用的是熵(entropy, 熵是一种不纯度度量准则),也就是熵的变化值,而C4.5用的是信息增益率。

o   在决策树构造过程中进行剪枝,因为某些具有很少元素的结点可能会使构造的决策树过适应(Overfitting),如果不考虑这些结点可能会更好。

o   对非离散数据也能处理。

o   能够对不完整数据进行处理。

C4.5算法的优点是:产生的分类规则易于理解,准确率较高。
C4.5算法的缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。

 基尼指数是另外一种数据的不纯度的度量方法,

CART决策树使用Gini来选择划分属性,其定义如下:

 

 其中的m然表示数据集D中类别C的个数,Pi表示D中任意一个记录属于类别Ci的概率,计算时Pi=(D中属于Ci类的集合的记录个数/|D|)。如果所有的记录都属于同一个类中,则P1=1,Gini(D)=0,此时不纯度最低。直观的说,Gini(D)反应了从数据集D中随机抽取两个样本,其类别标记不一致的概率。

在CART(Classification and Regression Tree)算法中利用基尼指数构造二叉决策树,对每个属性都会枚举其属性的非空真子集,以属性R分裂后的基尼系数为:

 D1为D的一个非空真子集,D2为D1在D的补集,即D1+D2=D,对于属性R来说,有多个真子集,即GiniR(D)有多个值,但我们选取最小的那么值作为R的基尼指数。最后:

  我们转Gini(R)增量最大的属性作为最佳分裂属性。

机器学习笔记-多分类学习,类别不平衡,决策树相关推荐

  1. 西瓜书+实战+吴恩达机器学习(三)机器学习基础(多分类、类别不平衡)

    文章目录 0. 前言 1. 多分类学习 2. 类别不平衡 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 本篇介绍机器学习中的多分类和类别不平衡问题. 1. 多分 ...

  2. 【机器学习】多分类学习的拆分策略

    [机器学习]多分类学习 现实中常遇到多分类学习任务.有些二分类学习方法可直接推广到多分类,但在更多情形下,我们是基于一些基本策略,利用二分类学习器来解决多分类问题.所以多分类问题的根本方法依然是二分类 ...

  3. 机器学习笔记之集成学习(四)Gradient Boosting

    机器学习笔记之集成学习--Gradient Boosting 引言 回顾: Boosting \text{Boosting} Boosting算法思想与 AdaBoost \text{AdaBoost ...

  4. 机器学习笔记-Logistic分类

    机器学习笔记-Logistic分类 作者:星河滚烫兮 我们知道,回归模型一般是去根据已有的标记数据去预测新事物.Logistic回归模型因为历史原因有"回归"二字,但其实是一个分类 ...

  5. FlyAI小课堂:python机器学习笔记:深入学习决策树算法原理

    分类技术(或分类法)是一种根据输入数据建立分类模型的系统方法,分类法的例子包括决策分类法,基于规则的分类法,神经网络,支持向量机和朴素贝叶斯分类法.这些技术都使用一种学习算法(learning alg ...

  6. [机器学习笔记] Note1--机器学习简介

    阅读本文大约需要 2 分钟 本文结构: 什么是机器学习 监督学习(Supervised Learning) 非监督学习(Unsupervised Learning) 课程小结 这是学习 Andrew ...

  7. 机器学习笔记(八)集成学习

    8.集成学习 8.1个体与集成 集成学习(ansemblelearning)通过构建并结合多个学习器来完成学习任务,也称为多分类器系统(multi-classifiersystem).基于委员会的学习 ...

  8. [云炬python3玩转机器学习笔记] 2-4批量学习、咋西安学习、参数学习和非参数学习

    机器学习的其他分类: 在线学习(online learining)和批量学习(离线学习 batch learning/offline learning): 批量学习(之前没有具体说明的话,都可以用批量 ...

  9. 机器学习Sklearn——红酒分类案例详解决策树模型参数

    目录 1 分类树 1.1 红酒分类案例 1.1.1 导入包 1.1.2 观察.分割数据 1.1.3 三段论 2 参数介绍 2.1 重要参数 2.2 控制随机选项参数 2.3 剪枝参数 3 批量测试合适 ...

最新文章

  1. 阿里不让多表join?我偏要!
  2. Android Studio查找或设置函数注释的快捷键
  3. 稀疏编码(Sparse Coding)(二)
  4. go本地调用image-syncer
  5. ZOJ 3962:Seven Segment Display(思维)
  6. 鱼c论坛python课后作业_三日速成python?打工人,小心钱包,别当韭菜
  7. S5PV210裸机之外部中断
  8. zookeeper 日志查看_Linux环境下安装部署单机Zookeeper
  9. 编写函数实现员工信息录入和输出_Excel---最牛的员工档案模板,非常智能化
  10. Xcode真机调试不了,提示 “Please reconnect the device”
  11. java 车牌号 正则_正则验证车牌号码,包括新能源车牌
  12. 热电阻温度计 电阻温度探测器 直接浸入式清洁传感器 精密RTD 美国Burns 胶囊式铂电阻温度检测器 迷你RTD整体热电偶套管 气温传感器 测温传感器 温度传感器 温度传感器生产厂家 温度变送器
  13. 消费税简介、消费税税目 、消费税税率 、消费税计算、综合练习
  14. Excel学习笔记-图表(双向条形图、甘特图、饼图、往PPT中插入图表)
  15. 基于JAVA(Springboot框架)助农商城平台系统设计与实现 毕业设计开题报告
  16. 苏嵌学习日志08 07.16
  17. 华为又收天才少女,进华为的标准是什么?
  18. 视频教程-学校网管员培训视频教程-网络技术
  19. 手动在百度云服务器上安装Mysql8.0
  20. 说一个恐怖故事:我的另一半是程序员!惊了~

热门文章

  1. 房地产泡沫,经济发展的真正毒瘤
  2. 公司电子企业邮箱注册哪个好,电子企业邮箱怎么写?
  3. 勋章菊的养殖方法和注意事项
  4. 0x00007FFE81272FE1 (ucrtbased.dll) (Project1.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x0000000000000000 时发
  5. Allegro基本规则设置指导书之Electrical Total Etch Length
  6. L2-4 寻宝图 天梯赛题补
  7. python3 绘制盖尔圆
  8. 笔记本电脑里的微信文件数据误删了 如何恢复?
  9. 小程序云开发登陆流程
  10. MySQL5.7修改密码问题解决方案