Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как происходит выбор модели в Data Science ?

ПрограммированиеData science+3
Juliette Gedugosheva
  ·   · 6,5 K
Увлекаюсь физикой, астрономией и финансами.  · 29 июл 2022  · forecast.nanoquant.ru
Все модели делятся на обучаемые с учителем и без учителя.
Для первых моделей нужен такой датасет, который содержит разметку, то есть уже имеет правильные ответы. Модель обучают на таких примерах с известными ответами в надежде, что у новых данных без разметки тоже удастся определить ответы, которые будут достаточно близки к реальности.
Вторые модели применяются, когда такой разметки у датасета нет. Например, задача кластеризации, когда надо разбить датасет на отдельные группы или даже иерархию подгрупп. Часто такие задачи имеют не одно, а много сильно разных решений.
.
Первый тип моделей, в свою очередь, подразделяется на модели классификации, регрессии и ранжирования.
Если надо прогнозировать какие-то непрерывные числа (цена, температура, процентное содержание и т.п.) и может быть бесконечное число разных прогнозов, то это модель регрессии.
Если надо прогнозировать конечный набор чисел (или категорий, которые можно пронумеровать), то это модель классификации.
А если требуется расположить объекты в определенном порядке и этот порядок можно пронумеровать, то это модель ранжирования.
.
Если у вас задача связанная с изображениями (и с видео, так как видео, это набор картинок), типа, поиск объектов на изображении, классификация картинок, дорисовка картинок, ранжирование картинок, то, скорее всего, на 99% вам нужна модель нейронной сети, причем, это нейросети сверточного типа или со сложной архитектурой на базе сверточных сетей. По крайней мере проверить в первую очередь надо именно такие нейросети.
Конкретная архитектура нейросети зависит от конкретной задачи. Например, для поиска дефектов на однородном фоне часто подходят сверточные нейросети с архитектурой автокодировщиков. Но для классификации дефектов автокодировщик уже не подходит.
Также нейросети проверяем, в первую, очередь для задач распознавания речи и для задач ранжирования.
.
Примерно 75% всех остальных задач решаются ансамблевыми моделями  с оценщиками в виде решающих деревьев или в виде линейных регрессоров. Эти модели в свою очередь делятся на бэггинговые, когда все оценщики в ансамбле равноправны и обучаются параллельно друг другу (например, RandomForest), и бустинговые, когда оценщики обучаются последовательно и их окончательный вклад в решение неравноправен (например, XGB и LGBM).
Выбор между бэггингом и бустингом больше зависит не от задачи, а от вашего компьютерного железа. Бэггинг хорошо распараллеливается на ядра и потоки процессора, и требует много памяти. Вычисление оптимальных параметров бустинга требует решение оптимизационной задачи и зависит от конкретной библиотеки по оптимизации (например, DEAP, использующий генетические алгоритмы хорошо распараллеливается на несколько компьютеров, но в вашем распоряжении может оказаться всего 1 компьютер).
.
Кроме ансамблевых методов могут очень эффективными оказаться линейная регрессия (в регрессионных задачах), логистическая регрессия (для бинарной классификации), метод опорных векторов и метод ближайших соседей. Поэтому надо сначала проверить именно эти модели, прежде чем переходить к ансамблевым моделям. Хотя этими моделями решается только около 20% всех задач, которые не решаются нейросетями, а ансамблевыми моделями 75%, но ансамблевые методы очень затратные по времени. Поэтому нужно сначала посмотреть, вдруг вам повезет и ансамблевые модели не потребуются.
.
Наконец, есть еще одна тема тесно связанная с выбором модели машинного обучения. Это предварительное преобразование данных, перед началом машинного обучения. Это всякие трансформеры, нормализации, приведение к главным компонентам и т.д. И выбор правильного преобразования данных, это тоже целое искусство.
Эксперт по оптимизации инвестиционного портфеля и прогнозированию биржевых цен.Перейти на forecast.nanoquant.ru
Openstack DevOps and IBM/Informix Certified DBA...  · 27 янв 2022
Общие шаги для машинного обучения/глубокого обучения: Собирать данные Проверьте наличие аномалий, отсутствующих данных и очистите данные Выполнить статистический анализ и первоначальную визуализацию Построить модели Проверьте то... Читать далее