Как мы уже говорили в одной из более ранних публикаций в блоге, подходов к машинному обучению может быть много. Существует огромное количество типов моделей машинного обучения, и у каждой модели – свои конструктивные особенности и подводные камни. Когда вы примете решение использовать машинное обучение для создания собственных моделей, скорее всего, вы зададитесь вопросом: Какой формат модели выбрать? Нейронные сети, метод опорных векторов (SVM), деревья решений, линейная регрессия – вариантов множество. И несмотря на то, что на этот вопрос невозможно дать исчерпывающий и однозначный ответ, мы попытаемся обозначить ряд важных моментов, на которые следует в первую очередь обратить внимание.
Разные типы моделей имеют ряд качественных характеристик, которые не так просто измерить, но очень важно учитывать. Мы рассмотрим следующие два свойства: эффективность и сложность модели. Эффективность означает способность модели описывать распределение данных; это свойство также можно называть потенциальной точностью модели. Например, представьте, что мы разбросали горсть камней и хотим с помощью двух разных моделей описать тот причудливый рисунок, который они образовали. В качестве первой модели используем прямую негнущуюся палку (на рисунке она обозначена линией синего цвета), а вторая – эластичная лента (красная линия).

Эффективность модели в виде палки невелика, поскольку, если не изменять угол ее расположения, она может воспроизвести местонахождение лишь нескольких камней, и вряд ли такое решение будет оптимальным во многих ситуациях. Эластичную ленту, хотя и она не идеальна, мы можем сгибать и разворачивать так, чтобы охватить максимальное количество камней. Такая модель может описать распределение большего количества точек данных, и, следовательно, она более эффективна.
Эффективность – очень важное свойство модели. Если она невысока, нам вряд ли удастся составить сколько-нибудь точный прогноз, независимо от того, сколько времени мы потратим на обучение модели, и насколько мощное оборудование мы используем. К моделям высокой эффективности относятся, прежде всего, нейронные сети и метод опорных векторов (SVM), именно поэтому они наиболее популярны.
Однако эффективность модели – далеко не единственный фактор, который следует учитывать. Другое важное качество – сложность модели. Ее также можно рассматривать как интерпретабельность модели, т.е. показатель того, насколько легко данная модель поддается пониманию. В примере, приведенном выше, первая модель (та, что в виде палки), характеризуется низкой сложностью, т.е. любому человеку ее легко описать и понять, к тому же она легко поддается обобщению. К несложным моделям относятся линейная регрессия и деревья решений. Все изгибы эластичной ленты, которую мы использовали в качестве второй модели, сильно усложняют задачу, стоящую перед аналитиком. SVM и нейронные сети как раз и относятся к наиболее сложным моделям.
Такая взаимосвязь между эффективностью и сложностью модели, которую мы только что продемонстрировали, почти всегда характеризует модели машинного обучения. Чем эффективнее модель, тем она сложнее, и этот фактор всегда необходимо учитывать при выборе типа модели. Хотите ли вы иметь возможность самостоятельно описать и истолковать модель? В таком случае, не совсем разумно выбирать самую сложную, но при этом максимально точную модель. В связи с этим многие больницы и другие учреждения, занятые в сфере здравоохранения, часто отдают предпочтение в пользу таких несложных моделей, как случайный лес решений. Врачам необходимо четко понимать значение модели, прежде чем предпринимать какие-либо дальнейшие действия на основе полученных результатов.
Ресурсы
Итак, мы рассмотрели ограничения моделей машинного обучения, которые существуют в теории. Теперь перейдем к более практическим вопросам. Модели машинного обучения проходят специальную подготовку, для осуществления которой требуются данные, вычислительные мощности и время. При выборе модели машинного обучения вы должны учитывать имеющиеся ресурсы. Кроме того, важно составить точное количественное описание модели. Например, если вы намерены использовать модель машинного обучения на мобильных устройствах, важно знать заранее, сколько памяти потребуется для хранения модели. Очевидно, что, если вам нужна высокоточная модель, для ее обучения и хранения потребуется большее количество ресурсов и, следовательно, инвестиций. Рассмотрим несколько примеров моделей с тем, чтобы определить, какие ресурсы они используют.

К наименее затратным моделям машинного обучения относятся наивные байесовские классификаторы. Обычно такие модели отличаются относительно невысокой эффективностью, но они очень легко поддаются обучению и интерпретации. Главные преимущества моделей наивного байесовского классификатора заключаются в высокой скорости их обучения и легкости хранения. Но, к сожалению, такие модели строятся на основе наивных предположений о независимости событий, которые не всегда справедливы. Однако если ваши данные лишь незначительно отклоняются от таких предположений, модели наивного байесовского классификатора – оптимальное соотношение цены и качества.
К достаточно низкобюджетным моделям относятся также деревья решений и случайные леса решений. Эти модели легко интерпретировать, а благодаря их древовидной структуре их удобно хранить, при условии, что вы используете разумное количество атрибутов модели. Но на обучение таких моделей требуется больше времени.
Метод опорных векторов – популярная технология моделирования, для применения которой требуется значительно больше ресурсов. Вам понадобится гораздо больше исходных данных для обучения таких моделей по сравнению с другими, а сами модели, как правило, громоздкие, и истолковать их могут только специалисты в области анализа данных. Кроме того, такие модели сложно обучать в связи с сложностью выбора ядра. Однако метод опорных векторов позволяет генерировать эффективные модели при правильном подходе к их обучению, и поэтому он нашел широкое применение.
Моделирование на основе искусственных нейронных сетей, пожалуй, обойдется дороже других. Такие модели известны своей эффективностью, но при этом они требуют продолжительного обучения, и для их хранения требуется значительное количество ресурсов. Но есть и хорошие новости: в процессе обучения нейронные сети могут использовать дополнительные данные, которые позволяют в любой момент отладить модель, а это значит, что вам не придется заново обучать модель всякий раз, когда у вас появятся новые данные.
Какую модель выбрать?
Ответ на вопрос о том, какой тип моделирования выбрать, не настолько очевиден, как может показаться на первый взгляд. В каждой конкретной ситуации необходимо учитывать целый ряд факторов и нюансов: Какое соотношение эффективности модели и ее сложности вас устроит? Какие ресурсы доступны для обучения модели? Должна ли модель быть компактной и удобной для хранения? Хотели бы вы иметь возможность отлаживать модель на основе новых данных и не прибегать к повторному обучению модели? Наконец, важно понимать, что мы можем ошибаться в своем выборе. Иногда возникает необходимость сравнить разные методы прогностического моделирования на практике чтобы понять, какой из них вам больше подходит. Если у вас есть такая возможность, обучите несколько разных моделей, чтобы выбрать ту, которая оптимально отвечает вашим потребностям.