Различия между результатом алгоритма машинного обучения?

Я работаю над проектом интеллектуального анализа текста, в котором я использую набор данных помеченных твитов (да или нет, твиты, связанные с землетрясением, включают 8000 образцов) для обучения классификаторов Naive, MLP (Deep Learning) LibSVM для классификации (да или нет) немаркированных твитов (28000 образцов). ) на РапидМайнер. Вот результат трех алгоритмов машинного обучения:

Наивный

Точность = 80%

Количество твитов с пометкой «да» = 6056

МЛП

Точность = 86%

Количество твитов с пометкой «да» = 2300

Библиотека SVM

Точность = 92%

Количество твитов с пометкой «да» = 53

Мой вопрос: почему количество помеченных твитов резко отличается?


person Reza    schedule 25.10.2019    source источник
comment
Посмотрите на данные, а не просто на какой-то суммарный балл! Сколько из множества твитов с пометкой «да» действительно связаны с землетрясением (прочитайте некоторые из них сами!)?   -  person Has QUIT--Anony-Mousse    schedule 26.10.2019
comment
Я проверял некоторые твиты раньше, есть некоторые твиты, связанные с настоящим землетрясением.   -  person Reza    schedule 26.10.2019
comment
Некоторые или многие? Сколько в тренировочных данных?   -  person Has QUIT--Anony-Mousse    schedule 27.10.2019


Ответы (1)


Я предполагаю, что точность, которую вы даете, исходит из процесса построения модели в вашем помеченном наборе данных. Это показывает, насколько хорошо обученные модели могут «воспроизводить» правильные метки ваших обучающих данных. Большая разница в количестве присвоенных меток вашим неизвестным немаркированным твитам, по-видимому, указывает на серьезные проблемы переобучения в ваших моделях. Это означает, что модели очень хорошо обучены воспроизводить обучающие данные, но не могут обобщать новые, неизвестные данные.

В качестве первого предложения проверьте шаги проверки. Существуют базовые методы, такие как перекрестная проверка, которые пытаются избежать переобучения, но есть много возможностей «обмануть» себя, внедрив знания о своем тестовом наборе в свои обучающие данные.

Однако без конкретной настройки процесса мы можем только строить догадки.

person Christian König    schedule 25.10.2019
comment
TNX, так как же избежать переобучения? Я уже установил тип выборки на автоматический в Rapid Miner. - person Reza; 26.10.2019
comment
Это очень простая (непростая!) проблема, о которой всегда нужно помнить. Я могу ответить только на очень поверхностном уровне: храните информацию о вашем тестовом наборе вне обучающего набора. Трудно для данных, основанных на времени, так как X-Val ничего не делает там. Имейте в виду, что модели нормализации также передают информацию обо всем наборе данных и так далее. Без вашего конкретного процесса и данных трудно помочь. Возможно, прочитайте несколько статей о проверке и переоснащении, чтобы лучше понять. Может быть, даже подумать о том, чтобы пройти базовое обучение науке о данных/машинному обучению. - person Christian König; 28.10.2019
comment
TNX, это было исчерпывающее объяснение. Я изменил тип ядра (полигональное на линейное ядро) и значение C (стоимость), и это сработало для меня. - person Reza; 30.10.2019