Видеть случайный лес сквозь деревья решений... Или нам следует использовать нейронные сети?

Подходы машинного обучения к моделированию — это просто подходы. Есть много форм моделей, которые мы могли бы использовать с машинным обучением, каждая из которых имеет свою философию дизайна и особенности. Приступая к использованию машинного обучения для создания собственных моделей, вы можете задать себе вопрос: какую модельную структуру выбрать? От нейронных сетей до машин опорных векторов, деревьев решений и линейной регрессии — существует множество вариантов. Хотя на этот вопрос редко бывает окончательный или четкий ответ, давайте обсудим некоторые моменты, которые следует учитывать при выборе.

Свойства модели

Структуры моделей имеют набор связанных с ними качественных показателей, которые, хотя и трудно измерить напрямую, могут быть полезны для размышлений. Мы рассмотрим два качества: емкость и сложность. Емкость — это мера способности каркаса модели описывать распределения данных; это можно рассматривать как потенциальную точность. Например, представьте, что мы разбрасываем камешки по земле и хотим смоделировать форму, которую они образуют, с помощью двух разных моделей. Одна модель представляет собой жесткую палку (обозначена синей линией), а другая представляет собой эластичную ленту (обозначена красной линией).

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

Вместительность – очень важное свойство моделей. Если мощность нашей модели слишком мала, мы никогда не сможем адекватно делать прогнозы, независимо от того, сколько обучающих данных мы используем или насколько модно наше оборудование. Модели с высокой пропускной способностью включают нейронные сети и машины опорных векторов (SVM), и именно поэтому они так популярны.

Однако емкость — не единственное свойство, которое следует учитывать. Еще одним качеством является сложность, которую также можно рассматривать как интерпретируемость или простоту понимания человеком. В нашем предыдущем примере палка имела низкую сложность (или высокую интерпретируемость). Он может быть описан и хорошо понят людьми, и он легко обобщается. Модели низкой сложности включают линейную регрессию и деревья решений. И наоборот, многие кривые, созданные эластичной лентой, очень сложны и трудны для описания людьми. Следовательно, SVM и нейронные сети будут считаться моделями высокой сложности.

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

Ресурсы

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

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

Также относительно дешевыми являются деревья решений и случайные леса. Эти модели можно интерпретировать, а древовидная структура моделей упрощает их эффективное хранение, если у вас нет огромного количества функций. К сожалению, мы начинаем видеть увеличение времени, необходимого для обучения этих моделей.

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

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

Какую модель выбрать?

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

Первоначально опубликовано на https://www.megaputer.com 21 октября 2019 г.