机器学习概念及决策树

逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述机器学习概念及决策树相关的知识,希望能为你提供帮助。
机器学习 (Machine Learning, ML)

1 概念:多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。2 学科定位:人工智能(Artificial Intelligence, AI)的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。3 定义:探究和开发一系列算法来如何使计算机不需要通过外部明显的指示,而可以自己通过数据来学习,建模,并且利用建好的模型和新的输入来进行预测的学科。Arthur Samuel (1959): 一门不需要通过外部程序指示而让计算机有能力自我学习的学科Langley(1996) : “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”Tom Michell (1997):“机器学习是对能通过经验自动改进的计算机算法的研究”4: 学习:针对经验E (experience) 和一系列的任务 T (tasks) 和一定表现的衡量 P,如果随之经验E的积累,针对定义好的任务T可以提高表现P,就说计算机具有学习能力例子: 下棋,语音识别,自动驾驶汽车等

机器学习的应用:
语音识别 自动驾驶 语言翻译 计算机视觉 推荐系统 无人机 识别垃圾邮件

【机器学习概念及决策树】Demo:
人脸识别
无人驾驶汽车
电商推荐系统
置业市场需求:LinkedIn所有职业技能需求量第一:机器学习,数据挖掘和统计分析人才
  1. 基本概念:
    训练集,测试集,特征值,监督学习,非监督学习,半监督学习,分类,回归
  2. 概念学习:
人类学习概念:鸟,车,计算机
定义:概念学习是指从有关某个布尔函数的输入输出训练样例中推断出该布尔函数
  1. 例子:
    学习 “享受运动" 这一概念:
    小明进行水上运动,是否享受运动取决于很多因素
样例天气温度湿度风力水温预报享受运动1晴暖普通强暖一样是2晴暖大强暖一样是3雨冷大强暖变化否4晴暖大强冷变化是
天气:晴,阴,雨 温度:暖,冷 湿度:普通,大 风力:强,弱 水温:暖,冷 预报:一样,变化 享受运动:是,否 概念定义在实例(instance)集合之上,这个集合表示为X。(X:所有可能的日子,每个日子的值由 天气,温度,湿度,风力,水温,预报6个属性表示。 待学习的概念或目标函数成为目标概念(target concept), 记做c。 c(x) = 1, 当享受运动时, c(x) = 0 当不享受运动时,c(x)也可叫做y x: 每一个实例 X: 样例, 所有实例的集合 学习目标:f: X -> Y

  1. 训练集(training set/data)/训练样例(training examples):
    用来进行训练,也就是产生模型或者算法的数据集
    测试集(testing set/data)/测试样例 (testing examples):用来专门进行测试已经学习好的模型或者算法的数据集
    特征向量(features/feature vector):属性的集合,通常用一个向量来表示,附属于一个实例
    标记(label): c(x), 实例类别的标记
    正例(positive example)
    反例(negative example)
  2. 例子:研究美国硅谷房价
    影响房价的两个重要因素:面积(平方米),学区(评分1-10)
样例面积(平方米)学区(1-10)房价 (1000$)1100810002120913003606800480911005955850
特征:面积 与学区
学习的概念:房价 的值
标记 :房价对应的学区
  1. 分类与回归
    分类 (classification): 目标标记为类别型数据(category)类似于晓明对于游泳环境的心情
    回归(regression): 目标标记为连续性数值 (continuous numeric value) 类似于 房价对于其学区的影响
  2. 有/无/半/监督学习
研究肿瘤良性,恶性于尺寸,颜色的关系
特征值:肿瘤尺寸,颜色
标记:良性/恶性
有监督学习(supervised learning): 训练集有类别标记(class label) 无监督学习(unsupervised learning): 无类别标记(class label) 半监督学习(semi-supervised learning):有类别标记的训练集 + 无标记的训练集

  1. 机器学习步骤框架
    8.1 把数据拆分为训练集和测试集
    8.2 用训练集和训练集的特征向量来训练算法
    8.2 用学习来的算法运用在测试集上来评估算法 (可能要设计到调整参数(parameter tuning), 用验证集(validation set)
100 天: 训练集 由于学习一种模型 算法 函数
10天:测试集 (不知道是否 ” 享受运动“, 知道6个属性,来预测每一天是否享受运动)有学习的模型 来预算 其准确
  1. 机器学习中分类和预测算法的评估:
    • 准确率
    • 速度
    • 强壮行
    • 可规模性
    • 可解释性
  2. 什么是决策树/判定树(decision tree)?
    判定树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。
  3. 机器学习中分类方法中的一个重要算法
  4. 构造决策树的基本算法
→ 根据上述的数据集 进行分类
3.1 熵(entropy)概念:信息和抽象,如何度量? 1948年,香农提出了 ”信息熵(entropy)“的概念 一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者 是我们一无所知的事情,需要了解大量信息==> 信息量的度量就等于不确定性的多少例子:猜世界杯冠军,假如一无所知,猜多少次? 每个队夺冠的几率不是相等的比特(bit)来衡量信息的多少变量的不确定性越大,熵也就越大 3.1 决策树归纳算法 (ID3)1970-1980, J.Ross. Quinlan, ID3算法选择属性判断结点信息获取量(Information Gain):Gain(A) = Info(D) - Infor_A(D) 通过A来作为节点分类获取了多少信息

→ 不按照年龄区分
→ 按照年龄区分
→ 年龄的信息获取量(Information Gain):
类似,Gain(income) = 0.029, Gain(student) = 0.151, Gain(credit_rating)=0.048
所以,选择age作为第一个根节点
重复 上述计算操作 ,信息获取量(Information Gain) 最大的,创建下一个节点
算法:
  • 树以代表训练样本的单个结点开始(步骤1)。
  • 如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2 和3)。
  • 否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。该属性成为该结点的“测试”或“判定”属性(步骤7)。在算法的该版本中,
  • 所有的属性都是分类的,即离散值。连续属性必须离散化。
  • 对测试属性的每个已知的值,创建一个分枝,并据此划分样本(步骤8-10)。
  • 算法使用同样的过程,递归地形成每个划分上的样本判定树。一旦一个属性出现在一个结点上,就不必该结点的任何后代上考虑它(步骤13)。
  • 递归划分步骤仅当下列条件之一成立停止:
  • (a) 给定结点的所有样本属于同一类(步骤2 和3)。
  • (b) 没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)。
  • 这涉及将给定的结点转换成树叶,并用样本中的多数所在的类标记它。替换地,可以存放结
  • 点样本的类分布。
  • (c) 分枝
  • test_attribute = a i 没有样本(步骤11)。在这种情况下,以 samples 中的多数类
  • 创建一个树叶(步骤12)
    3.1 其他算法:
    C4.5:Quinlan
    Classification and Regression Trees (CART): (L. Breiman, J. Friedman, R. Olshen, C. Stone)
    共同点:都是贪心算法,自上而下(Top-down approach)
    区别:属性选择度量方法不同: C4.5 (gain ratio), CART(gini index), ID3 (Information Gain)
    3.2 如何处理连续性变量的属性?
  1. 树剪枝叶 (避免overfitting)
    4.1 先剪枝 达到一定纯度 就停止
    4.2 后剪枝 类的纯度 减去 最后的分支
  2. 决策树的优点:
    直观,便于理解,小规模数据集有效
  3. 决策树的缺点:
    处理连续变量不好
    类别较多时,错误增加的比较快
    可规模性一般(

    推荐阅读