条件的类型

本单元着重介绍用于构建决策的不同类型的条件 数据。

轴对齐与倾斜条件

轴对齐 条件仅涉及一项功能。斜 条件涉及多个特征。例如,以下是 轴对齐条件:

num_legs ≥ 2

以下是倾斜条件:

num_legs ≥ num_fingers

通常,在训练决策树时,仅使用与轴对齐的条件。不过, 斜向分割功能更强大,因为它们可以 模式。平滑分割有时会产生更好的结果,但代价是 训练和推理成本增加。

YDF 代码
在 YDF 中,默认情况下使用轴对齐条件训练决策树。 您可以使用 split_axis="SPARSE_OBLIQUE" 参数。

轴对齐条件为“num_legs >= 3”。倾斜条件为
  “num_legs + weight * 5 >= 12”。

<ph type="x-smartling-placeholder"></ph> 图 4.轴对齐条件和倾斜条件示例。

 

绘制上述两个条件的图像会生成以下特征空间 分离:

体重与腿数的图表。轴对齐条件
  忽略权重,因此只是一条垂直线。斜体
  条件都显示负斜线。

<ph type="x-smartling-placeholder"></ph> 图 5.图 4 中条件的特征空间分隔。

 

二元条件与非二元条件

有两种可能的结果(例如 true 或 false)称为 二元条件。仅包含二元条件的决策树 称为二元决策树

非二元条件有两种可能的结果。因此, 与二元条件相比,非二元条件的判别能力更高。 包含一个或多个非二元条件的决策称为非二元决策 树

二元决策树与非二元决策树的比较。二元决策
  树包含两个二元条件;非二元决策树
  包含一个非二元条件。

<ph type="x-smartling-placeholder"></ph> 图 6:二元决策树与非二元决策树。

 

条件过多 也更有可能过拟合。因此,决策森林 通常使用二元决策树,因此本课程将重点介绍此类决策。

最常见的条件类型是阈值条件,表示为:

featurethreshold

例如:

num_legs ≥ 2

还存在其他类型的条件。以下是其他常用的 二元条件:

 

<ph type="x-smartling-placeholder"></ph> 表 2.二元条件的常见类型。

名称 使用情况 示例
阈值条件 $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
等式条件 $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``cat"$
内嵌条件 $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{species} \in \{``cat", ``dog", ``bird"\}$
斜面 $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
地图项缺失 $\mathrm{feature}_i \mathrm{is} \mathrm{缺失}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{Missing}$