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

Заставить машину учиться примерно то же самое, что научить трехлетнего ребенка.

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

Машинное обучение с учителем относится к похожей философии обучения, т. е. покажите мне, что есть что, и я узнаю, как есть.

Мы рассмотрим различные этапы машинного обучения на примере прогнозирования сделок.

Постановка проблемы:

Ясность того, чему мы собираемся научить машину, является очевидным требованием.
например: мы собираемся построить систему, которая предсказывает, выиграет ли продавец конкретную сделку. или нет.

Определение дополнительных «Функций»:

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

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

Определение цели:

Здесь мы должны определить, что мы собираемся предсказать в качестве нашего результата. Это называется целью.
например: мы объявляем сделку выигрышной/проигранной в качестве цели для нашей системы машинного обучения.

Сбор данных:

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

Очистка данных при необходимости:

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

Определение важных функций:

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

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

* Сумма сделки
* Лицо, которое занимается сделкой
* Текущий этап переговоров по сделке
* Источник потенциальных клиентов
* Название продукта

Определение подходящего алгоритма или разработка логики:

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

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

Обучение-›перекрестная проверка-›тестирование

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

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

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

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

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

Отзывы о статье очень ценятся. Спасибо.