机器学习(三)树模型
3.1 划分选择
3.1.1 信息增益
熵的定义如下,熵越小,纯度越高
信息增益定义如下,属性a有v个取值
信息增益越大,意味着使用属性a进行划分所获得纯度越大,ID3使用信息增益来划分属性
信息增益越容易偏向选择特征值较多的特征
3.1.2 信息增益率
信息增益率对取值较少的特征有偏好 信息增益率 C4.5 启发式 先找信息增益高于平均的属性,再选择增益率最高的
3.1.3 基尼系数
基尼系数直观来说,反映的是从数据集D中抽取两个样本,其类标记不一样的概率,Gini越高数据集纯度越高
选择Gini指数较小的作为划分的标准
3.2 剪枝
预剪枝:
每个结点划分时估计,若不能提升泛化性能 则停止分裂 将其作为叶节点
降低了过拟合的风险 很多特征没有展开,但 有些特征在当前的划分不能带来提升泛化性能 在之后可能会提升,带来了欠拟合的风险
后剪枝:
自底向上,对非叶结点考察,若将子树替换为叶节点能够带来泛化性能提升 则 将子树替换为叶节点
相对于预剪枝 后剪枝保留了更多的分支,欠拟合风险小 泛化性能优于预剪枝
时间花销太大 它是树训练完成之后的从低向上的
3.3 连续值与缺失值处理
连续值处理 二分法 大小排序后 划分点 取两边的中点
缺失值处理 计算属性信息增益率时 只考虑无缺失值的样本,然后乘以一定的权重
3.3 CART二叉树
3.3.1 分类问题 Gini index
生成过程:
对个特征 A,对它的所有可能取值 a,将数据集分为 A=a,和 A!=a 两个子集,计算集合 D 的基尼指数
遍历所有特征,计算所有可能的分割点,选择D的基尼指数最小值对应的特征作为特征值与切分点
重复以上过程直至满足停止条件
停止条件:
结点的样本个数小于给定阈值
样本集的基尼系数小于给定阈值
没有更多的特征
3.3.1 回归问题
数据空间被划分成了 R1~Rm 单元,每个单元上有一个固定的输出值 cm,每个单元上的 cm,可以使得这个平方误差最小化,易知当 cm 为相应单元上的所有实际值的均值时,可以达到最优
生成过程:
假设,我们选择变量
xj
x
j
为切分变量,它的取值 s 为切分点,那么就会得到两个区域
当 j 和 s 固定时,我们要找到两个区域的代表值 c1,c2 使各自区间上的平方差最小
cm=ave(y1|xi∈Rm) c m = a v e ( y 1 | x i ∈ R m ) 对应输出的均值
对固定的 j 只需要找到最优的 s,然后通过遍历所有的变量,我们可以找到最优的 j,并得到两个区间
总结:
考虑数据集 D 上的所有特征 j,遍历每一个特征下所有可能的取值或者切分点 s,将数据集 D 划分成两部分 D1 和 D2
分别计算上述两个子集的平方误差和,选择最小的平方误差对应的特征与分割点,生成两个子节点。
对上述两个子节点递归调用步骤(1)(2),直到满足停止条件。