Как дать логическую причину для выбора модели

#machine-learning

#машинное обучение

Вопрос:

Я использовал машинное обучение для обучения предложениям, связанным с депрессией. И именно LinearSVC показал лучшие результаты. В дополнение к LinearSVC я экспериментировал с MultinomialNB и LogisticRegression, и я выбрал модель с наибольшей точностью из трех. Кстати, что я хочу сделать, так это иметь возможность заранее продумать, какая модель подойдет, например, ml_map, предоставленный Scikit-learn. Где я могу получить эту информацию? Я просмотрел несколько статей, но не смог найти ничего, что содержало бы более подробную информацию, кроме того, что SVM подходит для классификации текста. Как мне учиться, чтобы получить предварительные знания, подобные этому ml_map? ml_map

Комментарии:

1. Производительность любого классификатора сильно зависит от решаемой задачи (например, распознавание пешеходов, классификация опухолей), поэтому вы не можете ее обобщить. Также для любой задачи может быть группа, которая превзошла задачу, которая ранее была решена лучше всего классификатором A с использованием классификатора B. Лучшее, что вы можете сделать, это прочитать последние публикации / обзоры, касающиеся ML, по теме, с которой вы сейчас работаете, и посмотреть, какая из них в настоящее время является наиболее эффективной моделью.

2. Я бы не стал слишком беспокоиться о карте. Не говоря уже о том, что за этим нет никаких оснований, но это похоже на ML algorithms 101 «используй это, ты понятия не имеешь», и в нем отсутствуют некоторые очень важные части — нейронные сети ( обучение передаче), машины с градиентным усилением и ансамбли в целом — методы, которые обычно работают лучше всего для большинстванаборы данных. Вы не можете знать, какой алгоритм будет работать лучше, если вы (или кто-то другой) уже не решили очень похожую проблему. — Теорема о бесплатном обеде отсутствует.

Ответ №1:

Как мне учиться, чтобы получить предварительные знания, подобные этому ml_map?

Попробуйте работать с разными примерами наборов данных для разных типов данных, используя разные алгоритмы. Их сотни, которые нужно изучить. Как только вы хорошо поймете, как они работают, это станет более понятным. И не забудьте попробовать погуглить что-то вроде преимущества алгоритма X, это очень помогает.

И вот мои мысли, я думаю, что раньше задавал такие вопросы, и я надеюсь, что это может помочь, если вы испытываете трудности: чем больше вы работаете над различными моделями машинного обучения для конкретной проблемы, вы скоро поймете, что данные и feature engineering играют более важную роль, чем сами алгоритмы. Дорожная карта, предоставленная by scikit-learn , дает вам хорошее представление о том, какую группу алгоритмов использовать для обработки определенных типов данных, и это хорошее начало. Границы между ними, однако, довольно тонкие. Другими словами, одна проблема может быть решена с помощью разных подходов в зависимости от того, как вы организуете и проектируете свои данные.

Подводя итог, чтобы добиться хорошей производительности вне выборки (т. Е. Хорошего обобщения) при решении проблемы, обязательно посмотрите на процесс обучения / тестирования с различными комбинациями настроек и будьте внимательны к своим данным (например, ответьте на этот вопрос: охватывает ли этобольшинство образцов с точки зрения распространения в дикой природе или только его часть?)