Learning Decision Trees with Rei
2018-08-15 本文已影响0人
H丶hard
- 两个问题:
划分值会随着选择的特征变化
也会因为当前节点的样本分布变化 - RNN控制器仅对每个节点进行要划分哪个特征进行预测。
- 为了固定RNN控制器的预测长度,假定决策树是一个完全二叉树且深度为,编号顺序为从左到右,从上到下。
- 根据控制器在第步的预测结果来决定第个节点划分特征
- RNN控制器对特征取样是根据输出分布函数,且用one-hot编码预测作为下一步的输入向量
- 当RNN控制器运行了步,决策树的属性划分特征就被选定了。
- 选取的特征要使得考虑到基尼指数的信息增益最大
- 当树被建立后,它的性能将作为一个反馈信号去更新控制器的参数
- 控制器的训练目标是最大化它的期望奖励
奖励信号对于是不可微分的
一个经验逼近的基函数如下:
其中是不同策略的数量,是要预测划分的特征的数量,是奖励信号的指数滑动平均 - 训练集、验证集、测试集各占50%、25%、25%,训练集用作构建决策树,验证集来评估所选分类器的性能,测试集用作评估最后模型的性能。
- 分别训练RNN控制器。首先,用CART训练一颗决策树,用基尼指数作为划分标准,调整树的深度和叶子去最大化分类器在验证集上的AUC分数。
- 当最佳CART被构建时,将其作为一个基分类器,且用其深度来决定RNN控制器的序列长度。
- RNN通过Adam优化程序优化,学习率为0.0005,控制器为单层的RNN,它的权值初始化是在-0.08到0.08之间的随机值,隐层大小为,是使得的最小整数