這個單元著重於不同類型的conditions,用於建構決策樹。
軸對齊與傾斜條件
「軸對齊」條件僅涉及單一地圖項目。「義務條件」涉及多項功能。舉例來說,以下是軸對齊的條件:
num_legs ≥ 2
以下是義務的情況:
num_legs ≥ num_fingers
決策樹通常只使用以軸對齊的條件訓練。但是,過時的分割可以表達更複雜的模式,因此功能更為強大。偶爾分割會產生更好的結果,卻會增加訓練和推論成本。
YDF 代碼
在 YDF 中,系統會根據預設以軸對齊的條件訓練決策樹。您可以使用 split_axis="SPARSE_OBLIQUE"
參數啟用決策義務樹狀圖。圖 4. 軸對齊條件和斜方條件範例。
繪製上述兩個條件的圖形,會產生下列特徵空間分隔:
圖 5. 圖 4 條件的特徵空間區隔。
二進位和非二元條件
具有兩個可能結果 (例如 true 或 false) 的條件稱為「二進位條件」。僅包含二元條件的決策樹狀結構稱為「二元決策樹」。
非二元條件可能會產生超過兩個可能的結果。因此,非二元條件的判別功率高於二元條件。包含一或多個非二元條件的決定稱為「非二元決策樹」。
圖 6:二進位與非二元決策樹。
電力過多的情況也可能會過熱。因此,決策樹通常會使用二元決策樹,因此本課程會著重於這些樹狀圖。
最常見的條件類型是門檻條件,如下所示:
feature ≥ threshold
例如:
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}$ |