Измерение производительности алгоритма классификации - PullRequest
8 голосов
/ 02 января 2009

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

То есть: учитывая N [1..100] обучающих выборок, если я запускаю алгоритм обучения на каждой из выборок и использую эти же самые выборки для измерения пригодности, он может застрять в проблеме перегрузки данных - Классификатор будет знать точные ответы для тренировочных примеров, не обладая большой предсказательной силой, что сделает результаты пригодности бесполезными.

Очевидным решением было бы разделение помеченных вручную образцов на тренировочные и тестовые образцы; и я хотел бы узнать о методах отбора статистически значимых образцов для обучения.

Документы, указатели книг и PDF-файлы очень ценятся!

Ответы [ 2 ]

14 голосов
/ 02 января 2009

Вы можете использовать для этого 10-кратную перекрестную проверку . Я считаю, что это довольно стандартный подход для оценки эффективности алгоритма классификации.

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

2 голосов
/ 02 января 2009

Как сказал мистер Браунстоун, 10-кратная перекрестная проверка, вероятно, является наилучшим способом. Недавно мне пришлось оценить производительность ряда различных классификаторов, для этого я использовал Weka . Который имеет API и множество инструментов, которые позволяют легко тестировать производительность множества различных классификаторов.

...