Это будут ваши надежные ускорители машинного обучения

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

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

Большинство людей последуют совету по умолчанию: получите больше данных…. Но что, если вы не можете?

Возможно, требуемый тип данных стоит очень дорого. Может быть, это просто сложно приобрести. А что произойдет, если вы получите данные, повторно обучите свою модель и обнаружите, что ваша модель не стала лучше?

Вам нужна альтернатива для повышения точности вашей модели машинного обучения.

Позвольте дать вам 3!

Настройка гиперпараметров

Гиперпараметры в машинном обучении - это управляемые пользователем «настройки» вашей модели машинного обучения. Они влияют на то, как параметры вашей модели будут обновляться и изучаться во время обучения. Конечно, выходные данные вашей модели зависят от ее изученных параметров, а ее изученные параметры постоянно обновляются и определяются на этапе обучения. Это обновление контролируется обучением модели, на которое, в свою очередь, влияют гиперпараметры! Таким образом, если вы можете установить правильные гиперпараметры, ваша модель будет изучать наиболее оптимальные веса, которые она, возможно, может с заданным алгоритмом обучения и данными.

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

Найдите лучшие гиперпараметры, которые вы можете, и вы можете просто повысить производительность своей модели на несколько процентных пунктов!

В Scikit learn есть хороший модуль поиска гиперпараметров.

Ансамблевые методы

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

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

В Scikit learn есть хороший модуль ансамбля.

Функциональная инженерия

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

Если вы применяете анализ основных компонентов и обнаруживаете, что одна из ваших функций имеет очень низкую корреляцию с выходными данными, то вам, вероятно, не нужно ее обрабатывать. Некоторые функции будут интуитивно бесполезны, например, идентификатор или, возможно, дата записи. Или, может быть, вы хотите, чтобы в первую очередь учитывались только определенные функции.

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

Любите учиться?

Следуйте за мной в твиттере, где я публикую все о новейших и величайших достижениях искусственного интеллекта, технологий и науки!