2013-04-04 3 views
1

Представьте себе, что все известные отображения между значениями набора переменных V и набора имен тегов T (классификационные метки) были известны. Далее предположим, что общее пространство уникальных комбинаций переменных значений велико (> 100B точек), размер набора тегов относительно невелик (тысячи элементов), а число переменных очень мало (4-10).Совершенная классификация дерева решений

Что такое алгоритм для построения функции классификатора, который обеспечивает идеальное отображение (соответствие априорного знания без ложных срабатываний или ложных негативов) от значений переменных меток со следующим пространством и сложность времени цели:

  • Временная сложность меньше, чем O (| V | * войти | T |)
  • Пространство сложности меньше, чем O (| V | к), к ≤ е

Или перефразировать как проблема дерева решений:

  1. Как алгоритм дерева решения быть настроен, чтобы создать совершенное отображение?
  2. Каким образом данные обучения могут быть представлены эффективно, чтобы гарантировать это?
+0

Вы не определили, что такое «идеальное» отображение. – phs

+0

@phs хороший улов; исправлено. – Sim

+0

Как представлены предшествующие знания? Как вы можете сказать, к какому классу принадлежит какой-либо экземпляр, без перечисления всех возможностей? Мне кажется, что * это * - это правило классификации, которое вы должны использовать, а не пытаться получить дерево решений в соответствии с этими предшествующими знаниями. Может быть, если вы объясните контекст? –

ответ

3

То, что вы пытаетесь достичь, должно быть возможным с помощью любого классификатора дерева решений, который позволяет вам каким-то образом определить уровень обрезки. Идея состоит в том, чтобы сделать это вообще не обрезкой. Дерево решений, в котором вы попадете, будет иметь (потенциально) один лист на учебный экземпляр (т. Е. Очень большой), но даст вам «совершенную» точность с временем предсказания O (| V | * log | T |).

Это абсолютно не зависит от того, как данные обучения представлены (и должны быть). Единственное, что имеет значение, это то, что индуктор дерева решений может читать и обрабатывать его. Один простой способ построения такого дерева состоит в том, чтобы добавить путь для первого примера, затем объединить в один для второго и так далее.

Независимо от того, полезен ли такой классификатор на практике, это совершенно другой вопрос, конечно, в большинстве случаев этого не будет.

+0

Правильно, отсюда мое несколько нечеткое определение «хорошего» алгоритма. Я укажу более жесткие оценки сложности пространства и числа листовых узлов в описании проблемы. Очевидно, что то, что вы описываете как собственный алгоритм, будет нецелесообразно вычислять, учитывая размер проблем, с которыми мы имеем дело, и нецелесообразно использовать. – Sim

+0

Если вам нужна эффективная классификация, почему бы просто не хэш-значения признаков для всех экземпляров и не ассоциировать со значением, которое вы хотите предсказать? –

+0

Обратите внимание, что размер проблемы составляет> 100B точек. Картирование часто меняется из-за изменений в наборе данных. Небезопасно кэшировать. – Sim

Смежные вопросы