西瓜书+实战+吴恩达机器学习(十七)规则学习(序贯覆盖)
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~
0. 前言
规则学习是从训练数据中学习出一组能用于对未见示例进行判别的规则。
规则学习具有更好的可解释性,能更直观的了解判别过程。
- 覆盖:符合某条规则的样本,称为被该规则覆盖
- 冲突:同一个示例被多条不同的规则覆盖
1. 序贯覆盖
搜索属性主要有以下两种方法:
- 自顶向下:从比较一般的规则开始,逐渐添加新文字以缩小规则覆盖范围,直到满足条件
- 自底向上:从比较特殊的规则开始,逐渐删除文字以扩大规则覆盖范围,直到满足条件
前者更容易产生泛化性能较好的规则,后者更适用于样本较少的情况。
自顶向下的方法,每轮选择规则准确率最高的,如果准确率相同,则选择覆盖的样例数目最多的,如下图所示(图源:机器学习):
上述方法每次仅考虑最优的规则,过于贪心,可修改为每次保留最优的几个文字,用于下一轮构建。
序贯覆盖每产生一条规则,就将该规则覆盖的训练样例去除,然后用剩下的训练样例继续产生规则。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~