2020 决策树(1)

machine_learning.jpg

决策树(Decisino Tree)

image

甜点

最近经过一段的学习,感觉到机器学习一些算法其本质和背后支撑的技术是多少有一些联系的。经过一轮学习,从重新来看决策树模型。将过去写过关于决策树文章进行整理,发现之前的文章存在一些问题,有的地方理解还不够,所以给出语言也是晦涩难懂,有的地方有过于啰嗦。整体上看条理不是很清楚,带入感也不强,找个理由就是平时忙于工作,没有那么多时间进行推敲。

什么是决策树

在决策树中,可以根据数据的某一个特征,按某一个值对数据进行切分。那么选择哪一个特征,选择哪一个值来切分数据可以得到好效果是我们在决策树要研究的问题。以及我们通过什么指标来衡量数据。

标签

我们通过给决策树打上一些标签,帮助大家来更好地理解什么是决策树。

  • 非线性模型
  • 有监督学习
  • 可以做分类和回归问题
  • 弱分类器

线性模型和非线性模型

  • 可以用更加透彻解释,所谓线性模型通过学习数据属性线性组合来进行预测的模型

y = \theta_0 + \theta_1x_1 + \theta_2x_2^2

  • 最简单的判断一个模型是不是非线性,就是关注非线性本身,判断其参数是不是非线性的。
    y = \theta_0 + \theta_1 x_1 + \theta_2^2 x_2

x_1x_2 不是独立,在不同区域内 x_1x_2 关系不同。

线性模型和非线性模型的区别

在机器学习的回归问题中,线性模型非线性模型都可以去对曲线进行建模,所有有许多人误认为线性模型无法对曲线进行建模。其实,线性模型和非线性模型的区别并不在于能不能去拟合曲线。

  1. 线性模型可以用曲线拟合样本,但是分类的决策边界一定是直线(如 logistics 模型)
  2. 区分是否为线性模型,主要是看一个乘法式子中自变量 x 前的系数 \theta ,应该是说 x 只被一个 \theta 影响,那么此模型为线性模型。
  3. 画出 yx 是曲线关系,但是他们是线性模型,因为 \theta_1x_1 中可以观察到 x_1 只被一个 w_1 影响
    y = \frac{1}{e^{(\theta_0,+ \theta_1x_1 + \theta_2x_2)}}
  4. 当(如下面模型中) x_1 不仅仅被参数\theta_1 影响,而且还被\theta_5 影响,自变量 x 被两个以上的参数影响,那么模型就是非线性模型
    y = \frac{1}{1 + \theta_5 e^{(\theta_0,+ \theta_1x_1 + \theta_2x_2)}}

决策树构成

dt_07.jpg
  • 根结点(root node)
  • 非叶子结点(internal node): 表示一个特征或属性
  • 叶子结点(leaf node): 每一个叶节点表示类别
  • 路径(branch) 路径

根结点到叶结点的每一条路径构成一条规则:

  • 路径上的非叶子节点对应规则的条件
  • 叶子结点的类对应规则的结论
    如图其中一个路径是 Female 并且身高高于 1.8 m 算是高的。

决策树优点

  • 推理过程容易理解,决策推理过程可以表示 if then 形式
  • 推理过程完全依赖于属性变量的取值特点
  • 可自动忽略目标变量没有贡献的属性变量,也可判断变量的重要性,减少变量的数目提供参考
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容