Лекция 1. Введение в машинное обучение и постановка задач

Цель лекции

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

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

Ключевые понятия

Машинное обучение (Machine Learning), алгоритм обучения, модель, объект наблюдения (observation), признак (feature), целевая переменная (target), обучающая выборка (training dataset), обучение с учителем (supervised learning), обучение без учителя (unsupervised learning), классификация (classification), регрессия (regression), параметры, гиперпараметры, обобщающая способность (generalization), базовое решение (baseline), момент прогнозирования, жизненный цикл модели.


1. Основы машинного обучения

1.1. Определение машинного обучения

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

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

Рассмотрим пример.

Предположим, необходимо создать систему, определяющую, является ли электронное письмо спамом.

При традиционном программировании разработчик может сформулировать набор правил:

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

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

Алгоритм анализирует примеры и формирует модель, способную классифицировать новые письма.

Таким образом, различие можно представить следующим образом:

Традиционное программирование:

Данные + заданные правила → результат.

Машинное обучение:

Данные + известные результаты → обучение модели.

Новые данные + обученная модель → прогноз.

При этом машинное обучение не исключает программирование: разработчик по-прежнему определяет задачу, подготавливает данные, выбирает алгоритм и организует применение модели.

1.2. Алгоритм и модель: в чём разница?

Понятия «алгоритм машинного обучения» и «модель машинного обучения» часто используются вместе, но обозначают разные вещи.

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

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

Например, алгоритм линейной регрессии определяет коэффициенты математической функции по обучающим наблюдениям.

Полученная функция с конкретными значениями коэффициентов является обученной моделью.

Один и тот же алгоритм может создавать разные модели при обучении на разных наборах данных.

1.3. Математическое представление модели

В общем виде модель машинного обучения можно представить функцией:

[
\hat{y}=f(x;\theta)
]

где:

Функция (f) описывает, как входные данные преобразуются в прогноз.

Параметры (\theta) определяются в процессе обучения.

Например, при прогнозировании стоимости квартиры входными данными могут быть её площадь, количество комнат и возраст здания.

Модель получает эти характеристики и возвращает предполагаемую стоимость.

В первой лекции достаточно понимать общий принцип: обучение заключается в определении параметров функции по наблюдаемым данным.

Конкретные математические модели и способы нахождения их параметров рассматриваются в следующих лекциях.


2. Данные в машинном обучении

2.1. Объект наблюдения

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

Объектом может быть клиент, товар, транзакция, изображение, документ или отдельное измерение.

В табличных данных каждому объекту обычно соответствует одна строка.

Например, при прогнозировании оттока клиентов объектом наблюдения может быть клиент на определённую дату.

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

2.2. Признаки

Признак (feature) — характеристика объекта, которую алгоритм использует для выявления закономерностей.

Для клиента интернет-магазина признаками могут быть:

Признаки могут быть числовыми, категориальными и другими по форме представления.

Например, возраст является числовым признаком, а тип подписки — категориальным.

Совокупность признаков одного объекта называется вектором признаков.

Его можно записать:

[
x_i=(x_{i1},x_{i2},\ldots,x_{ip})
]

где (i) — номер объекта, (p) — количество признаков.

Например:

[
x_1=(25,8,15000)
]

Этот вектор может описывать клиента возрастом 25 лет, совершившего восемь покупок со средним чеком 15 000 тенге.

2.3. Целевая переменная

Целевая переменная (target) — значение, которое требуется спрогнозировать.

Рассмотрим небольшой набор данных:

Клиент

Возраст

Покупок за месяц

Средний чек, ₸

Ушёл

1

25

8

15000

0

2

42

2

9000

1

3

31

6

21000

0

4

50

1

7000

1

В данном примере возраст, количество покупок и средний чек являются признаками.

Столбец «Ушёл» представляет целевую переменную.

Значение 1 означает, что клиент ушёл, а 0 — что остался.

Целевая переменная может быть категорией или числовым значением. Её тип зависит от поставленной задачи.

2.4. Матрица признаков и обучающий набор

Если имеется (n) наблюдений и (p) признаков, входные данные можно представить матрицей:

[
X=
\begin{bmatrix}
x_{11}&x_{12}&\cdots&x_{1p}\
x_{21}&x_{22}&\cdots&x_{2p}\
\vdots&\vdots&\ddots&\vdots\
x_{n1}&x_{n2}&\cdots&x_{np}
\end{bmatrix}
]

Размерность матрицы:

[
X\in\mathbb{R}^{n\times p}
]

Здесь (n) — количество объектов, (p) — количество признаков, а (\mathbb{R}) — множество действительных чисел.

Для обучения с учителем набор данных записывается как:

[
D={(x_i,y_i)}_{i=1}^{n}
]

где (x_i) — признаки объекта, (y_i) — известный правильный ответ.

Это основная математическая форма представления обучающих данных.


3. Основные типы машинного обучения

3.1. Обучение с учителем

Обучение с учителем (Supervised Learning) — подход, при котором алгоритм обучается на примерах с известными правильными ответами.

Каждому объекту соответствует пара:

[
(x_i,y_i)
]

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

К основным задачам обучения с учителем относятся классификация и регрессия.

3.2. Классификация

Классификация — задача определения категории, к которой принадлежит объект.

Примеры классификации:

Если существует два класса, задача называется бинарной классификацией.

Например:

[
y\in{0,1}
]

Если классов больше двух, говорят о многоклассовой классификации.

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

3.3. Регрессия

Регрессия — задача прогнозирования числовой величины.

Примеры:

В отличие от классификации, результат регрессии представляет собой числовое значение.

Например, модель может спрогнозировать стоимость квартиры в размере 28 500 000 тенге.

Таким образом:

Классификация отвечает на вопрос «К какому классу относится объект?»

Регрессия отвечает на вопрос «Какое числовое значение ожидается?»

3.4. Обучение без учителя

Обучение без учителя (Unsupervised Learning) — подход, при котором алгоритм получает данные без заранее заданных целевых ответов.

В этом случае набор данных содержит только признаки объектов:

[
D={x_1,x_2,\ldots,x_n}
]

Алгоритм пытается обнаружить внутреннюю структуру данных.

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

Заранее неизвестно, какие группы существуют. Алгоритм должен выявить их на основе характеристик клиентов.

Одним из распространённых направлений обучения без учителя является кластеризация — объединение похожих объектов в группы.

Другим направлением является снижение размерности — получение более компактного представления исходных данных.

Соответствующие алгоритмы подробно изучаются в лекции 11.

3.5. Сравнение основных типов задач

Тип задачи

Наличие целевой переменной

Результат

Классификация

Да

Категория

Регрессия

Да

Числовое значение

Кластеризация

Нет

Группы похожих объектов

Снижение размерности

Нет

Новое представление признаков

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


4. Постановка задачи машинного обучения

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

Прежде чем выбирать алгоритм, необходимо ответить на несколько вопросов.

4.1. Какую практическую проблему необходимо решить?

Машинное обучение должно применяться для достижения конкретной цели.

Например, компания хочет сократить количество клиентов, прекращающих пользоваться её услугами.

Такая формулировка описывает бизнес-проблему, но ещё не является полной постановкой задачи машинного обучения.

Необходимо уточнить, что именно должна предсказывать модель.

Возможная формулировка:

«На основании информации о клиенте определить вероятность прекращения обслуживания в течение следующих 30 дней».

Теперь задача имеет прогнозируемый результат и временной горизонт.

4.2. Что является объектом наблюдения?

Для задачи прогнозирования оттока объектом может быть клиент на дату оценки.

Например:

«Клиент №125 по состоянию на 1 октября».

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

4.3. Как определить целевую переменную?

Для прогнозирования оттока целевую переменную можно записать:

[
y_i=
\begin{cases}
1,&\text{если клиент ушёл в следующие 30 дней}\
0,&\text{если клиент остался}
\end{cases}
]

Таким образом, задача становится задачей бинарной классификации.

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

4.4. Какие признаки доступны?

Следующий шаг — определить, какие характеристики объекта можно использовать.

Для клиента это могут быть:

Однако важно не только наличие признака, но и момент, когда его значение становится известным.

4.5. Момент прогнозирования

Момент прогнозирования — дата или время, на которое система должна сформировать прогноз.

Предположим, модель оценивает вероятность оттока 1 октября.

Тогда она может использовать историю активности клиента до этой даты.

Но информация о том, что произошло с клиентом 15 октября, ещё недоступна.

Следовательно, такие сведения не должны использоваться в качестве входных признаков при прогнозировании на 1 октября.

Это правило необходимо для корректного применения модели в реальных условиях.

4.6. Стоимость ошибки

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

В задаче оттока возможны две ситуации.

Первая: модель ошибочно считает, что клиент собирается уйти. Компания может предложить ему ненужную скидку.

Вторая: модель считает, что клиент останется, хотя он действительно уходит. Компания может потерять клиента.

Эти ошибки имеют различную стоимость.

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

Подробные показатели качества классификации рассматриваются в лекции 13.


5. Обучение модели и обобщающая способность

5.1. Как формируется модель?

В процессе обучения алгоритм получает данные и определяет параметры модели.

Для обучения с учителем используются пары:

[
(x_i,y_i)
]

Алгоритм строит функцию:

[
\hat y_i=f(x_i;\theta)
]

После этого прогнозы сравниваются с известными правильными ответами.

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

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

Общую идею обучения можно записать:

[
\theta^*=\arg\min_{\theta}L(\theta)
]

где (L(\theta)) — функция потерь, а (\theta^*) — параметры, обеспечивающие её минимальное значение в рамках рассматриваемой задачи.

В этой лекции важно понять назначение функции потерь. Её конкретные виды и методы оптимизации подробно изучаются в лекции 2.

5.2. Параметры и гиперпараметры

Параметры — значения, которые модель определяет по обучающим данным.

Гиперпараметры — настройки, регулирующие структуру модели или процесс обучения.

Например, количество ближайших соседей в алгоритме kNN является гиперпараметром.

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

Подробные методы поиска гиперпараметров рассматриваются в лекции 14.

5.3. Обобщающая способность

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

Обобщающая способность (Generalization) — способность модели сохранять качество прогнозирования на данных, не использовавшихся при обучении.

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

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

На качество обобщения влияют объём и репрезентативность данных, сложность модели, качество признаков и условия её применения.

5.4. Переобучение и недообучение

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

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

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

Для их обнаружения сравнивают результаты на обучающих и независимых проверочных данных.

Подробные способы диагностики и предотвращения этих проблем рассматриваются в следующих лекциях.


6. Обучающая, валидационная и тестовая выборки

Для корректной оценки модели данные разделяют на несколько частей.

6.1. Обучающая выборка

Train set — данные, на которых алгоритм определяет параметры модели.

Например, если имеется 1000 наблюдений, часть из них может использоваться непосредственно для обучения.

6.2. Валидационная выборка

Validation set — данные, предназначенные для сравнения моделей и выбора гиперпараметров.

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

6.3. Тестовая выборка

Test set — независимые наблюдения, используемые для окончательной оценки качества после завершения настройки модели.

Например, набор из 1000 наблюдений можно разделить следующим образом:

Часть данных

Количество

Назначение

Обучающая

700

Определение параметров

Валидационная

150

Выбор настроек

Тестовая

150

Итоговая проверка

Это только один из возможных вариантов разделения.

Главный принцип состоит в том, что тестовые данные должны оставаться независимыми от процесса выбора модели.

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

Особенности перекрёстной проверки и математические метрики качества подробно рассматриваются в лекции 13.


7. Корреляция и причинность

При анализе данных важно различать статистическую взаимосвязь и причинно-следственные отношения.

Корреляция означает наличие статистической связи между переменными.

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

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

Однако это не означает, что обращения в поддержку сами по себе вызывают отток.

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

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

Это особенно важно при интерпретации результатов и принятии управленческих решений.


8. Базовое решение и оценка полезности модели

Базовое решение (Baseline) — простой способ прогнозирования, с которым сравнивается более сложная модель.

Например, при прогнозировании оттока клиентов можно использовать правило:

«Всегда прогнозировать, что клиент останется».

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

Однако оно не выявляет клиентов с риском ухода.

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

Важно учитывать:

Выбор конкретных метрик зависит от типа задачи и подробно изучается в лекции 13.


9. Жизненный цикл модели машинного обучения

Разработка модели представляет собой последовательность взаимосвязанных этапов.

1. Постановка задачи. Определяются цель, объект наблюдения, признаки, целевая переменная и критерии успешности.

2. Сбор данных. Формируется набор наблюдений из доступных источников.

3. Разделение данных. Выделяются обучающие и независимые проверочные наблюдения.

4. Подготовка данных. Выполняются необходимые преобразования признаков, обработка пропусков и другие операции.

5. Обучение модели. Алгоритм определяет параметры на основе обучающих данных.

6. Валидация. Выполняется сравнение вариантов модели и настройка гиперпараметров.

7. Оценка качества. Модель проверяется на независимых тестовых наблюдениях и сравнивается с базовым решением.

8. Внедрение. Обученная модель интегрируется в программную систему или рабочий процесс.

9. Мониторинг. После внедрения отслеживаются результаты прогнозирования и изменения условий работы модели.

Общая схема:

Постановка задачи → Сбор данных → Разделение → Подготовка → Обучение → Оценка → Внедрение → Мониторинг

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

Подробно вопросы внедрения и мониторинга рассматриваются в лекции 15.


10. Практическое значение машинного обучения

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

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

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

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

Образование может применять модели для анализа учебных результатов и выявления закономерностей в освоении материала.

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

Однако применение машинного обучения оправдано не в каждой ситуации.

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

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


11. Основные ограничения машинного обучения

Качество данных

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

Объём и разнообразие наблюдений

Недостаточный объём данных или отсутствие важных типов объектов ограничивают способность модели обобщать результаты.

Изменение условий применения

Поведение объектов со временем может изменяться. Поэтому модель, успешно работавшая на исторических данных, не обязательно сохранит то же качество в будущем.

Сложность модели

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

Интерпретация результатов

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


12. Выводы

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

Основными элементами задачи являются объект наблюдения, признаки, целевая переменная, обучающая выборка и модель.

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

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

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

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

Разработка модели включает полный жизненный цикл: от постановки задачи и сбора данных до внедрения и мониторинга.

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