[МУЗЫКА] [МУЗЫКА] Всем привет! Сегодня мы рассмотрим тему «Обучение с учителем». И разберем такие задачи, как бустинг, бэггинг, стекинг и метод опорных векторов. Дополнительно рассмотрим способы выбора моделей и оценки качества алгоритмов. Но это все нас ждет вперед, а сейчас давайте рассмотрим стандартные методологии разработки в проектах, посвященных машинному обучению. Cross-Industrial Processing for Data Mining — эта методология была предложена в 1996 году, однако ее презентация произошла в Брюсселе только в 1999 году. Хотелось бы заметить, что все наш курс посвящен описанию каждой фазы данной методологии. Непосредственно в данной части мы рассмотрим фазу моделирования. И в последующей части будут также рассмотрены фазы моделирования и оценки. Давайте коротко пробежимся по всем фазам данной методологии. Первая задача данного процесса — это понимание бизнес-модели. Для восприятия бизнес-модели в первую очередь надо понять процесс, бизнес-процесс заказчика и, естественно, более детально углубиться в предметную область. Основываясь на этом, в дальнейшем вы можете разобраться, какая конкретная задача машинного обучения будет решаться в данном случае. К примеру, поставленная задача — фильтрация спама — представляет собой задачу-классификацию. Далее идет фаза изучения данных, на которой вам конкретно необходимо разобраться, с каким типом данных вы будете работать. Поскольку в зависимости от задачи, в частности в случае фильтрации спама вы будете обрабатывать текстовые документы. На фазе фильтрации данных и препроцессинга вам необходимо будет производить борьбу с пропущенными данными, в некоторых случаях выбрасывать объекты, которые не репрезентативны. Но, на самом деле, все, что сейчас я описал — это является только малой частью, и по выбору препроцессинга данных в первую очередь вы должны ориентироваться на задачу. В фазе моделирования конкретно рассматриваются и выбираются алгоритмы, которые по факту будут применяться при решении поставленной задачи. И в данном разделе мы как раз рассмотрим ряд из алгоритмов классификации. По итогам моделирования необходимо оценить качество полученной модели. И по факту в данной фазе мы и выполняем этот шаг. В данном разделе мы рассмотрим, как оценивать модели и какими способами можно выбирать одну из существующих моделей. Можно заметить, что по факту все фазы имеют прямую и обратную связь, так или иначе, но в случае если мы доходим до фазы вывода в продакшн, в конкретное применение данного алгоритма, мы уже завершаем модель. В случае если на фазе оценки мы получили нехорошие результаты, мы либо возвращаемся к пониманию модели, либо повторно начинаем оценивать и подбирать более лучшую модель. Теперь мы можем рассмотреть постановку задачи обучения с учителем на примере эксперта. Допустим, у нас есть учитель — эксперт в конкретной предметной области, который получает на вход описание некоторых объектов x. И каждому из этих объектов соотносят в соответствие один класс — y из конечного числа класса Y. В результате мы получаем размеченную выборку, где каждому объекту x в соответствие относится y из конечного класса Y. Но проблема в том, что стоимость применения, все время обращения к эксперту — она очень дорогая, и по факту нам действительно нужно придумать собственную модель, похожую на работу эксперта. И в этом случае мы хотим построить решающее правило, которое будет нам заменять эксперта. В итоге, решающее правило F(x) нам позволяет делать предсказания и получать на выходе классы, которые по качеству чуть-чуть отличаются от качества работы учителя. В результате мы сформулировали задачу классификации. Однако нам надо оценивать наше решающее правило, и для этого мы вводим функцию штрафа, которая по факту штрафует за отличия нашего предсказанного класса y* полученного от F(x) в сравнении с классом y, полученного от нашего учителя. Теперь мы можем непосредственно рассмотреть шаги обучения с учителем. В начале нам необходима размеченная учителем выборка. Объекты в данной выборке могут быть как логами сервера, как документами, так и графами-моделями. Все зависит от вашей бизнес-задачи. Давайте начнем с начала и построим решающее правило, после которого по факту мы будем минимизировать нашу функцию штрафа. В результате мы получим предсказанную нашим алгоритмом выборку, где в соответствии каждому объекту мы получаем класс y из конечного множества классов Y. Давайте теперь рассмотрим некоторые случаи, где конкретная задача меняется обучения в зависимости от того, к чему относится наш класс. Конкретно в случае если y у нас находится в конечном множестве имен классов Y, мы решаем задачу классификации. В этом случае наша функция штрафа выглядит как, мы штрафуем конкретно за неравенство y y*, которое было получено при решении F(x). Во втором случае, если мы рассматриваем задачу, где y у нас находится в множестве вещественных чисел, мы решаем задачу регрессии. И здесь конкретно мы получаем функцию штрафа, равную разности y − y*². Основываясь на данных в случаях и зная, как мы можем с этим работать, можно рассмотреть несколько конкретных примеров. Допустим, мы решаем задачу ранжирования. На вход мы получаем запрос, документ, и нам необходимо определить, насколько данный запрос, насколько данный документ релевантен запросу. По факту в качестве признаков мы можем рассматривать число кликов на документ, мы можем рассматривать метрику близости, число слов в запросе, число слов в документе. И в результате отработанного алгоритма мы можем получить, насколько наш документ релевантен или нерелевантен, то есть по факту два класса. Во втором примере мы можем рассмотреть задачу, которая очень часто встречается — это задача кредитного скоринга, то есть когда клиент приходит в банк и хочет получить кредит. В этом случае в качестве входных объект мы получаем заявление от нашего клиента. Признаками конкретно клиента являются его место рождения, его возраст и заработная плата. А на выходе при решении задачи кредитного скоринга мы получаем либо возможность давать ему кредит, либо отказ.