假设我们已知一组变量V的值与一组标签名称T(分类标签)之间所有已知映射的宇宙。此外,假设唯一变量值组合的总空间很大(超过100亿个点),标签集的规模相对较小(数千个元素),变量的数量非常少(4-10个)。
构建一个分类器函数的算法是什么,该函数能够提供从变量值到标签的完美映射(与先验知识匹配,没有误报或漏报),并满足以下空间和时间复杂度目标:
- 时间复杂度低于O(|V|*log|T|)
- 空间复杂度小于O(|V|k),k ≤ e
或者,重新表述为决策树问题:
- 如何调整决策树算法以创建完美映射?
- 如何高效地表示训练数据以保证这一点?
回答:
你试图实现的目标应该可以通过任何允许你以某种方式指定修剪程度的决策树分类器来实现。关键是不进行任何修剪。你最终得到的决策树可能会有(潜在地)每个训练实例一个叶子节点(即非常大),但会给你“完美”的准确性,预测时间为O(|V|*log|T|)。
这完全独立于训练数据的表示方式(也应该是这样的)。唯一重要的是决策树生成器能够读取和处理它。构建这样一棵树的一种简单方法是为第一个例子添加一条路径,然后合并第二条路径,依此类推。
当然,这样一个分类器在实践中是否有用完全是另一个问题——在大多数情况下,它不会有用。