【机器学习、深度学习与强化学习】机器学习(2)---决策树(1)

一、前言

我们今天来讲一讲决策树的第一课:简单的决策树

我们的背景是这样的:

你准备去一家餐厅吃饭,但是餐厅已经满了,你想要知道应不应该等待餐厅出现空位。

表格如下:

ALT:这附近还有合适的餐厅吗

BAR:有等待区可以等候吗

FRI:是否是周五

PATRONS:有多少人正在吃饭

PRICE:价格是否昂贵

RES:是否有预约?

TYPE:什么菜系

EST:预计的等待时间

WILLWAIT:是否要等待

二、简单的决策树

那我们就要分析,这些属性是否与结果有着关系?

我们最朴素的想法,就是画个树状图来还原我们做决策的过程

我们的过程可能是这样的:

 

他的伪代码可能是:

很简单对吧。

但是你有没有发现一个问题,那就是:这样的决策树,他的运算复杂度是指数级的,因为你可能有不同的决策顺序,选择属性的可能顺序数已经是指数级的了。同时找出最小的决策树还是一个NP-Hard的问题(我们后面几个课会说什么事NP难问题)。

那怎么办呢?

三、假设空间

学习可以定义为:对所有观测数据搜索最佳假设。

那么对于决策树来说,假设空间是一个数据集所能生成的所有可能的决策树。

而学习的任务是:搜索整个空间,并返回最佳假设。但是,在一个小空间里,可以检验所有的假设。如果这个可能的决策树很多呢?

四、你是如何评估学习的?

 我们每个人都在学习,那么大家是如何评估学习质量的好坏呢?最直观的方式就是考试,最简单的方式就是使用考试分数。那么分数就是一个评估学习好坏的重要手段。那我们能不能也给决策树一个分数呢?

首先我们要制定打分的规则,这很重要。

我们如何找到最好的“规则”(特征、阈值和叶标签)?

  • 为规则定义一个“分数”
  • 搜索与最好的分数规则

最直观的评分:分类准确率 

当然只有分数还不够,我们都是贪婪的,都想拿到最好的分数。那对于机器学习也是这样,我们不防使用贪婪算法。

五、贪婪的递归分割

我们现在有这样的数据集:我们想找到过敏原是什么:

我们首先通过观察,找到最佳准确率的牛奶分类如下:

 

 然后我们生成第一组树:

 

 之后我们继续细分:

直到:

  1. 不能进一步分裂一个叶节点,例如,只有一个例子在叶节点
  2. 叶子只有一个标签。
  3. 用户自定义最大深度

这三者是“或”的关系,当然也可以组合评判。

六、问题所在

请注意,高的准确率就一定是好的模型么?

先留下思考。下一节继续说。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋转跳跃我闭着眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值