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

1. Особенности

Мы обсуждали то, что мы называем функциями в машинном обучении. Характеристики — это набор качеств, приписываемых точке данных. Набор данных «Бостонские цены на жилье» — хорошо известный пример проблемы с практикой машинного обучения. На определение стоимости дома влияют различные факторы, в том числе его возраст, среднее количество комнат и оценка налога на имущество.

Рисунок 1. Цены на жилье в Бостоне (https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTk1J7fEsqqms8OxpqtBqo69MaJY579T8y-VQ&usqp=CAU)

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

2. Выбор функций и разработка

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

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

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

3. Этикетки

Для контролируемого машинного обучения требуется нечто, известное как тегированные данные. Это указывает на данные, в которых каждый набор функций имеет соответствующую метку. Как и в случае с набором данных о ценах на жилье в Бостоне, где метка представляет цену, эти метки могут представлять либо дискретное значение (например, «кошка»), либо непрерывное значение (например, «собака»). При создании моделей машинного обучения функции обычно обозначаются как X, а метка — как y.

Рисунок 2. Ярлыки (https://cdn.thenewstack.io/media/2017/04/5aa7a227-ml-3-fl.png)

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

5. Настройка
Ранее в этом эссе я уже описал один процесс оптимизации при выборе функций. Оптимизация параметров алгоритма для поиска наиболее эффективной комбинации для вашего конкретного набора данных — это шаг в процессе настройки.
Все модели для машинного обучения имеют параметры, которые можно настроить по-разному. Например, модель случайного леса содержит множество настраиваемых параметров. В этом случае количество деревьев в лесу оценивается, например, с помощью n оценок. Как правило, чем больше деревьев, тем лучше результаты, но выгода уменьшается по мере того, как вы добавляете больше деревьев в определенный момент. Поиск подходящего количества деревьев для вашего набора данных — это один из методов изменения параметров алгоритма случайного леса.
Каждый алгоритм имеет множество настраиваемых параметров, и у каждого параметра потенциально огромное количество альтернатив. К счастью, существуют автоматизированные подходы к поиску идеальной комбинации этих параметров, известные как оптимизация гиперпараметров.

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

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