Машинное обучение — это научная область исследований, которая занимается разработкой различных алгоритмов и методов, позволяющих компьютерам обучаться подобно людям[1]. Итак, как же протекает процесс обучения людей, которым компьютеры пытаются подражать? Несомненно, чтобы правильно понять, как учатся компьютеры, необходимо понять, как учатся люди. Для этого давайте вместе рассмотрим пример. Предположим, у нас есть таблица, подобная приведенной ниже, показывающая влияние объема двигателей транспортных средств на цены транспортных средств:

Можно ли по этой таблице спрогнозировать цену автомобиля с объемом двигателя 1500 куб.см? Или мы можем предсказать цену автомобиля 2200cc? Как вы можете видеть, то, что мы делаем здесь своими глазами, - это сначала находим информацию о цене, наиболее близкую к запрошенной у нас линии, и делаем более или менее оценки. Короче говоря, наш мозг пытается уловить закономерность из данных. Мы попытались найти этот процесс, визуально проверив, есть ли линейная зависимость внутри самих данных. Однако, учитывая, что приведенная выше таблица содержит сотни тысяч или даже миллионы строк данных, сделать это визуально не представляется возможным. Точно так же, если бы мы добавили в таблицу выше различные параметры, такие как возраст автомобиля, тип топлива, тип передачи, было бы сложно визуально контролировать этот процесс. В этот самый момент возникла идея создания машины, которая может отвечать на более сложные вопросы, чем люди, используя способности человека к обучению. Эта система, называемая машинным обучением, помогает делать прогнозы и масштабировать неизвестные данные, обнаруживая закономерности среди данных с помощью программного обеспечения.

Типы переменных
При работе в области машинного обучения распознавание типов переменных в данных важно для правильного понимания данных. Типы переменных показаны в таблице ниже:

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

Значение, выраженное Churn из этих данных, показывает, покидают ли клиенты компанию, и является зависимой переменной. Остальные переменные являются независимыми переменными. Как мы видим, в данных есть как числовые, так и категориальные переменные.

Типы обучения
Типы машинного обучения в основном делятся на три. Это контролируемое, неконтролируемое и обучение с подкреплением.
Обучение с подкреплением: это метод, при котором машины учатся методом проб и ошибок на неправильных шагах, путем подкрепления и подкрепления. Беспилотные автономные транспортные средства — один из лучших примеров обучения с подкреплением.

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

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

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

Оценка успеха в регрессионных моделях
MSE (среднеквадратичная ошибка): это значение, которое находится как среднее значение суммы квадратов разности между фактическое значение и оценочное значение дают нам представление об успехе нашей модели. Поскольку здесь выполняется возведение в квадрат, результат всегда больше нуля. Причина использования квадрата в этой формулировке состоит в том, чтобы избежать проблемы измерения, вызванной отрицательными значениями разности. Чем меньше это значение, тем лучше. В худшем случае ожидается, что значение MSE будет близко к среднему значению зависимой переменной. Метрику MSE можно использовать в мире машинного обучения как для оценки успешности модели, так и для целей оптимизации.

N: количество наблюдений, Yi: фактическое значение, Ŷi: оценочное значение

RMSE (среднеквадратичная ошибка): это версия MSE с квадратным корнем. Причина использования здесь квадратного корня связана с попыткой уменьшить значения.

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

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

Матрица путаницы. Над правильно предсказанными и неправильно предсказанными значениями выполняются различные операции в соответствии с условиями, показанными в приведенной ниже матрице.

TN (Истинно Отрицательный): Те, которые на самом деле равны 0, но предсказаны как 0 (Правильный прогноз).
FP (Ложно Положительный): Те, которые на самом деле 0, но предсказаны как 1 (Неправильный прогноз).
TP (Истинно Положительные): те, которые на самом деле равны 1, но предсказаны как 1 (верный прогноз).
FN (ложноотрицательные): те, которые на самом деле равны 1, но предсказаны как 0 (ложные предсказания).

В соответствии с приведенной выше матрицей
Точность = (TP + TN) / (TP + TN + FP + FN).
Точность: доля успешных прогнозов положительного класса (1): TP / (TP + FP)
Отзыв: процент правильного угадывания положительного класса (1): TP / (TP + FN)
Оценка F1: среднее гармоническое метрик Precision и Recall:
Оценка F1 = 2 * (точность * полнота) / (точность + полнота)
Какой показатель использовать в задачах классификации, напрямую связан с распределением данных. Метрика точности в основном используется для измерения вероятности успеха в задаче классификации, где зависимая переменная равномерно распределена по всему набору данных. Однако в случае неравномерно распределенных данных было бы полезнее смотреть на метрики Precision и Recall. Значение точности ориентировано на успех прогнозов, а значение полноты ориентировано на захват реальности. В этом отношении оценка F1 ценна для наблюдения за эффектами обоих.

Кривая ROC (кривая рабочих характеристик приемника):

Если бы мы не настроили какую-либо модель и случайно присвоили значения 1–0, значения, которые мы получим, были бы такими, как на красной линии. Зеленые, оранжевые и синие линии над этой линией указывают на повышенный успех. Результаты в матрице сложности наблюдаются путем изменения порогов классификации для создания вышеуказанных строк. Затем эффективность прогнозирования заданных пороговых значений оценивается с помощью метрики, которая вычисляет площадь под кривой ROC, которая называется AUC (площадь под кривой). AUC — это агрегированный показатель эффективности для всех возможных порогов классификации.

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

Методы проверки модели
Здесь существуют различные методы проверки точности прогнозов, сделанных моделью. Наиболее известным из них является разделение исходного набора данных, известного как метод удержания (подход с набором тестов), на две части: обучающий набор и тестовый набор.

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

Обычно это реализуется следующим образом:
1- Разделите данные на 2 как train-test, оставьте набор тестовых данных в стороне
2- Разделите набор train на 5 частей, возьмите 4 из них как train, используйте оставшийся 1 элемент в качестве теста
3- Определите новый 4 из набора поездов, который вы не используете, и используйте его в качестве поезда, используйте оставшийся 1 элемент в качестве теста
4- Продолжите процесс 5 раз
5- Проверьте прогнозы обученной модели на реальном тестовом наборе данных.

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

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

[1] https://www.miuul.com/data-scientist-path