我是靠谱客的博主 等待电话,最近开发中收集的这篇文章主要介绍【机器学习、深度学习与强化学习】机器学习(2)---决策树(1)一、前言二、简单的决策树三、假设空间四、你是如何评估学习的?五、贪婪的递归分割六、问题所在,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、前言

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

我们的背景是这样的:

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

表格如下:

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

BAR:有等待区可以等候吗

FRI:是否是周五

PATRONS:有多少人正在吃饭

PRICE:价格是否昂贵

RES:是否有预约?

TYPE:什么菜系

EST:预计的等待时间

WILLWAIT:是否要等待

二、简单的决策树

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

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

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

 

他的伪代码可能是:

很简单对吧。

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

那怎么办呢?

三、假设空间

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

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

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

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

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

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

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

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

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

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

五、贪婪的递归分割

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

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

 

 然后我们生成第一组树:

 

 之后我们继续细分:

直到:

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

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

六、问题所在

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

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

最后

以上就是等待电话为你收集整理的【机器学习、深度学习与强化学习】机器学习(2)---决策树(1)一、前言二、简单的决策树三、假设空间四、你是如何评估学习的?五、贪婪的递归分割六、问题所在的全部内容,希望文章能够帮你解决【机器学习、深度学习与强化学习】机器学习(2)---决策树(1)一、前言二、简单的决策树三、假设空间四、你是如何评估学习的?五、贪婪的递归分割六、问题所在所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部