Machine learning 完美决策树分类

Machine learning 完美决策树分类,machine-learning,classification,decision-tree,Machine Learning,Classification,Decision Tree,假设一组变量V和一组标记名T(分类标签)的值之间的所有已知映射都是已知的。此外,假设唯一变量值组合的总空间较大(>100B点),标记集的大小相对较小(数千个元素),变量的数量非常小(4-10) 构建分类器函数的算法是什么?该函数提供了从变量值到标签的完美映射(匹配先验知识,无误报或漏报),具有以下空间和时间复杂度目标: 时间复杂度低于O(| V |*log | T |) 空间复杂度小于O(| V | k),k≤ e 或者,重新表述为决策树问题: 如何调整决策树算法以创建完美映射 如何有效地表

假设一组变量V和一组标记名T(分类标签)的值之间的所有已知映射都是已知的。此外,假设唯一变量值组合的总空间较大(>100B点),标记集的大小相对较小(数千个元素),变量的数量非常小(4-10)

构建分类器函数的算法是什么?该函数提供了从变量值到标签的完美映射(匹配先验知识,无误报或漏报),具有以下空间和时间复杂度目标:

  • 时间复杂度低于O(| V |*log | T |)
  • 空间复杂度小于O(| V | k),k≤ e
或者,重新表述为决策树问题:

  • 如何调整决策树算法以创建完美映射
  • 如何有效地表示训练数据以保证这一点

  • 通过任何决策树分类器,您试图实现的目标都应该是可能的,该分类器允许您以某种方式指定修剪级别。这样做的目的是让它不做任何修剪。最终得到的决策树(可能)每个训练实例都有一个叶子(即非常大),但预测时间为O(| V |*log | T |),可以提供“完美”的准确性

    这完全独立于训练数据的表示方式(并且应该是)。唯一重要的是决策树诱导器可以读取和处理它。构建这种树的一种简单方法是为第一个示例添加一条路径,然后为第二个示例合并一条路径,依此类推


    当然,这样一个分类器在实践中是否有用是一个完全不同的问题——在大多数情况下是不会有用的。

    任何决策树分类器都可以让您以某种方式指定修剪级别。这样做的目的是让它不做任何修剪。最终得到的决策树(可能)每个训练实例都有一个叶子(即非常大),但预测时间为O(| V |*log | T |),可以提供“完美”的准确性

    这完全独立于训练数据的表示方式(并且应该是)。唯一重要的是决策树诱导器可以读取和处理它。构建这种树的一种简单方法是为第一个示例添加一条路径,然后为第二个示例合并一条路径,依此类推


    当然,这样的分类器在实践中是否有用是一个完全不同的问题——在大多数情况下不会有用。

    您还没有定义什么是“完美”映射。@phs good catch;固定。如何表示先验知识?在不列举所有可能性的情况下,您如何能够说出任何实例属于哪个类?在我看来,这是你应该使用的分类规则,而不是试图得到一个决策树来匹配这些先验知识。“也许你能解释一下上下文?”贝纳利森问得很好。“类”空间是由以下问题的输出生成的:您还没有定义什么是“完美”映射;固定。如何表示先验知识?在不列举所有可能性的情况下,您如何能够说出任何实例属于哪个类?在我看来,这是你应该使用的分类规则,而不是试图得到一个决策树来匹配这些先验知识。“也许你能解释一下上下文?”贝纳利森问得很好。“类”空间是由以下问题的输出生成的:对,因此我对“好”算法的定义有些模糊。我将在问题描述中指定空间复杂度和叶节点数的更严格界限。很明显,考虑到我们正在处理的问题的规模,您所描述的本机算法既不适用于计算,也不适用于使用,为什么不简单地散列所有实例的特征值并与您想要预测的值相关联呢?请注意,问题的大小大于100B点。映射经常因数据集中的更改而更改。缓存不实用。如果您想要完美的分类,那么在大小方面,您无论如何都无法比存储整个数据集做得更好。除非你有一个具体的例子,一切都很好地简化了。对,因此我对“好”算法的定义有些模糊。我将在问题描述中指定空间复杂度和叶节点数的更严格界限。很明显,考虑到我们正在处理的问题的规模,您所描述的本机算法既不适用于计算,也不适用于使用,为什么不简单地散列所有实例的特征值并与您想要预测的值相关联呢?请注意,问题的大小大于100B点。映射经常因数据集中的更改而更改。缓存不实用。如果您想要完美的分类,那么在大小方面,您无论如何都无法比存储整个数据集做得更好。除非你有一个具体的例子,一切都很好地简化了。