條件的類型

這個單元著重於不同類型的conditions,用於建構決策樹。

軸對齊與傾斜條件

「軸對齊」條件僅涉及單一地圖項目。「義務條件」涉及多項功能。舉例來說,以下是軸對齊的條件:

num_legs ≥ 2

以下是義務的情況:

num_legs ≥ num_fingers

決策樹通常只使用以軸對齊的條件訓練。但是,過時的分割可以表達更複雜的模式,因此功能更為強大。偶爾分割會產生更好的結果,卻會增加訓練和推論成本。

YDF 代碼
在 YDF 中,系統會根據預設以軸對齊的條件訓練決策樹。您可以使用 split_axis="SPARSE_OBLIQUE" 參數啟用決策義務樹狀圖。

軸對齊的條件是「num_legs >= 3」。斜體條件為「num_legs + weight * 5 >= 12」。

圖 4. 軸對齊條件和斜方條件範例。

 

繪製上述兩個條件的圖形,會產生下列特徵空間分隔:

體重與 num_legs 的比較圖。軸對齊的條件不會忽略權重,因此只是垂直線。斜率條件顯示負斜線條。

圖 5. 圖 4 條件的特徵空間區隔。

 

二進位和非二元條件

具有兩個可能結果 (例如 true 或 false) 的條件稱為「二進位條件」。僅包含二元條件的決策樹狀結構稱為「二元決策樹」

非二元條件可能會產生超過兩個可能的結果。因此,非二元條件的判別功率高於二元條件。包含一或多個非二元條件的決定稱為「非二元決策樹」

二元與非二元決策樹的比較。二元決策樹狀結構包含兩個二元條件;非二元決策樹狀圖有一個非二元條件。

圖 6:二進位與非二元決策樹。

 

電力過多的情況也可能會過熱。因此,決策樹通常會使用二元決策樹,因此本課程會著重於這些樹狀圖。

最常見的條件類型是門檻條件,如下所示:

featurethreshold

例如:

num_legs ≥ 2

還有其他條件類型。以下是其他常用的二進位條件類型:

 

表 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{Missing}$ $\mathrm{num\_legs} \mathrm{is{is} \mathrm{Missing}$