/
Теги: искусственный интеллект
ISBN: 978-5-4497-4374-9
Текст
ВЫСШЕЕ ОБРАЗОВАНИЕ
А.С. Шевченко, О.В. Самарина
МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ
Учебное пособие
© Шевченко А.С., Самарина О.В., 2025
© ООО Компания «Ай Ни Ар Медиа», 2025
ISBN 978-5-4497-4374-9
Москва
Aii Пи Ар Медиа
2025
УДК 004.8
ББК 16.63
Ш37
Авторы:
Шевченко А. С. — канд. физ мат. наук, доцент инженерной школы
цифровых технологий Югорского государственного университета;
Самарина О.В. — канд. физ. мат. наук, доц., руководитель инженерной школы
цифровых технологий Югорского государственною университета
Рецен тенты:
Вохминиев А.В. — д ртехн. наук, доц., зав. научно исследовательской лабораторией
«Интеллектуальные информационные технологии и системы»
Челябинского государственного университета;
Кутышкин АВ— д-р техн, наук, проф., гл. науч сотрудник
научно исследовательской лаборатории имитационного моделирования
Нижневартовского государственного университета
Шевченко. Алеся Сергеевна.
Ш37 Методы машинного обучения : учебное пособие / А.С. Шевченко, О.В. Самари-
на Москва : Ай Пи Ар Медиа, 2025. (Высшее образование). — 1 CD ROM
Систем, требования: Intel; Microsoft Windows (ХР, Vista, Windows 7 и др.); дисковод
CD ROM, 512 Мб ОЗУ; разрешение экрана не ниже 1024x768; ПО Adobe Air, ПО
TPRbooks Reader, мышь - Загл. с титул, экрана. — Текст : электронный
ISBN 978-5-4497-4374-9
Учебное пособие содержит теоретические сведения, необходимые для изучения
темы «Методы машинного обучения» учебного курса «Системы искусственного ин-
теллекта». Каждая гема включает контрольные вопросы и задания, которые помогут
закрепить полученные знания и применять их на практике.
Подготовлено в соответствии с Федеральным государственным образователь-
ным стандартом высшего образования.
Учебное пособие предназначено для студентов всех специальностей и направле-
ний подготовки, изучающих дисциплины «Методы машинного обучения», «Системы
искусственного интеллекта», а также .для преподавателей вузов.
Учебное электронное издание
Минимальные системные требования', процессор стандартной архитектуры
х86 с тактовой частотой от 1,6 ГГц и выше; операционная система
Microsoft W indows ХР, Vista или Windows 7; от 512 Мб оперативной памяти:
от 1 Гб свободного пространства на жестком диске; разрешение экрана не ниже 1024x768
ISBN 978-5-4497-4374-9
© Шевченко А.С., Самарина О.В., 2025
© ООО Компания «Ай Пи Ар Медиа», 2025
Учебное издание
Шевченко Алеся Сергеевна
Самарина Ольга Владимировна
Редактор М.В. Половникова
Технический редактор К.А. Новикова
Корректор Ю. Королева
Обложка Я.А. Кирсанов, С.С. Сизиумова, фотобанк Freepik
Подписано к использованию 24.04.2025. Уч.-изд. л. 9.
Объем данных 15 Мб. 1 CD-ROM Тираж 100 экз.
ООО Компания «Ай Ии Ар Медиа»
8 800 555 22 35 (бесплатный звонок по России)
E-mail: sales iprmedia.ru
ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ....................................................6
ТЕМА 1. ВВЕДЕНИЕ В МАШИННОЕ ОБУЧЕНИЕ...........................8
1.1. Смежные области, отвечающие за разработку технологий ИИ.8
1.2. История машинного обучения.............................12
1.3. Цель и важные компоненты машинного обучения............13
1.4. Как собрать данные?....................................15
Контрольные вопросы и задания...............................18
ТЕМА 2. ОСНОВНЫЕ ГЕРМИНЫ МАШИННОГО ОБУ ЧЕНИЯ...................20
2.1. К.почевые понятия......................................20
2.2. Виды признаков у объектов..............................21
2.3. Обучение модели........................................23
2.4. Классы задач машинного обучения........................28
Контрольные вопросы и задания...............................29
ГЕМА 3. ЗАДАЧА КЛАССИФИКАЦИИ..................................31
3.1. Постановка задачи классификации........................31
3.2. Типы задач классификации...............................32
.3.3. Методы решения задач классификации....................34
3.4. Метрики качества для задач классификации................37
Контрольные вопросы и задания...............................42
ТЕМА 4. ЗАДАЧА РЕГРЕССИИ......................................47
4.1. 1 Остановка задачи ретрессии...........................47
4.2. Типы рефессионных алгоритмов...........................48
4.3. Методы решения задачи регрессии........................51
4.4. Метрики качества для задачи регрессии..................52
Контрольные вопросы и задания...............................58
ГЕМА 5. ЗАДАЧА КЛ АСТЕРИЗАЦИИ.................................62
5.1. Постановка задачи кластеризации........................62
5.2. Примеры задач кластеризации............................65
5.3. Расстояния между объектами.............................68
5.4. Методы кластеризации...................................72
5.5. Метрики качества..............................................82
Контрольные вопросы и задания......................................87
ТЕМА 6. ЗАДАЧА ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ И
РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ............................................ 92
6.1. Примеры задач поиска ассоциативных правил.....................92
6.2. Постановка задачи поиска ассоциативных правил.................94
6.3. Меры значимости при анализе ассоциативных правил..............96
6.4. Методы решения задачи поиска ассоциативных правил.............99
6.5. Введение в рекомендательные системы и примеры использования ..99
6.6. Постановка задачи и основные подходы к построению
рекомендательных систем...........................................101
6.7. Метрики качества рекомендаций................................1U7
Кон грольные вопросы и задания....................................112
ТЕМА 7. ЗАДАЧИ УМЕНЬШЕНИЯ РАЗАГЕРНОСТИ (ОБОБЩЕНИЕ)
И ВЫЯВЛЕНИЯ АНОМАЛИЙ................................................118
7.1. Задача уменьшения размерности............................... 118
7.2. Задача выявления аномалий....................................123
Контрольные вопросы и задания.....................................123
ТЕМА 8. ВИДЫ МАШИННО1 О ОБУ ЧЕНИЯ................................. 125
8,1. Классическое машинное обучение...............................126
8.2. Обучение с подкреплением.....................................130
8.3. Ансамблевые методы обучения..................................133
Контрольные вопросы и задания.....................................141
БИБЛИОГРАФИЧЕСКИЙ СПИСОК............................................143
ПРЕДИСЛОВИЕ
В современном мире технологии искусственного интеллекта стремитель-
но развиваются, проникая практически во все сферы жизни: от медицины до
образования, от бизнеса до искусства. Одной из ключевых технологий искус-
ственного интеллекта является машинное обучение, которое охватывает широ-
кий спектр методов и подходов, направленных на автоматизацию процессов
принятия решений на основе данных.
Цель учебного пособия —дать студентам полное представление о базо-
вых концепциях, задачах и методах машинного обучения, необходимых для
понимания принципов работы современных интеллектуальных систем.
Каждая тема содержит контрольные вопросы и задания для закрепления
полученных знаний.
В результате успешного изучения материала по теме «Методы ма-
шинного обучения» студент будет:
1) знать:
- смежные области, отвечающие за разработку технологий искусствен-
ного интеллекта;
- историю развития машинного обучения;
- способы сбора данных, используемых для обучения моделей машинно-
го обучения;
- основные понятия и терминологию машинного обучения;
- постановку задач машинного обучения, таких как классификация, ре-
грессия, кластеризация, поиск ассоциативных правил, уменьшение размерно-
сти, выявление аномалий;
- постановку задач и основные подходы к построению рекомендатель-
ных систем:
- принципы работы различных методов машинного обучения;
- метрики для оценки качества моделей в задачах машинного обучения;
- примеры и сферы практического применения задач машинного обучения;
- виды машинного обучения: обучение с учителем, обучение без учите-
ля, обучение с подкреплением, ансамблевые методы;
- различные виды ансамблей, такие как бэггинг, бустинг, стекинг, а так-
же их области применения;
2) уметь:
- определять, какие реальные задачи могут быть решены с использова-
нием методов машинного обучения,
- формулировать задачи машинного обучения и выбирать подходящие
методы для их решения;
- оценивать качество полученных моделей;
- анализировать и интерпретировать результаты;
3) владеть навыками:
- сбора данных для обучения моделей машинного обучения;
- применения методов машинного обучения для решения практических задач;
- анализа и интерпретации результатов для принятия решения.
Учебное пособие подготовлено по материалам курса лекций по дисци-
плине «Системы искусственного интеллекта» и предназначено для бакалавров,
обучающихся по всем направлениям подготовки.
ТЕМА 1. ВВЕДЕНИЕ В МАШИННОЕ ОБУЧЕНИЕ
1.1. СМЕЖНЫЕ ОБЛАСТИ, ОТВЕЧАЮЩИЕ
ЗА РАЗРАБОТКУ ТЕХНОЛОГИЙ ИИ
В последние годы мы часто слышим новые для нас понятия, такие как ис-
кусственный интеллект, паука о данных, машинное обучение, глубокое обуче-
ние Но мало кто из нас понимает, что они обозначают, являются ли они сино-
нимами или это разные понятия.
И сейчас мы попробуем разобраться, какой смысл вкладывается в эти по-
нятия
Начнем с наиболее популярного в настоящее время понятия — искус-
ственный интеллект.
Итак, искусстветшыи интеллект (ИИ) — это широкая область исследо-
ваний, направленная на создание систем, способных выполнять задачи, требу-
ющие разумною мышления (рис. 1.1).
Это означает, что эти системы могут имитировать поведение человека,
опп могут обучаться на основе той информации, тех данных, которые в них за-
1ружают, и решать конкретные задачи. И чем больше новых данных получает
система, тем более качественно она решает поставленные задачи.
Рис. 1.1. Иерархическая структура технологий ИИ
Следующее понятие — наука о данных (с англ. Data Science) — это
междисциплинарная область, которая объединяет различные методы и подхо-
ды, необходимые для извлечения ценной информации из имеющихся данных.
К основным методам относятся методы обработки больших данных, ме-
тоды интеллектуального анализа данных, статистические методы и методы ис-
кусственного интеллекта.
Большие данные (с англ. Big Data) — это огромные массивы информа-
ции. Для их обработки и хранения используют специальные алгоритмы.
Интеллектуальны и анализ данных (с англ Data Mining) — это широ-
кое понятие, означающее извлечение новых знаний и неизвестных закономер-
ностей из больших объемов «сырых» данных. Под «сырыми» данными обычно
понимают неструктурированные, необработанные массивы информации. Это
могут быть документы, сообщения, отзывы, какие-то измерения, данные сенсо-
ров и 1оТ-устройств.
Итак, данные служат основой для работы искусственного интеллекта,
успех которого, конечно же, зависит от наличия больших данных.
А искусственный интеллект, в свою очередь, предлагает необходимые
средства для оптимизации и автоматизации процессов принятия решений.
Таким образом, получается, что искусствсшплй интеллект и наука о дан-
ных тесно взаимосвязаны друг с другом.
Более того, они объединяют в себе ряд передовых технологий, таких как
машинное обучение, глубокое обучение и обработка естественного языка.
Далее попытаемся разобраться в этих технологиях.
Машинное обучение (с англ. Machine Learning) — подобласть искус-
ственного интеллекта, где системы обучаются решать задачи не за счет прямого
программирования. а путем анализа множества похожих примеров.
Как же это понять?
Известно, что в классическом программировании разработчик вручную
прописывает все логические условия и правила, по которым система должна
действовать в различных ситуациях. Он заранее продумывает и прописывает,
что должно происходить.
А вот в машинном обучении все по-другому. Система сама учится нахо-
дить закономерности в данных и не следует прописанным правилам. Она по-
степенно совершенствует свою модель и повышает качество решения. Роль
разработчика при этом заключается не в прописывании жестких правил, а в вы-
боре подходящих методов обучения, подготовке данных и настройке парамет-
ров модели.
Далее рассмотрим, как машинное (нбучение связано с глубоким обучени-
ем и обработкой естественного языка.
Глубокое обучение, или глубинное обучение (с англ. Deep Learning), —
подобласть машинного обучения, где в качестве алгоритмов используются
нейронные сети.
Обычно под нейронной сетью понимается математическая модель, кото-
рая имитирует строение и функционирование нервных клеток живого организма.
Обработка естественного языка (с англ. Natural Language Processing,
сокращенно ]NLP) — это направление в машинном обучении, посвящешюе рас-
познаванию, генерации, обработке устной и письменной человеческой речи.
Здесь под естестве]изыми языками понимаются языки, которые исполь-
зуются для общения с людьми.
Более того. NLP находится на стыке дисциплин искусствешзого гштел-
лекта и лингвистики (рис. 1.2).
Рис. 1.2. Взаимосвязь ИИ и лит висписи
Она имеет два подраздела (рис. 1.3):
1. Понимание естественною языка (с англ. Natural language understand-
ing, NLU).
2. Генерация естественно!о языка (с англ. Natural language generation,
NLG).
Рис 1.3 Подразделы NLP
К примерам понимания естественного языка можно отнести:
1. Анализ тональности. Он является одной из важнейших задач в обла-
сти обработки естественного языка. Позволяет оценить эмоциональную окраску
текста: является ли он положительным, отрицательным или нейтральным. Ис-
пользуется при анализе отзывов о продуктах и услугах, мониторинге социаль-
ных сетей, управлении репутацией бренда.
2. Синтаксический и морфологий анализ. Это обычно задачи, связан-
ные с разбором структуры предложений, определением частей речи, выявлени-
ем синтаксических связей между словами.
3. Извлечение именованных сущностей. Это процесс автоматического
определения и классификации упоминаний имен людей, организаций, геогра-
фических объектов, дат, и других важных элементов в тексте.
4. Классификация текстов. Это процесс автоматического распределения
документов или фра] ментов текста по определенным категориям и тематикам
5. Исправление ошибок. Представьте, что вы пишите важный отчет по
практике, но сделали множество ошибок. Не беда! NLP-алгоритмы мгновенно
обнаружат и исправят все грамматические, орфографические, пунктуационные
и другие ошибки и сделают ваш текст безупречным.
К примерам генерации естественного языка можно отнести:
1. Генерацию текста на определенную тему. Это одна из основных за-
дач NLG, где системе предоставляются некоторые исходные данные или кон-
текст, а она должна сгенерировать связный текст по этой теме, например напи-
сать рассказ, статью, описание.
2. Машинным перевод — перевод текста с одного языка на другой язык.
О,дна из первых задач в области NLP. Системы машинного перевода разрабаты-
ваются с 1930-х гг. Современные же системы добились высокого результата и
способны переводить длинные фрагменты текста, при этом выдавая в качестве
результата осмысленный и связный текст на нужном языке.
3. Суммарпзацню. Чрезвычайно полезная задача, когда нужно кратко из-
ложить основную мысль текстового документа. Например, краткая сводка но-
востей в сервисе «Яндекс. Новости».
4. Генерацию ответов на вопросы. Это процесс извлечения релевантной
информации из текста для ответа на заданный вопрос.
Таким образом, машинное обучение, глубокое обучение и NLP— это
технологии, которые являются ключевыми инструментами в области разработ-
ки систем искусственного интеллекта.
1.2. ИСТОРИЯ МАШИННОГО ОБУЧЕНИЯ
История машинного обучения берет свое начало с середины прошлого
столетия — в 50-х годах XX века. Пионерами в этой области считаются Алан
Тьюринг и Артур Самуэль.
В 1959 году Артуром Самуэлем был введен термин «машинное обуче-
ние», когда он разработал программу' для игры в шашки, обладающую способ-
ностью к самообучению на основе сыгранных партий.
В 19б7 году разработан метрический алтари гм классификации — ал-
горитм k-ближних соседей. Он развивался и совершенствовался на протяжении
нескольких десятилетий, стал одним из важных и широко используемых мето-
дов классификации.
В 1986 году группой ученых, включая Дэвида Румельхарта, Джеффри
Хинтона и Рональда Уильямса, предложен метод обратного распространения
ошибки. Он стал ключевым алгоритмом, позволяющим нейронным сетям ре-
шать сложные задачи распознавания образов, обработки естественного языка.
А начало первого десятилетия XXI века стало переломным моментом в истории
развития машшшого обучения. Этот прорыв быт обусловлен тремя тенденциями.
Первая тенденция связана с большими данными. Поскольку объем дан-
ных резко вырос, то традиционные методы обработки и анализа информации
уже не справлялись с этими гигантскими массивами информации. В огвет на
это были разработаны новые подходы к обработке данных.
Вторая тенденция заключалась в снижении стоимости параллельных вы-
числений и увеличении доступной оперативной памяти. Появление распреде-
ленных систем хранения и обработки данных позволило масштабировать вы-
числения для работы с большими объемами информации.
Третья тенденция была связана с развитием новых алгоритмов глубокого
обучения, основанных на идеи персептрона.
Уже в 2000-х и 2010-х годах машинное обучение стремительно развива-
лось, став одной из ключевых технологий в таких областях, как компьютерное
зрение, робототехника, биоинформатика и многое другое.
Так, в 2006 году Джеффри Хинтон, ученый в области искусственных
нейронных сетей, ввел в обиход термин «глубинное обучение».
В 2014 году команда Facebook AI Research разработала один из первых
глубоких нейросетевых алгоритмов для распознавания лиц. Точность алгорит-
ма составила 97 %.
В 2020 году нейронная сеть AlphaFold от команды DeepMind расшифро-
вала механизм сворачивания белка. Над этой задачей ученые-биологи бились
больше 50 лет. Появление доступных SD-структур белков позволило ученым
разобраться в функциях тысяч молекул в геноме человека, которые до сих пор
оставались загадкой и которые могут быть связаны с болезнетворными генны-
ми вариантами. Также они могут применяться для ускоренного получения но-
вых лекарственных препаратов.
Машинное обучение прошло длинный и интересный путь становления,
прежде чем достигло своего нынешнего уровня развития. Сегодня эта техноло-
гия лежит в основе многих прорывных решений в самых разных сферах чело-
веческой деятельности.
1.3. ЦЕЛЬ И ВАЖНЫЕ КОМПОНЕНТЫ МАШИННОГО ОБУЧЕНИЯ
Целью машинного обучения является частичная или полная автоматиза-
ция решения сложных профессиональных задач в разных сферах человеческой
деятельности.
Машинное обучение базируется на трех одинаково важных компонентах
(рис. 1.4): данные, признаки и алгоритмы.
Рис. 1.4. Компоненты машинного обучения
1. Наборы данных (дятасеты) — информация или выборки данных, ко-
торые необходимы для накопления опыта при обучении. Это могут быть тек-
стовые, графические, звуковые или видеофайлы.
Более того, для различных, типов задач требуются уникальные наборы
данных. Например, для задач обработки изображений требуются наборы изоб-
ражений, для задач обработки текста — текстовые корпуса, для задач распозна-
вания речи — аудиозаписи и т.д.
Также данных нужно как можно больше. Чем больше размер набора дан-
ных, тем лучше модель может обучаться и обобщать закономерности. Однако
слишком большие наборы данных могут привести к проблемам с вычислитель-
ны мп ресурсами и временем обучения.
Надо <пметить, что сбор данных явигяется одним из наиболее сложных и
трудоемких процессов. Существуют два способа сбора данных:
- ручной метод более медленный, но при этом более точный:
- автоматический сбор является более быстрым, но при этом допускает
большое количество ошибок.
2. Признаки (фичи (features)) — индивидуальные измеримые свойства,
характеристики наблюдаемых объектов, событий и явлений, от подбора кото-
рых зависят успешность и скорость машинного обучения.
Например.
- для автомобиля важными признаками являются пробег, количество ци-
линдров, максимально возможная скорость;
- для покупателя — возраст, пол, образование, уровень дохода и т.д.;
- для животного — порода, рост, длина от кончика хвоста до носа, окрас;
- для прогнозирования цен на жилье — площадь, количество комнат, год
постройки, местоположение.
От правильного выбора признаков напрямую зависит качество получае-
мых моделей. Этап выбора признаков занимает больше времени, чем сам про-
цесс обучения модели.
3. Алгоритмы — система четких последовательных операций для реше-
ния определенной задачи. Другими словами, метод решения. Под каждую кон-
кретную задачу машинного обучения разрабатываются отдельные изящные ал-
горитмы. Хорошо подобранный алгоритм позволит эффективно решить постав-
ленную задачу. От выбранного алгоритма также зависят скорость и точность
результата обработки исходных данных.
1.4. КАК СОБРАТЬ ДАННЫЕ?
Поскольку решение любой задачи машинного обучения начинается с по-
иска и подготовки данных, то даже в крупных компаниях для решения ML-
задачи данных может не хватать или не иметься вовсе.
ML-специалисту необходимо знать, где можно найти данные и с помо-
щью каких инструментов вьи рузить их.
Рассмотрим основные способы сбора данных (рис. 1.5):
- использование готовых выборок;
- парсинг данных в вебе;
- разметка.
Самый простой способ собрать данные для машинного обучения — ис-
пользовать уже собранные кем-то данные, т.е. готовые наборы данных.
Нередко бывает так, что с помощью одной и той же выборки можно ре-
шить не одну задачу машинного обучения.
Понимая ценность собранных данных, мнотие оргонизации и отдельные
исследователи публикуют свои выборки в открытом доступе для свободного
использования.
Единственная сложность — знать, где взять эти наборы данных.
i IHM И।hl 1 МНЧ UUIIJX
Рис. 1.5. Способы сбора данных
Рассмотрим несколько источников:
1. Поисковая система по наборам данных Datasel Search —специаль-
пая версия поиска от Google, которая по запросу пользователя находит подхо-
дящие наборы данных. Проиндексировано около 25 000 000 наборов данных с
числовыми, текстовыми и файловыми данными.
2. Конкурсные платформы, например Kaggle, — веб-платформы, реа-
лизованные как социальные сети для специалистов Data Science. Пользователи,
организуя соревнования по анализу данных, публикуют собранные наборы
данных в специальном разделе Datasets.
3. Если на конкурсных платформах не всегда понятно, каким образом
были собраны данные и можно ли им вообще доверяв, то есть возможность
обратиться к платформам, которые собирают данные из первых руж. Это агре-
гаторы данных.
Например.
- официальный сайт «Росстат» ежемесячно публикует данные о стати-
стике общественных процессов в России;
- открытая база данных Всероссийского центра изучения общественного
мнения публикует на своем сайте результаты опросов населения по разным темам;
- агрегатор статистики поисковых запросов от «Яндекса» «Ян-
декс. Ворд стат» помогает анализировать популярность ключевых слов, их ди-
намику, сезонность и другие важные параметры;
- Unsplash — постоянно обновляющийся международный сток фотогра-
фии’на разные темы и для свободного использования.
4. Открытые репозитории, например Github — один из самых извест-
ных веб-сервисов для хостинга IT-проектов. По поиску открытых проектов на
сервисе можно находить похожие исследования и наборы данных для них.
Но бывает так, что возможности скачать набор данных с веб-сайта за не-
сколько кликов не предусмотрено, а копирование не запрещается, однако это
долгий и неэффективный процесс. Для этого используется веб-парсинг.
Веб-парсинт — способ автоматического сбора данных с веб-сайтов. Су-
ществуют несколько вариантов.
1. С использованием АРЕ Проще всего скачать данные с веб-сайта, если
у него есть свои публичный API. Это набор определенных методов взаимодей-
ствия с веб-сайтом.
2. Без использования API. Если APT у веб-сайта нет, однако политикой
сайта не запрещено использование данных, то можно провести синтаксиче-
ский анализ HTML, т.е. взять код HTML сайта и извлечь необходимую ин-
формацию из множества тегов.
И последний способ — это разметка данных. Бывают случаи, когда ка-
кие-то данные уже собраны, однако для тренировки их недостаточно, потому
чт о не хватает целевых меток.
Например, нам необходимо обучить модель, которая должна определять,
ecib ли на фотографиях дорожные знаки. Допустим, фотографии мы нашли, но
нет информации о том, есть ли на них дорожные знаки.
Можно разметить эти данные самостоятельно, однако если объем фото-
графии большой, то это небыстро, а еще можно ошибиться.
В таком случае можно воспользоваться краудсорсинговыми платформа-
ми. Например. «Toloka.ai» — одна из платформ для разметки данных. На ней
зарегистрировано свыше десятка тысяч пользователей, готовых размечать дан-
ные за деньги.
Таким образом, при использовании любого способа сбора данных сто-
ит помнить о следующих вещах:
1. Данные могут быть недостоверными Стоит всегда проверять, от-
куда вы скачиваете данные. Если вам необходима статистика, используйте
официальные сайты и проверенные источники. Еще один способ проверки —
сравнение одних и тех же данных из разных источников.
2. Данные могут быть неразнообразнымк. Вы можете скачать фото-
графии дорог с дорожными знаками, однако там будут встречаться одни и те же
дорожные знаки, что может сильно отраничить возможности вашей модели.
Данные нужно проверять на разнообразие и в случае необходимости обогащать
их с помощью других источников. Не бойтесь использовать несколько источ-
ников для создания одного набора данных.
3. Данные могут быть неактуальными. Всегда следует проверять, ко-
гда был выложен датасет и соответствуют ли данные действительности. Бывает
гак, что со временем в наборах данных в Интернете обнаруживаются ошибки.
Об этом пишут на соответствующих форумах.
Стоит помнить, универсального способа сбора данных не существует. За-
частую итоговый набор данных для обучения модели состоит из нескольких ис-
точников, и вероятность качества данных в таком наборе данных будет выше.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1. Какие смежные области отвечают за разработку технологии искус-
ственного интеллекта?
2. Что такое наука о данных (Data Science)?
3. Какие методы извлечения информации включает наука о данных?
4. Как взаимосвязаны между собой искусственный интеллект и наука о
данных?
5. Что такое машинное обучение?
6. Что такое глубокое обучение?
7. Что такое нейронная сеть?
8. Что такое обработка естественного языка?
9. Как машинное обучение связано с глубоким обучением и обработкой
естественного языка?
10. Приведите примеры понимания и генерации естественного языка.
11 Кю ввел термин «машинное обучение» и в каком году это произошло?
12. Кто ввел в обиход термин «глубинное обучение» и в каком году это
произошло?
13. Каковы три тенденции, определившие развитие машинного обучения
в начале XXI века?
14. В каком году нейронная сеть AlphaFold от команды DeepMmd рас-
шифровала механизм сворачивания белка?
15. Какие три компоненты являются одинаково важными для машинного
обучения? Дайте их определения.
16. Какие существует способы сбора данных, используемые для обучения
моделей машинного обучения?
17. Какие агрегаторы данных вы знаете?
18. Что такое веб-парсинг?
19. Что такое краудсорсинг и как он используется при разметке данных?
20. Почему важно проверять достоверное! ь и актуальность данных при
их сборе?
ТЕМА 2. ОСНОВНЫЕ ТЕРМИНЫ МАШИННОГО ОБУЧЕНИЯ
2.1. КЛЮЧЕВЫЕ ПОНЯТИЯ
Чтобы лучше разбираться в машинном обучении, нужно знать ключевые
понятая, которые используются в этой области.
Рассмотрим их на примере данных об успеваемости студентов. Пред-
ставьте, что у нас есть табл. 1, которая содержит такую информацию, как Id
студента, пол. возраст, в какой группе он учится, живет ли в общежитии, рабо-
тает ли он, какие балы имеет по курсам «Программирование на Python», «Си-
стемы искусственного интеллекта» и какую оценку он получил за экзамен по
системам искусственного интеллекта.
Таблица 1
Фрагмент данных об успеваемости студентов
Id сту- дента Пол Возраст, лет Г ругни Нали- чие об- щежи- тия Работает ли студент Баллы за курс «Прог рам- ми рованне на Python» Баллы за курс «Системы искусственною нит еллекта (СИИ)» Экзамен по ку рсу СИИ
1 М 20 ИВТ316 нет нет 75 63 Хор
2 Ж 21 ПИТЗ 16 да да 45 46 Удвл.
3 ж 22 ИБ316 да да 65 50 Неуд.
4 м 23 ПМИ31 нет да 80 78 Огл.
5 ж 22 ИБ316 да да 50 36 Неуд.
6 ж 22 ИБ316 нет нет 60 70 Хор
7 м 24 I1M1I31 нет да 65 65 Хор.
8 м 19 ПИЗ 16 да нет 47 48 Удвл.
9 м 20 ПИЗ 16 да нет 80 59 От л.
10 м 24 ПМИ31 нет нет 95 89 Отл.
Сейчас на этом примере рассмотрим ключевые понятия.
Начнем с объекта Объект будем обозначать маленькой буквой х. Под
объектом понимается конкретная сущность, которая представляет интерес и
для которой мы будем предсказывать значения, оценки или давать рекоменда-
ции. В табл. 1 это строка для каждою отдельного студента, имеющего уникаль-
ный Id.
Далее будем рассматривать пространство объектов и обозначать его
большой буквой X . Пространство объектов — все объекты в рассматривае-
мой задаче. В нашей табл. 1 это все десять строк.
Через маленькую у будем обозначать целевую переменную. Целевая пе-
ременная — эта характеристика или свойство объекта, значение которой нам
нужно уметь предсказывать. В табл. 1 целевыми переменными для каждого
студента являются полученные баллы и оценка за экзамен по курсу «Системы
искусственного интеллекта».
Через большую Y будем обозначать уже совокупность всех целевых пе-
ременных. В табл. 1 последние два столбца для десяти студентов являются це-
левыми переменными.
Как мы уже знаем, каждый объект х = (x|tx2,...,x ) описывается с помо-
щью своих характеристик, которые называются признаками. В табл. 1 это
столбцы, т.е. пол. возраст, группа, наличие общежития, работает ли студент,
баллы за курс «Про1раммирование на Python».
2.2. ВИДЫ ПРИЗНАКОВ У ОБЪЕКТОВ
В настоящее время существуют несколько основных типов признаков,
которые можно использовать в задачах машинною обучения. Это числовые и
категориальные признаки.
Числовые признаки — это признаки, которые выражаются в числовом
формате. Они могут быть как дискретными, так и непрерывными.
Дискретные притнаки — характеристики, которые нельзя измерить, но
их можно посчитать, например количество детей в семье, число книг на полке,
голы, забитые в футбольном матче.
Непрерывные признаки — измеряемые количественные характеристи-
ки, например скорость, давление, ускорение.
В отличие от числовых признаков, катеториалъные признаки описыва-
ют объекты в виде меток или категорий. Они бывают двух основных типов:
номинальными и порядковыми.
Номинальные признаки — характеристики объектов, отвечающие на
вопрос «Какое значение имеет данная характеристика?». К примерам номи-
нальных признаков можно отнести:
- цвет (белый, черный, зеленый и т.д.);
- семейное положение (холост, женат, вдовец);
- тип образования (начальное, среднее и высшее);
- профессия (программист, менеджер, эколог) и т.д.
Порядковые признаки — дискретные характеристики, которые можно
упорядочить или ранжировать, например:
- уровень владения тем или иным языком: начинающий, средний, про-
двинутый;
- итоговая оценка по дисциплине «Системы искусственного интеллек-
та»: удовлетворительно, хорошо, отлично;
- рейтинг преподавателя: низкий, средний, высокий.
В свою очередь, номинальные признаки, принимающие только два воз-
можных значения, называются бинарными. Например:
- пол: мужской или женский;
- участие студента в научных мероприятиях: участвует или не участвует;
- наличие водительских прав: есть или нет.
И ключевой особенностью бинарных признаков является то, что они мо-
гут быть представлены в виде ответов: да или нет.
На практике для использования в моделях машшшого обучения категори-
альные данные представ.впот в числовом формате. Примеры представлены в
табл. 2.
Для бинарных признаков, таких как пол, можно использовать значения О
и 1. В нашем случае 0 соответствует мужскому полу, а 1 — женском}'.
В случае с образованием, где есть несколько упорядоченных категорий,
можно использовать значения от 0 до 4. Дошкольному образованию присвоим
значение 0, начальному— 1, основному — 2, среднему —3, высшему —4.
Но, в отличие от числовых признаков, над категориальными данными
нельзя выполнять арифметические операции или сравнивать их между собой.
Например, при сложении начального образования (1) с основным (2) мы не по-
лучим среднее образование (3).
Правильное обращение с категориальными признаками является важным
аспектом качественного построения моделей машинного обучения.
Таблица 2
Представления категориальных данных
в виде числовых значении
№ Категориальные данные Числовые значения
1 Пол:
- мужской и
- женский 1
2 Качество обслуживания:
плохое 1
- удовлетворительное т
- хорошее 3
— отличное 4
3 Образование:
- дошкольное 0
- начальное 1
- основное т
- среднее 3
- высшее 4
23. ОБУЧЕНИЕ МОДЕЛИ
Теперь давайте разберемся, что же такое .модель.
Модель — алгоритм или функция, которая позволяет предсказывать зна-
чение целевой переменной на основе набора признаков у объекта:
\ 1 t —семейство моделей.
Т.е. функция7 на вход принимает признаки объекта и по этим признакам
пытается выдать ответ.
Формальная запись выражения для предсказания модели следующая:
у = / I х . ш, h ) -
Здесь:
у — предсказанное значение целевой переменной для z-го объекта;
х — вектор признаков для г-го объекта,
cd — параметры модели, которые вычисляются непосредственно алго-
ритмом обучения модели;
h — гиперпараметры модели, которые являются настраиваемыми величи-
нами модели, значения которых подбирают специалисты, запускающие алго-
ритмы машинного обучения.
После выбора модели необходимо ее обучить. Для этого нужно имеющи-
еся данные разделить на две части, на обучающую и тестовую выборки.
Обучающая или тренировочная выборка (Training set) представляет
собой набор данных, где для каждого объекта известны значения признаков и
целевая переменная
Тестовая выборка (Test set) содержит данные, для которых известны
только признаки.
Например, представим, что у нас есть информация о студентах, посту-
пивших в 2023 году. Данные в табл. 3 могул быть использованы в качестве обу-
чающей выборки. Целевые переменные — это данные в зеленых столбцах.
А данные о студентах, поступивших в 2024 юду (табл. 4), где известны
только признаки, станут тестовой выборкой.
Используя модель, обученную на данных 2023 года, мы можем попытать-
ся предсказать, у каких из новых студентов 2024 года возникнут проблемы при
изучении курса «Системы искусственного интеллекта».
Таблица 3
Тренировочная (обучающая) выборка
Id студен- та Пол Возраст, лет Г руина Наличие обще- ЖИ1 ИЯ Работает ли сту- дент Баллы за курс «Програм- мнрование на Python» Баллы за курс «Системы иску сственног о интеллекта (СИИ)» Экзамен по курсу СИИ
1 М 20 ИВТ316 нет Hdl 75 63 Хор.
2 Ж 21 ИВТ316 да да 45 46 Удвл
3 ж 22 ИБ316 да да 65 50 Неуд
4 м 23 ПМИ31 нет да 80 78 Отд.
5 ж 22 ИБ316 да да 50 36 Неуд.
6 ж 22 ИБ316 нет не! 60 70 Хор.
7 м 24 ПМИ31 нет да 65 65 Хор.
8 м 19 TTIT316 да нит 47 48 Удвл
9 м 20 ПИЗ 16 да нет 80 59 Ота
10 м 24 ПМИ31 нет . нет 95 . 89 Ота.
Таблица 4
Тестовая выборка
м сту- ден та Пил Воз- раст, лет Группа Наличие обще- жития Работает ли сту- дент Баллы за курс «Програм- мирование на Python» Батлы за курс «Системы искусственного интеллекта (СИИ)» Экзамен но курсу СИИ
И Ж 20 IIBT416 да да 76 ? ?
12 Ж 20 IJBT416 да да 48 9 ?
13 ж 22 ИБ416 нет да 62 9 ?
14 м 23 ПМИ41 нет нет 85 ? ?
15 м 22 ИБ416 нет да 50 ? ?
16 ж 22 ИБ416 да нет чО ? ?
17 м 24 ГГМП41 HC1 да 75 ? ?
18 м 19 ПРИ 16 да нет 49 9 ?
19 ж 20 ГП 1416 да да 82 ? ?
20 м 25 1IMI141 нет нет 91 ? ?
Чтобы определить- насколько эффективна построенная модель машпшю-
го обучения, необходимо провести оценку ее качества. Для этого используется
специальная функция, называемая функцией потерь
Она позволяет количественно оценить, насколько прогнозные значения
модели соответствуют реальным наблюдаемым значениям целевой переменной.
Если предсказание модели точно совпадает с фактическим результатом, то
функция потерь принимает минимальное значение. В случае же, когда модель-
ное предсказание расходится с реальностью, то функция потерь примет более
высокие значения. Чем меньше значение функции потерь, тем лучше качество
модели.
Помимо анализа функции потерь на тестовой выборке, для комплексной
оценки модели можно рассчитать среднее значение функции потерь по всем
объектам обучающей выборки:
С(М) = — l(yt,f ( х,<о, й)).
л
Этот показатель называется функционалом потерь
Таким образом, целью обучения модели становится минимизация функ-
ционала потерь:
<7 | / ,X ) —» пип .
Другими словами, в ходе настройки параметров и гиперпараметров моде-
ли нам необходимо подобран такие характеристики, которые бы обеспечили
наиболее точное предсказание целевых значений на объектах обучающей вы-
борки.
Хотелось бы также отмстить, что по мерс усложнения и наращивания па-
раметров модели, как правило, наблюдается постепенное снижение значений
функционала потерь на обучающей выборке. Это означает, что модель все
лучше подстраивается под особенности обучающихся данных. Однако на опре-
деленном этапе может возникнуть следующая ситуация. Несмотря на то, что
потери на обучающей выборке продолжают уменьшаться, потери на тестовой
выборке начинают расти (рис. 2.1).
МВ Ф-тгрн TBCTWJW»
Рпс 2.1. Зависимость потерь данных от сложности модели
Такое явление получило название переобучен не» и означает, что модель
не способна определить общие закономерности, а вместо этого запоминает осо-
бенности обучающей выборки Подобная модель, хоть и демонстрирует отлич-
ные показатели на обучающихся данных, не приносит практической пользы,
поскольку не может эффективно работать на новых, ранее незнакомых ей при-
мерах. Поэтому’ важно анализировать не только потери на обучающихся дан-
ных, но и на тестовых данных тоже.
Для предотвращения переобучения необходимо использовать тестовую
выборку для своевременной остановки обучения алгоритма и выбора опти-
мальных параметров и гиперпараметров модели. Однако значения целевых пе-
ременных для тестовой выборки изначально нам неизвестны. Для этого можно
использовать подход, называемый валидацией Он предполагает выделение
части обучающей выборки «Тренировочная» и ее временное резервирование. А
оставшаяся часть обучающей выборки «Валидация» применяется для обучения
модели. После завершения этапа обучения обученная модель оценивается на
отложенном ранее кусочке обучающей выборки. Такой тип валидации получил
название валидации на отложенных данных {Hold — Out Validation)
(рис. 2.2),
Рис. 2.2. Схема <<Валидация на отложенных данных»
Альтернативным подходом к разделению данных на тренировочную и ва-
лидационную выборки является применение n-Fold кросс-валидации (n-Fold
Cross- Validation).
Для этого необходимо:
- обучающую выборку' разбить на п одинаковых по объелгу частей, со-
стоящих из разных объектов. Обычно л от 5 до 10. Эти части называются фон-
дами (Fold)',
- далее провести п итераций. Модель на каждой итерации обучается на
п-1 фонде и тестируется на оставшемся фонде, который не участвовал в
обучении;
- итоговая оценка либо усредняется по всем п итерациям, либо измеряет-
ся на тестовой выборке, не участвовавшей в кросс-валидации.
На рис. 2.3 показан пример с п = 5.
Такой подход позволяет более эффективно использовать ограниченные
объемы данных, обеспечивая комплексную оценку модели.
ГОШ1 roldl fuldl IW4
Г«Ш1 told} Mh|i 4
l«ldi toldi MO toM»
hold* Hi P uM 4 toM?
hUs told I told} toM4 toMS
Рис. 2.3. Схема «5-Fold кросс-валидация»
2.4. КЛАССЫ ЗАДАЧ МАШИННОГО ОБУЧЕНИЯ
Применение технологий машинного обучения является непростой зада-
чей и требует тщательных формулировки и подготовки. Для успешной реализа-
ции необходимо сформулировать прикладную проблему в виде одной из задач
машинного обучения, т.е. перевести задач)’ с языка предметной области на язык
технологии.
В машинном обучении имеется широкий спектр разработанных методов
для решения различного вида задач с конкретными входными и выходными
данными. Ключевыми факторами являются правильная структуризация и зада-
ние этих входных и выходных величин в данном контексте рассматриваемой
проблемы.
Классические задачи машинного обучения можно разделить па классы:
I. Задача классификации — задача определения класса объекта по его
характеристикам.
2. Задача регрессии, подобно задаче классификации, позволяет опреде-
лить по известным характеристикам объекта значение некоторого его парамет-
ра Но, в отличие от задачи классификации, результат будет не дискретным
набором классов, а множеством действительных чисел.
3. Задача кластеризации заключается в поиске независимых трупп (класте-
ров) и их характеристик во всем множестве анализируемых данных. Решение этой
задачи .тучше помогает понять данные. Более того, группировка схожих объектов
позволяет сократить их число и, как следствие, облегчить дальнейший анализ.
4. Задача поиска ассоциативных правил предназначена для нахожде-
ния частных зависимостей (или ассоциаций) между объектами или событиями.
Найденные зависимости представлены в виде правил и обычно используются
как для лучшего понимания природы анализируемых данных, так и для пред-
сказания появления событий.
5. Задача уменьшения размерности (обобщения) сокращает большое
число признаков для удобства их дальнейшей визуализации.
6. Задача выявления аномалии представляет собой задачу, отличную
от классической задачи классификации. Ее суть заключается в отделении не-
стандартных ситуаций от типичных, нормальных случаев. И, в отличие от зада-
чи классификации, возникает сложность, связанная с гем, что обучающихся
данных очень мало либо нет. Как правило, аномальные явления встречаются
редко, и традиционные методы классификации неприменимы. Типичным при-
мером задачи выявления аномалий является обнаружение мошеннических опе-
раций с банковскими картами.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1. Что такое объект, пространство объектов, целевая переменная, призна-
ки объектов?
2. Какие типы признаков существуют и чем они отличаются друг от друга?
3. Объясните разницу между дискретными и непрерывными числовыми
признаками.
4. Приведите примеры номинальных и порядковых признаков.
5. Почему категориальные признаки требуют особого подхода при ис-
пользовании в моделях машинного обучения?
б. В чем заключается ключевая особенность бинарных признаков?
7. Что такое модель в контексте машинного обучения?
8. Как происходит разделение данных на обучающую и тестовую выборки?
9. Какую роль играет функция потерь при оценке качества модели?
10. Что такое переобучение и почем}' оно является проблемой в машин-
ном обучении?
11. Каким образом можно предотвратить переобучение?
12. Что такое валидация и какие существуют типы?
13. В чем заключается суть n-Fold кросс-валидации?
14. Перечислите основные классы задач машинного обучения.
15. В чем разница между задачей классификации и задачей регрессии?
16. Для чего нужна задача уменьшения размерности?
17. Чем задача выявления аномалий отличается от классической задачи
классификации?
18. Определите, к какому типу относятся следующие признаки:
- возраст студента;
- рост спортсмена;
- рейтинг фильма;
- наличие домашних животных;
- оценка за экзамен (неудовлетворительно, удовлетворительно, хорошо,
отлично),
- наличие высшего образования;
- скорость ветра;
- марка автомобиля;
- вид спорта (футбол, хоккей, баскетбол);
- качество продукта (низкое, среднее, высокое);
- есть ли аллергия на пыльцу.
19. Преобразуйте следующие категориальные признаки в числовой формат;
- цвет глаз: зеленый, голубой, карий, серый;
- наличие водительских прав: есть, нет;
- способ оплаты: наличные, карта, PayPal;
- фаза вещества: твердая, жидкая, газообразная,
- часть речи: существительное, глагол, прилагательное, наречие:
- тип тока: постоянный, переменный;
- экологический статус территории: заповедник, национальный парк, за-
казник, особо охраняемая природная территория;
- тип тренировки: кардпо, силовая, растяжка.
- языки программирования: Python, Java. С-Н-, Go;
- тип проекта: веб-приложение, мобильное приложение, десктопное при-
ложение;
- регулярное занятие спортом: регулярно, нерегулярно,
- уровень опыта: junior, middle, senior.
ТЕМА 3. ЗАДАЧА КЛАССИФИКАЦИИ
3.1. ПОСТАНОВКА ЗАДАЧИ КЛАССИФИКАЦИИ
Задача классификации является задачей машинного обучения, которая
заключается в предсказании дискретного значения.
При анализе данных об объектах часто возникает необходимость опреде-
ления принадлежности конкретных изучаемых объектов к одному из известных
классов.
Рассмотрим в качестве примера ситуацию, когда человек обращается
в банк за получением кредита В процессе принятия решения о выдаче креди-
та банковский сотрудник опирается на информацию, связанную с клиентом: его
текущее место работы, наличие образования, возраст, уровень дохода, состав
семьи и т. д. На основании этих данных он относит клиента к одной из двух ка-
тегорий (классов): способный или не способный вернуть кредит.
Фильтрация электронной почты также является примером задачи клас-
сификации. В этом случае алгоритм фильтрации должен определить, является
ли полученное сообщение нежелательной рассылкой (спамом) или обычным
письмом. Такая классификация осуществляется на основе анализа содержания
сообщения, в частности:
- частоты использования определенных ключевых слов в тексте, которые
встречаются в массовых рассылках спама, например: «бесплатно», «персональ-
но для вас», «ограниченное предложение» и т. п ;
- наличия или отсутствия персонализированных обращений к получате-
лю: «Дорогой друг», «Уважаемый клиент», «Вам письмо»;
- crpyKjypbi или оформления письма: наличие большого количества ссы-
лок, необычное оформление текста, отсутствие логической структуры
Следующий пример — распознаьание объектов на изображении. Мы
все пользуемся умными камерами в смартфонах, которые умеют автоматически
определять, что изображено на фото, люди, животные, здания, пейзажи и т.д.
В инзернет-магазинах системы распознавания помогают автоматически
классифицировать!овары по категориям и находить похожие товары.
Давайте рассмотрим задачу классификации в более формальном виде. Пусть
заданы выборка объектов X ={ х,, х2..... хж} и дискретное множество меток классов
У = {1,2,...,*}.
Существует неизвестная целевая функция у' X -> Y , которая ставит в со-
ответствие каждому объекту х. его метку класса у .
Значения этой функции известны только для объектов из обучающей вы-
борки: £> = {X х Y}" = {(х(,у) |х( g X, g Y) П КО.ТИЧССТВО ЭЛСМСНТОВ В
выборке.
Задача состоит в том, чтобы построить алгоритм f X -> Y , который бы с
высокой точностью предсказывал принадлежность произвольного объекта
л е X к одному ИЗ КЛЯССОВ у с Y.
В данной постановке задачи множество X может быть представле-
но как:
1. Признаковое пространство. Признаки могут быть бинарными ({0, 1}),
количественными (действительные числа), порядковыми (конечный упорядо-
ченный набор) и категориальными (конечное множество описаний).
2. Матрица расстояний. Для каждого объекта содержится информация о
его расстоянии до всех объектов выборки.
3. Временной ряд — последовательность измерений во времени, пред-
ставляющих собой признаковое пространство.
4. Изображение/видеозапись.
3.2. ТИПЫ ЗАДАЧ КЛАССИФИКАЦИИ
В настоящее время выделяют следующие виды задач классификации:
1. Бинарная классификация, или двоичная классификация, предполага-
ет наличие двух возможных классов меток Y = {о, 1} .
Примеры бинарной классификации:
- купит ли пользователь товар на онлайн-площадкс (купит или не купит);
- является ли транзакция ио кредитной Kapie мошеннической (мошенни-
ческая или немошенническая);
- являегся ли сообщение спамом (спам или не спам);
- понравился ли пользователю фильм (понравился или не понравился);
- лабораторная диагностика для определения, болеет ли пациент опреде-
лённой болезнью (есть или нет болезни).
2. Мультнклассовая (многоклассовая) классификация предполагает,
что будет более двух классов Y = {1, 2. К } .
Примерами многоклассовой классификации являются:
- классификация лиц;
- классификация видов растений;
- оптическое распознавание символов;
- классификация форматов документов: PDF, Word, Excel, PowerPoint,
JPEG, PNG, GIF и т.д.;
- классификация эмоций: радость, грусть, гнев, страх и т.д.
3. Многоклассовая классификация с пересекающимися классами,
или классификация по нескольким меткам, является более сложным и не-
тривиальным типом задач классификации по сравнению с бинарной классифи-
кацией. В этом случае каждый объект может принадлежать нескольким клас-
сам. Y = {о, 1} ’ .
Например:
- классификация информационного контента в социальных сетях: в этом
случае пост может одновременно относиться к нескольким классам, таким как
«Наука», «Образование» и «Спорт», одновременно;
- классификация товаров в интернет-магазине: некоторые товары могут
относиться к нескольким категориям;
- классификация медицинских диагнозов: один пациент может иметь
признаки нескольких сопутствующих заболеваний;
- классификация музыкальных композиций по жанрам; многие компози-
ции могут относиться одновременно к нескольким жанрам (рок. блюз. джаз).
4. Несбалансированная классификация характеризируется существен-
ным дисбалансом в количестве объектов, принадлежащих различным классам.
Типичным примером является задача двоичной классификации, где один
из классов («нормальный») значительно превосходит по численности другой
класс («ненормальный»).
Такая ситуация может возникать по разным причинам:
- неравномерная вероятность появления классов в исследуемых данных;
- ошибки, возникающие при сборе данных.
Примерами задач несбалансированной классификации являются:
- выявление киберпреступлений в сетевом графике,
- обнаружение землетрясений;
- медицинская диагностика: здоровых пациентов значительно больше,
чем больных;
- классификация отзывов на товары или услуги: количество положи-
тельных отзывов может быть гораздо больше, чем отрицательных ггли
нейтральных.
3.3. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ КЛАССИФИКАЦИИ
Традиционно методы решения задач классификации деляг на классиче-
ские и нейросетевые методы.
Самыми распространенными классическими методами являются:
- логистическая регрессия;
- дерево решений;
- метод опорных векторов;
- метод k-ближайших соседей;
- наивный байесовский классификатор.
Остановимся на логистической регрессии и дереве решений.
Логистическая регрессия — метод, пришедший в машинное обучение
из математической статистики, используется для решения задач бинарной клас-
сификации и для прогнозирования вероятности того, что объект принадлежит к
определенному классу.
Модель логистической регрессии строится с помощью логистической
функции, которая преобразует линейную комбинацию всех входных перемен-
ных в вероятность, лежащую в диапазоне от 0 до 1:
р =------------------,
1 + е
л,,лг,...хл — входные признаки модели; еоо,<»},а)г,...а)п — определяемые алго-
ритмом параметры модели.
Логистическая регрессия похожа на букву 5 (рис. 3.1).
Более того, для бинарной классификации нужно задать порог — некото-
рое вещественное число. Если вероятность больше порота, то классификатор
предсказывает положительный класс, иначе —отрицательный.
Например, в задаче обнаружения спама в электронной почте пусть порог
равен 0.5. Тогда если модель предсказывает вероятность больше 0.5, то письмо
классифицируется как спам, если модель выдает вероятность <— 0.5, то письмо
считается не спамом (рис. 3.2).
Важно отметить, что порог можно варьировать в зависимости от требова-
ний к точности классификации и относительной важности ошибок первого и
второго рода. Например, в критически важных приложениях порог может быть
завышен для большей строгости классификатора.
Рис 3.1 Логистическая функция
Гис 3 2. Задача обнаружения спама в электронной почте
Обучение логистической регрессии осуществляется с помощью метода
максимального правдоподобия (Л4МП) — основного способа оценивания неиз-
вестных параметров.
Дерево решении представляет собой мощный классификатор, основан-
ный на иерархической, .древовидной структуре. Ключевым принципом работы
являются правила вида «Если, то», позволяющие шаг за шагом анализировать
характеристики объекта и относить его к соответствующему классу.
Принцип работы дерева решений заключается в итеративном разделении
исходного набора объектов на подмножества, связанные с предварительно
определенными классами. Это разделение осуществляется с помощью решаю-
щих правил, проверяющих значения атрибутов ио заданным условиям.
Структура дерева представлена на рис. 3.3 и состоит из узлов, листьев,
веток.
Каждый узел содержит логическое правило или условие, по которому
происходит разделение исходного набора объектов на подмножества.
Вегки, исходящие из узлов, показывают, как именно производится разде-
ление в соответствии с заданными условиями.
Листья — конечные узлы дерева, которые содержат прогнозируемые мет-
ки классов или значения целевой переменной.
Рассмотрим пример с выдачей кредитов в байке. Банк не может гаран-
тированно предсказать, вернет ли клиент кредит. Однако накопленные данные
о профилях и кредитные истории других заемщиков позволяют выявить зако-
номерности. На их основе можно построить дерево решений, которое будет ис-
пользовать характеристики нового клиента, такие как возраст, образование,
должность и доход, для определения класса «кредитоспособен» или «некреди-
тоспособен».
РадогтФ чьснкА у w-i
Корневой узел (предок)
«г
1ип
Дочерние
Рис 3.3. Структура дерева решении
Для этого надо обучить машину, найти закономерности, которые помогут
получать ответ.
Система автоматически разделяет все данные по вопросам с ответами на
«да» или «нет», формируя древовидную структуру вопросов, где более высокие
уровни содержат общие и важные вопросы (рис. 3.4).
ДавЛЬ IM *фЗДМТ?
Рис 3.4. Пример дереву решений
Таким образом, деревья решений находят широкое применение в задачах
диагностики, медицины, финансов и других областей.
3.4. МЕТРИКИ КАЧЕСТВА ДЛЯ ЗАДАЧ КЛАССИФИКАЦИИ
В задаче классификации существуют разные подходы к оцениванию ка-
чества модели. Это связано с тем, что метрика должна учитывать специфику
решаемой задачи.
Давайте рассмотрим классическую задачу определения спама. Задача мо-
дели — по входящему письму понять, является ли оно спамом или нет, т. е. эта
задача бинарной классификации.
Таким образом, нам надо по обучающей выборке {(х{,^)} , у е{0, 1}
построить модель, которая для каждого объекта х будет предсказывать метку
класса / (х) <= {0, 1}.
Класс, который представ.11яет для нас интерес, будем называть «положи-
тельным» (спаму = 1), а оставшийся — «отрицательным» (не спаму = 0).
Пусть тестовая выборка содержит 100 писем. Фрагмент данных представ-
лен в табл. 1.
Таблица 1
Фра> мен г данных
№ выборки Объект Л'. Истинная метка класса (спам или нет) У, Ответ алгоритма (предсказанное значение) л
1 Письмо 1 1 D П 1 □ Н 1
-> Л* Письмо 2
3 Письмо 3
4 Письмо 4 1 0
5 Письмо 5 0 1
6 Письмо 6 л и
• ••
99 Письмо 99 1 я“ 1 о
то Письмо 100
Первым критерием качества является accuracy, который показывает
долю правильных ответов среди всех ответов
Чтобы вычислить эту метрику, необходимо общее число правильно клас-
сифицированных объектов поделить на общее количество элементов в выборке:
а с си racy — — ' 1 ( у = у >),
1(х) — индикаторная функция, которая равна 1, если условие вну ipn скобок ис-
тинно, и 0 в противном случае; у — истинное значение для t-ro объекта; у —
предсказанное значение для /-го объекта.
Предположим, в нашем примере алгоритм выдал следующие данные:
- действительно снам — 10 писем;
- действительно не спам — 60 писем.
„ 10 + 60
В ЭТОМ случае accuracy = — =0.7.
1 00
Данная метрика:
— проста в понимании и интерпретации;
- неприменима к несбалансированной выборке. Если в выборке объектов
одного класса больше, чем объектов другого класса, то модель может показать
достаточно большую долю правильных ответов.
Прежде чем перейдем к рассмотрению других метрик, введем описание
этих метрик, используя термины ошибок классификации.
Каждый объект в выборке может иметь одну из четырех ситуаций:
1 Истинно положительный (True Positive — ТР): алгоритм правильно
классифицировал объект, принадлежащий классу I.
2. Истинно отрицательный (True Negative — TN): алгоритм правильно
классифицировал объект, принадлежащий классу 0.
3. Ложно положительный (False Positive — FP): алгоритм неправильно
классифицировал объект, принадлежащий классу 0, г.е. присвоил ему метку
класса 1. Эта ошибка классификации называется ошибкой 1 рода.
4. Ложно отрицательный (False Negative — FT): алгоритм неправильно
классифицировал объект, принадлежащий классу 1, т.е. присвоил ему метку
класса 0. Эта ошибка классификации называется ошибкой II рода.
Эти четыре числа можно наглядно представить в виде табл. 2, называе-
мой матрицей ошибок.
Таблица 2
Матрица ошибок
Фактическое (истинное) значение
У = 1 y = 0
Предсказанное значение э = 1 1 п*е PiгчП1т-е 1.1 I'l False Positive (FPi
у = 0 False Negative (KN 1 J rut Negative 1
По матрице ошибок можно рассчитать целый ряд популярных метрик:
достоверность, полноту, точность и другие, более специфичные, метрики.
Accuracy вычисляется по следующей формуле:
тр + TN
асси racy = ----------------
TP + TN + FP + F N
Вернемся к нашему примеру со 100 письмами, в котором алгоритм выдал
(табл. 3):
- действительно спам (ТР) — 10 писем;
- действительно не спам (TN) — 60 писем;
- ошибочно спам (FP) — 12;
- ошибочно не спам (FN) — 18.
Таблица 3
Матрица ошибок, полученная для задачи определения спама
У= 1 у = 0
у = 1 тг= in FP= 12
У = 0 FN= 18 TS >
т, ГР + TN 10+ 6U 7 0
1 ОГДа accuracy - ----------------= ---------------- ---=0,7.
TP + TN + FP 1- FN 10 + 60 + 12 + 18 100
С ледующей метрикой является точность (precision). Опа показывает
долю объектов, которые алгоритм правильно классифицировал как принадле-
жащие к положительному классу:
ТР
precision - --------.
ТР + F Р
п ТР I о
В нашем случае precision = -------= ------« 0.45.
ТР + FP 10+12
Точность нашей модели составила 45 %.
Метрика полноты (recall} показывает, какую долю объектов, принадле-
жащих к положительному классу, алгоритм смог правильно классифицировать:
TP
recall = ---------------
TP -l- F.V
Таким образом,
TP 1 о
recall = ------=--------« 0.36.
TP + FN 10 + 18
36 % данных алгоритм правильно классифицировал как спам.
Метрики точности и полноты, в отличие от метрики accuracy, не зависят
от соотношения классов в обучающей выборке. Это является ключевым пре-
имуществом при работе с несбалансированными данными, котда один класс
значительно преобладает над другим.
Идеальной ситуацией является ситуация, когда и точность, и полнота од-
новременно являются высокими. По в реальности это практически недостижи-
мо. Как правило, улучшение одной метрики ведет к снижению другой.
Метрика специфичности (specificity) аналогична метрике точности (pre-
cision). Она показывает долю объектов, которые алгоритм правильно классифи-
цировал как принадлежащие к отрицательному классу:
TN
specificity = -----.
TN + FP
Для нашего примера:
TN 60
specificity = ----- - ------= 0.83.
TN -V FP 60 + 12
В большинстве практических задач классификации важно не только до-
стижение высоких точности и полноты в отдельности, но поиск правильного
баланса между ними. Наиболее распространенной метрикой является Fl-
мера — среднее гармоническое точности и полноты:
2 р revision recull
Г,=------------------
р re с ision + recall
Для нашего примера:
2 • precision recall 2 0.45-0.36 0.324
F, = ---------------= -----------= -----=0.4.
р recision + recall 0.45 4 0 36 0.81
Данная метрика:
- учитывает распределение классов (т.е. хорошо работает даже в случае
несбалансированных выборок);
- имеет единственное числовое значение, а не два, как с точностью и
полнотой:
- является сложно интерпретируемой метрикой.
Fl-мера достигнет своего максимального значения только в том случае,
когда полнота и точность будут равны единице. Мера стремится к нулевому
значению, если один из аргументов будет близок к нулю.
Все эти метрики можно использовать для миогоклассовой классифика-
ции, однако в многоклассовом случае необходимо уточнить вид агрегации
- микроусреднение: значения метрик вычисляются глобально по всей
выборке, рассматривая каждый элемент матрицы ошибок как отдельную метку;
- макро усреднение: метрики сначала рассчитываются отдельно для каж-
дого класса, а затем усредняются.
Кроме точечных оценок существуют и храфические методы, которые спо-
собны оценивать качество классификации.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1 Что такое задача классификации? Приведите формальную постановку.
2. Приведите примеры задач классификации из реальной жизни.
3. Какие типы признаков могут использоваться в задаче классификации?
4. Какие типы задач классификации существуют ?
5. Что такое бинарная классификация? Приведите примеры.
6. Что такое мультиклассовая классификация? Приведите примеры.
7. Чем отличается мультиклассовая классификация от бинарной?
8. Что такое многоклассовая классификация с пересекающимися класса-
ми или классификация по нескольким меткам? Приведите примеры.
9. Что такое несбалансированная классификация? Приведите примеры.
10. Почему возникают задачи несбалансированной классификации?
11. Перечислите основные классические методы решения задач классификации.
12. Что такое логистическая рорессия и для каких задач она обычно ис-
пользуется?
13. Какова форма логистической функции и какой диапазон значений она
принимает?
14. Как устанавливается порог для бинарной классификации?
15. Какой метод используется для обучения логистической регрессии?
16. Что такое дерево решений и какую структуру оно имеет? Расскажите
об основных компонентах дерева.
17. В чем заключается ключевой принцип работы дерева решений?
18. Опишите, как происходит процесс разделения исходного набора объ-
ектов на подмножества в дереве решений.
19. Приведите пример применения дерева решений в реальной жизни,
например, выдача кредитов в банке. Какая информация о клиенте используется
для принятия решения?
20. Какие метрики используются для оценки качества моделей в задачах
классификации?
21. Что показывает метрика accuracy и как она рассчитывается ?
22. Что такое матрица ошибок и как она используется?
23. Что такое точность (precision) и полнота (recall)'! Как эти метрики
рассчиты ваются?
24. Как точность и полнота связаны между собой? Как изменение одной
метрики влияет на другую?
25. В чем отличие метрик точности и полноты от метрики accuracy?
26. Что такое специфичность (specificity)? Как эта метрика рассшпывается?
27. Что такое Fl-мера и как она рассчитывается? В чем преимущество
этой метрики по сравнению с точностью и полнот ой?
28. Определите тип классификации для следующих задач:
а) имеется набор данных о пациентах, включая возраст, иол, симптомы и
результаты анализов. Необходимо предсказать, болен ли пациент конкретным
заболеванием (например, гриппом);
б) имеются данные о поведении пользователей на сайте интернет-
магазина. Нужно определить, совершит ли пользователь покупку в течение
следующего месяца:
в) дана база данных о фильмах, содержащая информацию о жанре, акте-
рах, режиссере, бюджете и кассовых сборах. Требуется классифицировать
фильмы по жанрам: драма, боевик, комедия, фантастика и т. д.;
г) имеется набор текстов, написанных на разных языках. Каждому тексту
присвоены один или несколько тегов, обозначающих темы, которые обсужда-
ются в тексте. Необходимо классифицировать текст по темам;
д)дана база программных проектов, для каждого проекта указаны языки
программирования, используемые библиотеки и платформы. Необходимо клас-
сифицировать проекты по их назначению: веб-приложение, мобильное прило-
жение, настольное приложение и т. д.;
е) компания собирает отзывы своих клиентов через онлайн-платформу.
Большинство отзывов являются положительными, но имеется и небольшое
число негативных отзывов. Необходимо создать модель, которая будет эффек-
тивно классифицировать отзывы на положительные или отрицательные, не-
смотря на сильный дисбаланс в распределении классов:
ж) вам предоставили базу данных банковских операций, где большин-
ство транзакций являются легитимными, но небольшая часть представляет со-
бой случаи мошенничества. Необходимо создать модель, способную обнаружи-
вать мошеннические операции среди о]ромного количества нормальных тран-
закций;
з) имеются данные о строительных проектах, включая материалы, год по-
стройки. местоположение и много другое. Необходимо классифшшровать про-
екты по нескольким критериям: архитектурный стиль, функциональность и со-
ответствие строительным нормам.
29. Интернет-магазин внедрил систему обнаружения мошеннических
транзакций при оплате товаров. Система классифицирует транзакции на мо-
шеннические или честные. После нескольких месяцев использования системы
была собрана статистика о её работе. Статистика представлена в виде следую-
щей матрицы ошибок:
Фактическое (истинное) значение
у= 1 (мошенническая транзакция) у = 0 (честная транзакция)
Предсказанное значение У = 1 ТР =Й1 FP = 20
у = U FN = 15 1У-Й5
На основе этих данных необходимо рассчитать ключевые метрики:
— долю правильных ответов (accuracy);
- точность (precision);
- полноту (recall)-.
— специфичность (specificity);
- Fl-меру,
а также сделать выводы о качестве модели.
30. Компания производит электронные компоненты и использует автома-
тизированную систему контроля качества для выявления дефектных изделий.
Матрица ошибок после тестирования системы выглядит следующим образом:
у= 1 (дефект J У=0 (не дефект)
У = 1 ТТ* 4Й FP= 100
у = U FN = 50
На основе этих данных необходимо рассчитать ключевые метрики и сде-
лать выводы о качестве модели.
31. Система безопасности аэропорта использует технологию распознава-
ния лиц для идентификации пассажиров. Матрица ошибок после тестирования
системы следующая:
У = 1 (пассажир идентифицирован) у = 0 (пассажир не идентифицирован)
у = 1 ГР о 'АКГ FP = 100
У = 0 FN = 50 KIS - 95.1
На основе этих данных необходимо рассчитать ключевые метрики и сде-
лать выводы о качестве модели.
32. Энергетическая компания внедрила систему' мониторинга состояния
трансформаторов на подстанциях. Система классифицирует состояние транс-
форматора как нормальное или аварийное. После нескольких месяцев эксплуа-
тации системы была получена следующая .матрица ошибок:
у= 1 (нормальное состояние) у = 0 (аварийное состояние)
V - 1 П? "!1 FP = 30
5 = о Ж = 25 TV - '5
На основе этих данных необходимо рассчитать ключевые метрики и сде-
лать выводы о качестве модели.
33. ГГ-компания внедрила систему автоматического тестирования про-
граммного обеспечения на наличие багов. Система классифицирует результаты
тестов как содержащие баг или без багов. После нескольких итераций тестиро-
вания была получена следующая матрица ошибок:
у = 1 (содержит баг) у = 0 (без багов)
у = । тр-ю ГР= 10
5 = о FN = 15 тк-as
На основе этих данных необходимо рассчитать ключевые метрики и сде-
лать выводы о качестве модели.
ТЕМА 4. ЗАДАЧА РЕГРЕССИИ
4.1. ПОСТАНОВКА ЗАДАЧИ РЕГРЕССИИ
Задача регрессии является мощным инструментом для выявления и ко-
личественной оценки связей между различными переменными. Этот метод поз-
воляет построить математическую модель, которая описывает зависимость од-
ной зависимой переменной и одной или нескольких независимых переменных.
История регрессионных моделей начинается еще в 19 веке, когда ошг бы-
ли испо;1ьзованы для построения статистических моделей и изучения взаимо-
связей между переменными.
Ре]рессионные модели нашли широкое применение в самых разных обла-
стях, включая статистику и анализ данных, эконометрику и экономическое мо-
делирование, социологические и политологические исследования, инженерные
расчеты и технические приложения, биологию и медицинские науки.
Сегодня регрессионные модели продолжают играть ключевую роль в
анализе данных. А интеграция методов машинного обучения с регрессионным
анализом значительно расширила возможности моделирования сложных зави-
симостей и извлечения ценных инсайтов в самых разных областях.
Таким образом, задача регрессии состоит в том, чтобы на основании раз-
личных признаков предсказать вещественный ответ, т.е. число.
Примерами заоач регрессии являются:
- прогнозирование цен на финансовые активы, например предсказание
цен на акции, курсов валют или доходности портфелей цепных бумаг;
- прогнозирование потребления электроэнергии по месяцам с учетом та-
ких факторов, как температура, время года, экономическая активность;
- предсказание медицинских диагнозов по лабораторным тестам, симп-
томам и другим клиническим данным пациентов;
- прогнозирование результатов спортивных соревнований;
- моделирование зависимости популяции видов от экологических факто-
ров: температуры, освещения, концентрации питательных веществ;
- предсказание физико-химических свойств новых молекул на основе их
структуры и других характеристик;
- прогнозирование стихийных бедствий и чрезвычайных сит уаций, таких
как наводнения, землетрясения, ураганы.
Теперь рассмотрим формальную постановку задачи регрессии.
Пусть известны:
п — количество элементов в обучающей выборке;
d — количество признаков у объекта;
пара (х , у) — множество исходных данных;
— матрица «объекты-признаки», в которой 7-ая
строка соответствует вектору признаков i го объекта х = (л ,, х x.d _) выборки;
— вектор значений целевой переменной.
Нужно построить модель у = у(би,Л.), i=i,n, предсказывающую по *.
значение у,, наиболее близкое к у , т.е. найти параметры модели
Для оценки близости предсказания к истинному значению используется
функция потерь, например MSE — Mean squared error, или среднеквадратич-
ная ошибка:
Чем меньше значение среднеквадратичной ошибки (MSE) регрессионной
модели, тем ближе к истинным значениям будет выход модели.
Таким образом, задача регрессии состоит в том, чтобы решить оптимиза-
ционную задачу па минимум L(x,y,a)----->min и найти подходящий набор
параметров т .
4.2. ТИПЫ РЕГРЕССИОННЫХ АЛГОРИТМОВ
Выбор алгоритма напрямую зависит от характера имеющихся данных,
включая их размер и структуру. Поэтому, прежде чем выбрать оптимальный алго-
ритм, необходимо проверить различные варианты и выявить возможные ошибки.
Каждый алгоритм обладает своими достоинствами и недостатками, кото-
рые могут служить ориентиром при выборе наиболее подходящего решения для
конкретной ситуации.
Самыми распространёнными среди них являются линейная и полиноми-
альная резрессия.
1. Линеипая ретрессия является одним из самых простых алгоритмов в
машинном обучении.
Существуют два основных вида линейной регрессии: парная (простая) и
множественная линейные регрессии.
Парная линейная регрессия представляет собой модель, которая описыва-
ет линейную зависимость между значениями одной входной независимой и од-
ной выходной зависимой переменной. Эта модель выражается в виде уравнения
прямой линии, как показано на рис .4.1.
На приведенном рисунке представлена линейная зависимость между дли-
тельностью поездки и текущим временем суток.
*
а
• •
*3
7 <w 5.0* 8*0 HIM цтпо Choe Ш4М
Itbymet врем»
Рис 4.1. Линейная зависимость длительности поездки от текущего времени суток
Множественная линейная регрессия является более сложной моделью по
сравнению с парной линейной регрессией. Она используется для анализа взаи-
мосвязи между несколькими входными независимыми переменными и одной
выходной зависимой переменной.
Математически модель множественной линейной регрессии представля-
ется уравнением вида:
V = + (О,х. + 69,X, + ...+ (О ,Х , = О)-. + V X CD ,
* О I Z Z а а О
у — предсказание модели (выходная зависимая переменная), х(,хг,...,х^ —
набор признаков (входные независимые переменные), соъ,<о},шг.wd — пара-
метры модели (веса) или коэффициенты регрессии.
Обучить линейную регрессшо — значит найти веса .
Рассмотрим задач}’ по предсказанию стоимости квартиры.
Фрагмент данных представлен в табл. 1.
Обучающая выборка — это вся таблица
Каждая строчка таблицы — это объект, у которого есть 5 признаков:
площадь квартиры, количество комнат, этаж, год постройки и расстоягше до
центра.
Цена квартиры, которую мы хотим прогнозировать, —это у .
Таблица 1
Фрагмент данных
Признаки объекта Целевая переменная, когорт то прогнозируем
Объ- екты хг хз х± Х5 У
№ Площадь, кв. м Количество комнат Этаж Год постройки Расстояние до центра, км Цена квартиры, млн руб.
1 78 3 11 2009 1.5 8,5
> 95 3 4 2023 0.7 14
3 54 2 7 2018 1 6,7
4 60 2 10 2023 4 7,3
*• •
99 34 1 1 2000 2 4,7
101) 65 2 3 2020 5 7,2
2. Полиномиальная регрессия (рис. 4.2) является формой регрессион-
ного анализа, в которой взаимосвязь между независимой переменной .г и зави-
симой переменной у моделируется с помощью полинома и-й степени от х:
. 2 п
у = -I- а)ух н- а>гх + ... + а> к .
Она позволяет моделировать нелинейные, более сложные взаимосвязи
между переменными, в отличие от простой линейной регрессии.
Па рис. 4.2 представлена полиномиальная зависимость длительности по-
ездки от текущего времени суток.
= оо soo ахи аоо Ц.ео гтио am* ijao
Рис. 4.2. Полиномиальная зависимость длительности поездки
от текущего времени суток
4.3. МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ РЕГРЕССИИ
Ключевым шагом является процесс обучения модели, т.е. нахождение
подходящего набора параметров модели.
При обучении регрессии используются:
1. Метод наименьших квадратов (МИК), основанный на минимизации
суммы квадратов разниц между фактическими и прогнозируемыми значениями
зависимой переменной.
2. Метод градиентного спуска, являющийся итерационным методом оп-
тимизации, который постепенно корректирует параметры, двигаясь в направле-
нии наискорейшего снижения функции потерь. Используется в тех ситуациях,
где аналитические решения получить сложно или невозможно. Данный метод
реализуется в двух вариациях: стохастический и пакетный спуск.
3. Регуляризация, которая применяется для борьбы с переобучением мо-
дели. Наиболее распространенными методами регуляризации являются Ridge
(фебневая) и Lasso regression (лассо), которые добавляют штраф за сложность
модели к функции потерь.
4. Ансамбли моделей, такие как бэггинг, бустинг.
5. Метод k-ближайших соседей.
Выбор метода зависит от размера данных, нелинейности отношений,
настройки параметров, вычислительных ресурсов и требований к интерпрети-
руемости модели. На практике часто применяется комбинация различных ме-
тодов через ансамблирование.
4.4. МЕТРИКИ КАЧЕСТВА ДЛЯ ЗАДАЧИ РЕГРЕССИИ
Метрики качества —это количественные меры, используемые для оценки
качества регрессионной модели.
Как известно, при построении предиктивных моделей данные выборки
делятся па обучающую и тестовую выборки.
Модель предсказания строится на основе объектов обучающей выборки, а
ее качество затем проверяется на объектах тестовой выборки.
Предположим, что по обучающей выборке мы обучили модель предска-
зывать целевой признак у , например спрос на товар в течение следующей не-
дели в точке продаж.
Для опенки качества этой модели необходимо составить таблицу, состоя-
щую из двух столбцов. Это реальные (фактические) и предсказанные значения.
В табл. 2 записываем предсказания, сделанные моделью для тестовых
объектов, и соответствующие реатьные значения.
Для простоты рассмотрим пример с пятью тестовыми объектами (пять
строк таблицы).
На практике тестовые выборки, как правило, гораздо больше и могут со-
держать тысячи или даже миллионы объектов.
Таблица 2
<Dpai мен г данных
Номер товара Значение из выборки — сколько единиц товара в реальности потребовалось (тысяч единиц) Предсказанное значение (тысяч единиц)
1 22 20
2 17 21
3 16 14
4 1« 20
5 22 21
Рассмотрим часто используемые метрики.
1. Средняя абсолют ная ошибка {Mean Absolute Error — МАЕ)'
1 я
МА Е - —V |.У _ — 5\ |
>, — фактическое (реальное) значение /-го объекта, у — предсказанное моде-
лью значение /-го объекта, п — число объектов.
Для вычисления ошибки необходимо найти сумму абсолютных разниц
между фактическим!г и предсказанными значениями для всех объектов в наборе
данных и полученную сумму поделить на общее количество объектов.
Преимущества МАЕ:
— просто интерпретируется и легко понимается,
- устойчива к выбросам в данных;
- имеет ту же размерность, что и исходные данные.
Недостатки МАЕ:
— не учитывает направление ошибки;
- менее чувствительна к большим отклонениям.
Для нашего примера, получаем:
|з 2 - 2 01 + |1 7 - 2 11 + |l 6 — 14 |-t- |1 8 — 2 01 + |? 2 - 2 11 2+4+2+2+1 11
А/ А ZT — — ~ ~= 2 ч 2.
5 5 5
В нашем примере алгоритм в среднем ошибается на 2,2 тысячи единиц.
2. Среднеквадратичная ошибка (Mean Squared Error— MSE):
1 " 2
WJE = —У (v. - j.) .
« i-1
Для вычисления ошибки необходимо найти сумму квадрат а разниц меж-
ду фактическими и предсказанными значениями для всех объектов в наборе
данных и полученную сумму поделить на общее количество объектов.
Для того чтобы ретрессионная модель считалась качественной и эффек-
тивной, значение среднеквадратичной ошибки MSE должно быть как можно
меньшим.
Преимущества MSE:
- используется как функция потерь;
- простота вычислений:
- позволяет накладывать большие штрафы за сильные отклонения.
Недостатки MSE:
- трудность интерпретации, связанная с квадратичной зависимостью;
- чувствительность к выбросам в данных, поскольку MSE возводит
ошибки в квадрат.
В нашем примере получаем:
(22 - 20) ь (17 - 21)‘ + (16 - 14)‘ + (18 - 20)’ + (22 - 21)
М SE = -----------------------------------------------=
5
2: + 4 2 + 22 + 2? + I2 4 + 16+4 + 4 + 1 29
= ------------------ -------------- --=5,8.
5 5 5
3. Корень из среднеквадратичной ошибки (Root Mean Squared
Error — RMSE):
I 1 n
RMSE = у/м SE = — У (у. - у ) .
V i.i
Для нашего примера получаем:
RMSE = у/mSE = -fijs ® 2,41 .
Преимущества RMSE:
- простота интерпретации, поскольку измеряется в тех же единицах, что
и целевая переменная.
Недостатки RAISE:
- чувствительна к выбросам в данных.
Простое рассмотрение рассчитанных метрик, таких как МАЕ, MSE и
RMSE, само по себе не позволяет сделать вывод о том, яв.11яется ли модель хо-
рошей или плохой. Оценка модели должна основываться не только на стати-
стических метриках, но и на понимании специфики прикладной области, в ко-
торой используется эта модель.
Для получения ошибки в процентном выражении («алгоритм в среднем
ошибается на X процентов»), а не в абсолютных единицах, можно применять
нормированные метрики.
4. Средняя абсолютная процентная ошибка (Mean Absolute Percentage
Error — МАРЕ) вычисляется путем усреднения абсолютных значений ошибок,
деленных на фактическое значение целевой переменной:
1 оо п
маре ----£
Л
Ошибка измеряется как в долях, так и в процентах.
Преимущества МАРЕ:
- просто интерпретируется, поскольку является безразмерной величиной
и не зависит от предметной области.
Недостатки МАРЕ:
- неприменима для наблюдений, в которых значения выходной перемен-
ной равны или близки к нулю.
Рассчитаем МАРЕ, используя данные из таблицы:
1 0 0
МА РЕ = ------
5
22 - 20
17-21
16-14
'8-20
22
22-21
20
= 20 •
2 4
---4 ----+
22 17
1 7
2
----+.
16
20 0,6123 ~ 12,25%.
1 6
1 8
Таким образом, средняя абсолютная процентная ошибка для нашего при-
мера составляет 12,25 %. Это означает, что в среднем прогнозные значения от-
клоняются от реальных значений на 12,25 %.
Важно осознавать, что в машинном обучении нс существует идеальных
безошибочных алгоритмов. Это связано с самой сущностью этой области, ко-
торая позволяет делать только приблизительные предсказания.
Выбор допустимого значения ошибки определяется заказчиком исходя из
его требований к точности. Например, если заказчик указывает, что максималь-
но допустимая средняя абсолютная процентная ошибка (МАРЕ) на тестовой
выборке должна быть не более 20 %, то это и будет целевым ориентиром для
разработчика модели.
Если после обучения модели МАРЕ оказывается больше 20 %, то есть
два основных пути действия:
- попытаться настроить алгоритм обучения модели лучше, чтобы улуч-
шить качество прогнозов;
- собрать больше обучающих данных, чтобы модель могла лучше обу-
читься на данных.
5. Коэффициент детерминации r 2:
л
V (х - Л)2
я2 = 1 - ,
л
т (у, - 7)г
<-]
л
7 = £ > — среднее значение.
1» 1
Он показывает долю дисперсии зависимой переменной, которая объясня-
ется предсказанными значениями регрессионной модели.
Значения коэффициента детерминации варьирую от -со до 1.
Если он принимает значение, равное 1, то это идеальный случай, когда
модель полностью объясняет изменчивость зависимой переменной.
Если коэффициент детерминации равен 0, то линейная связь между пере-
менными в регрессионной модели отсутствует.
На практике чем ближе коэффициент детерминации к 1, тем выше значи-
мость модели и ее способность объяснять данные.
Значения, близкие к 0, говорят о низкой значимости модели.
Отрицательные значения коэффициента детерминации возможны, когда
сумма квадратов отклонений фактических данных от среднего значения стано-
вится меньше суммы квадратов отклонений между фактическими и предска-
занными значениями.
Принято использовать следующую шкалу оценок:
- если r >= о.5 , то модель считается удовлетворительной;
- если к > 0.8, то модель рассматривается как очень хорошая;
- если к < 0.5 , то модель считается плохой.
Преимущества R :
— просто интерпретируется.
Недостатки R :
— увеличивается при включении в модель бесполезных переменных;
- плохо работает. когда входные переменные являются зависимыми.
Рассчитаем коэффициент детерминации для нашего примера.
1. Сначала рассчитаем среднее значение:
- У, + Уг + У3 + У4 + ys
У = ----------------------------
5
22 + 17 + 16 + 18+22 95
-----------------= ---=19.
5 5
2. Рассчитаем отклонения (столбцы 1, 3) и квадраты отклонений (столб-
цы 2,4) (табл. 3):
Таблица 3
Результаты расчета коэффициента детерминации
Исходные данные 1 2 3 4
№ Г, yt У. ~ У. - л)2 у< - У (з\- ”)2
1 22 20 22 - 20 - 2 4 22- 19 = 3 9
2 17 21 17-21 =-4 16 17- 19 =-2 4
3 16 14 16- 14 = —2 4 16- 19=-3 9
4 18 20 18-20 =-2 4 18- 19=-1 1
5 22 21 22-21 = 1 1 22- 19 = 3 9
Сумма 29 32
3. Вычисляем суммы квадратов отклонений:
V ( у — v ) = 4 + 16+4 + 4 + 1 = 29,
i-J
У(> -7) =9 + 4 + 9 + 1 + 9 = 32.
4. По формуле получаем:
V (л-Л)г
7?2 = 1 - ------
ЕЬ.- ~)г
29
= 1 - --« 0,09.
32
Поскольку коэффициент близок к нулю, то линейная регрессионная мо-
дель плохо описывает связь между переменными.
Как видим, нет универсальной метрики, которая бы отвечала всем требо-
ваниям, поэтому не стоит зацикливаться на одной оценке качества, а нужно
проводить комплексный анализ модели.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1. Что такое задача регрессии?
2. В каких областях применяются регрессионные модели?
3. Каково историческое происхождение регрессионного анализа?
4. Приведите примеры задачи регрессии из реальной жизни.
5. Дайте формальную постановку задачи регрессии.
6. Какая функция используется для оценки близости предсказания к ис-
тинному значению в задаче регрессии?
7. Какие основные типы регрессионных алгоритмов существуют?
8. В чем разница между парной и множественной линейной регрессией?
9. Как выбирается алгоритм для решения задачи регрессии?
10. В чем преимущества полиномиальной регрессии?
11. Какие методы решения задачи регрессии существуют?
12. В каких случаях используется метод 1радиентного спуска?
13. Какие методы регуляризации существуют и для чего они нужны?
14. Что такое метрики качества?
15. Какие метрики используются для оценки качества регрессионной мо-
дели'?
16. Как рассчитывается средняя абсолютная ошибка (МАЕ), в чем ее пре-
имущества?
17. Как рассчитывается среднеквадратичная ошибка (MSE), в чем ее пре-
имущества и недостатки?
18. Как рассчитывается корень из среднеквадратичной ошибки (RMSE), в
чем его преимущества и недостатки?
19. Как оценивается качество модели на основе метрик МАЕ. MSE,
RMSE?
20. Для чего используется нормированная метрика «средняя абсолютная
процентная ошибка» (МАРЕ)? Ее преимущества и недостатки.
21. Что такое коэффициент детерминации и как его интерпретировать ?
22. Из-за чего коэффициент детерминации может быть отрицательным?
23. Как понять, что модель недостаточно точно описывает данные и тре-
буется ее улучшение?
24. Дана таблица, содержащая данные о продажах мороженого в мага-
зине, включающая такие признаки, как время года, температура воздуха и дру-
гие метеорологические признаки. В этой таблице также содержатся значения
фактического и предсказанного объема продаж за 10 дней.
№ Дата Время года Температура воздуха (°C) Фактический объем продаж (литры) Предсказанный объем продаж (литры)
1 01 06.2024 Лето 28 50 45
2 02.06.2024 Лето 25 42 40
3 06.07.2024 Лето 30 55 50
4 07.07.2024 Лето 28 52 48
5 03 09.2024 Осень 20 35 30
6 0409.2024 Осень 15 20 25
7 09 09 2024 Осень 22 38 32
8 10 09.2024 Осень 18 25 28
9 05.12.2024 Зима 10 22 20
10 06.12.2024 Зима 5 18 15
Вычислите все необходимые метрики для оценки качества модели:
- средняя абсолютная ошибка (MAF);
- среднеквадратичная ошибка (MSE);
- корень из среднеквадратичной ошибки (RMSE);
- средняя абсолютная процентная ошибка (МАРЕ);
- коэффициент детерминации (R2).
Сделайте выводы о применимости модели и предложите улучшения, если
это необходимо.
25. Дана таблица, содержащая данные о времени выполнения программ-
ного кода, включающая такие признаки, как язык программирования, слож-
ность алгоритма, объем данных и другие технические характеристики.
№ Язык программирования Сложность алгоритма (баллы) Объем данных (МБ) Фактическое время выполнения (с) Предсказанное время выполнения (с)
1 Python 5 100 4 5
2 C++ 8 200 9 11
3 Java 6 150 6 8
4 Python 3 50 3 2
5 с++ 7 180 8 10
6 Java 4 80 5 3
7 Python 2 20 2 1
8 C++ 9 250 И 13
9 Java 5 120 7 5
10 Python 1 10 1 0 5
Вычислите все необходимые метрики для оценки качества модели, сде-
лайте выводы о применимости модели и предложите улучшения, если это
необходимо.
26. Вы являетесь научным сотрудником лаборатории, занимающейся ис-
следованием скорости химической реакции. Ваша команда собрала данные о
времени протекания реакции в зависимости от температуры, концентрации и
давления. Вам необходимо проанализировать полученные данные и оцепить
точность модели, которая предсказывает время химической реакции.
Вычислите все необходимые метрики для оценки качества модели, сде-
лайте выводы о применимости модели и предложите улучшения, если это
необходимо.
Какие еще параметры, кроме температуры, концентрации и давления, мо-
гут влиять на скорость химической реакции?
№ Температура (°C) Концентрация (моль/л) Давление (атм.) Фактическое время реакции (мин.) Предсказанное время реакции (мин.)
I 25 0 5 1.0 10 12
2 30 0.8 1.2 8 9
3 35 1 0 1.5 6 7
4 40 1.2 1.8 5 6
5 45 1.4 2.0 4 5
6 50 16 2.2 3 4
7 55 1.8 2.4 2 3
8 60 2.0 2.6 1 2
9 65 2.2 2.8 0.5 1
10 70 2.4 3 0 0 25 0.5
ТЕМА 5. ЗАДАЧА КЛАСТЕРИЗАЦИИ
5.1. ПОСТАНОВКА ЗАДАЧИ КЛАСТЕРИЗАЦИИ
Задача кластеризации заключается в разделении исследуемого набора
объектов на группы (кластеры) таким образом, чтобы объекты внутри одного
класса были максимально похожими, а объекты из разных кластеров макси-
мально отличались.
Процесс разбиения данных на кластеры часто называют кластерным ана-
лизом.
Каждый кластер формируется на основе определенных критериев. Это мо-
гут быт ь любые характеристики объектов: размер, форма, цвет , категория, вид.
Кластеризация применима в самых разных областях, где требуется иссле-
дование экспериментальных или статистических данных. Главное условие для
успешной кластеризации — наличие общих объединяющих признаков в изуча-
емых объектах. Без этого разбиение данных на кластеры будет невозможным.
Па первый взгляд может показаться, что кластеризация похожа на клас-
сификацию. Давайте рассмотрим их более подробно. При классификации име-
ется заранее предопределенный набор классов, к которому нужно отнести объ-
екты. Модель обучается на размеченных примерах, где каждому объекту при-
своен определенный класс. После обучения классификатор может предсказать
класс для новых неразмеченных объектов.
При кластеризации набор классов заранее неизвестен. Алгоритмы класте-
ризации пытаются самостоятельно распределить объекты в кластеры па основе
внутреннего сходства между объектами но различным признакам.
Таким образом, в случае классификации имеется обучающая выборка с
размеченными классами, а задача состоит в присвоении новым объектам одно-
го из известных классов. В случае кластеризации изначально нет размеченных
данных, и алгоритм пытается самостоятельно выявить скрытые группы похо-
жих объектов
Далее рассмотрим формальную постановку задачи кластеризации.
Пусть X — множество объектов. Y — множество номеров (имен, меток)
кластеров.
Имеется конечная обучающая выборка из п объектов {х|,*г,....хп} с X ,
где каждый объект х описывается d признаками, т. е. х. = (х, ,,х 2,...,х d‘
Задана метрика или функция расстояния р (х , х ) между объектами х и х .
Основная цель задачи кластеризации — нужно разбить выборку на к не-
пересекающихся подмножеств { у,, у2,..., vj с Y , называемых кластерами, так,
чтобы каждый кластер состоял из объектов, близких по метрике р, а объекты
разных кластеров существенно отличались. При этом каждому объекту припи-
сывается номер кластера, к которому он принадлежит.
Таким образом, должны быть выполнены дна основных критерия
(рис. 5.1):
1. Внутренний критерий (внутриклассовая компактность): объекты
втгутри одного кластера должны быть похожими друг на друга.
2. Внешний критерий (межкластерное расстояние): объекты, принадле-
жащие разным кластерам, должны отличаться друг от друга
Рис. 5.1. Пример разбиения на кластеры
Алгоритм кластеризации — это функция / х -> y\ которая любому
объекту' ставит в соответствие номер кластера. Множество Y в некоторых слу-
чаях известно заранее, однако чаще ставится задача определить оптимальное
число кластеров с точки зрения того или иного критерия качества кластеризащш
Пример работы алгоритма кластеризации представлен в табл. 1. Меток
кластера в обучающей выборке не было, алгоритм разработал правило для раз-
биения объектов на кластеры.
Более того, существуют различные постановки задачи кластеризации:
жесткая (hard), мягкая (soft) и иерархическая.
Таблица 1
Пример работы алгоритма
Входные признаки объекюв Результат кластеризации
№ объекта *1 пол (0 — жен: 1 — муж) Хг возраст хз количество детей х. Средний ДОХОД Метка кластера
1 0 26 0 90 000 1
2 1 32 1 63 000 2
3 1 29 0 85 000 1
4 0 36 2 70 000 2
5 1 40 1 68 000 2
В случае мягкой кластеризации результатом работы алгоритма для каж-
дого объекта становится не конкретная метка кластера, а набор вероятностей
принадлежности этого объекта к каждому* из кластеров. Более того, можно все-
гда перейти от мягкой к жесткой кластеризации, взяв в качестве метки кластера
индекс кластера с максимальной вероятностью.
Пример работы алгоритма мягкой кластеризации приведен в табл. 2.
Таблица 2
Пример работы алгоритма мягкой кластеризации
Входные признаки объектов Мягкая кластеризация р — вероят ПОСТЕ Жесткая кластери заиня
№ *1 пол (0- жен; 1 — муж) хг возраез хз кол-во детей средний доход р е 1-му кластеру р е 2-му кластеру Жесткая метка кластера
1 0 26 0 90000 0,89 0,11 1
э 4* 1 32 1 63000 0,19 0,81 2
3 1 29 0 85000 0,8 0,2 1
4 о’ 36 2 700(H) 0,21 0,70 2
5 1 40 1 68000 0,12 0,88 2
Другой способ создать более гибкую модель кластеризации — иерархи-
ческая кластеризация
В иерархической кластеризации объекты организуются в иерархическую
структуру, называемую дендрограммой, или кластерным деревом (рис. 5.2).
Рис. 5 2. Дендрограмма
Это дерево визуализирует, как кластеры объединяются (агломеративный
подход) или разделяются (дивизивный подход) на разных уровнях сходства
между объектами.
Под горизонтальной осью подписаны номера объектов, по вертикали от-
ложены расстояния между кластерами в момент слияния.
Преимущество иерархических методов заключается в том. что не требу-
ется заранее задавать число кластеров. Дендротрамма показывает вложенные
кластеры на разных уровнях иерархии, позволяя выбрать наиболее подходящий
уровень разбиения в соответствии с требованиями задачи.
5.2. ПРИМЕРЫ ЗАДАЧ КЛАСТЕРИЗАЦИИ
Возникает вопрос, где используется задача кластеризации
Рассмотрим первый пример из области маркетинга, в котором данная
задача называется сегментацией.
Основная идея сегментации заключается в том, что все потребители раз-
личаются между собой. У них разные потребности, разные запросы к товару и
разные модели поведения на всех этапах потребительского цикла — от выбора
повара до формирования отзыва о нем после использования. Поэтому нужен
дифференцированный подход к работе с разными группами потребителей.
Необходимо предлагать им товары с различными характеристиками, использо-
вать разные стратегии продвижения и продаж.
Чтобы выявить эти различия между потребителями и понять, как они
влияют на требования к товарам, и проводится сегментация рынка. Ее цель —
разделить совокупность потребителей на однородные труппы (сегменты) на ос-
нове общих признаков, потребностей и моделей поведения. Это позволяет ком-
паниям лучше удовлетворять запросы каждого сегмента и более эффективно
взаимодействовать с ними.
Возьмем, например, крупный гипермаркет. Потребителей можно раз-
делить на следующие группы:
- семейный кластер, в котором клиенты покупают товары для дома и детей;
- спортивный кластер, в котором клиенты берут спортивные товары и
спортивное питание;
- кластер садоводов.
Разделив покупателей на такие кластеры, гипермаркет сможет гораздо
более адресно и точечно проводить рекламные кампании и акции. Например,
при акциях на спортивные товары рассылать уведомления только спортивному
кластеру.
Также кластеризация активно используется в социальных сетях и плат-
формах. Основная цель такой кластеризации — группировка аудитории по об-
щим интересам, предпочтениям и моделям поведения. Во-первых, это позволя-
ет более персонализированно подбирать контент для каждого кластера: соот-
ветствующее видео, изображения, новостную ленту'. Таким образом, поль-
зователям предлагается максимально релевантное для них содержание, что
стимулирует их проводить больше времени в приложении. Во-вторых, крайне
важно эффективно настраивать таргетировашгую рекламу, чтобы опа была бо-
лее точечной и нацеленной строго на востребованные сегменты.
Смартфоны также активно используют технологию кластерного анализа
для структурирования и группировки различного пользовательского контента.
Они могут распределять фотографии по разным папкам, например, в зависимо-
сти от даты снимка или геолокационных меток GPS, указывающих место съе-
мок. Кроме того, приложения iPhoto или Google Photos могуч идентифициро-
вать людей на фотографиях и группировать снимки с одними и теми же лицами
в отдельные альбомы. При этом приложение не знает, как зовут ваших друзей,
но может отличить их но характерным чертам лица.
Другой пример применения методов кластеризации — анализ геодан-
ных. Например, они могут помочь разделить географическую область на раз-
личные зоны на основе различных критериев, таких как плотность населения,
уровень доходов, средний возраст жителей и другие параметры. Это может
быть полезно для планирования городского развития, определения мест д.гя
строительства новых объектов инфраструктуры и других задач.
В биологии методы кластеризации применяются для группировки раз-
личных видов животных или растений на основе общих характеристик, кото-
рыми обладают отдельные представители этих групп. Эти алгоритмы также
широко используются в генетических исследованиях, включая аннотацию ге-
номов и изучение эволюции.
В области кибербезопасности кластеризация данных применяется
Оля различных задач:
1. Кластеризация сетевого графика, логов системы и других данных по-
могает выявлять необычные паттерны, которые могут указывать на кибератаки
или вторжения.
2. Кластеризация вредоносных программ на основе их сигнатур, призна-
ков и поведенческих паттернов позволяет автоматически обнаруживать и клас-
сифицировать новые виды угроз
Алгоритмы кластерного анализа помогают специалистам по кибербез-
опасности эффективно обнаруживать аномалии, систематизировать угрозы,
своевременно реагировать на инциденты и оптимизировать управление уязви-
мостями в масштабах всей ИТ-инфраструктуры.
Таким образом, кластеризация — это универсальный инструмент иссле-
дования данных, который может применяться во многих предметных областях.
В кластеризации мы не предсказываем значения или классы, а лишь
группируем имеющиеся объекты на основе их сходных признаков и характери-
стик. Этот подход помогает выявить внутреннюю структуру и закономерности
в наборе данных, что, в свою очередь, позволяет более эффективно работать с
этими данными в дальнейших задачах.
В заключение .можно выделить следующие основные цели и задачи
применения кластеризации Оаниых:
1 Упрощение датьнейшей обработки данных за счет разбиения множе-
ства объектов на группы схожих элементов. Это позволяет работать с каждой
ipynnoii (кластером) отдельно при решении задач классификации, регрессии,
прогнозирования и т.д.
2. Сокращение объема хранимых данных путем оставления только одного
представителя от каждого кластера. Кластеризация используется для задач сжа-
тия и уменьшения избыточности данных.
3. Выявление нетипичных, аномальных объектов, которые существенно
отличаются от всех остальных и не подходят ни к одному из сформированных
кластеров. Это важно для задач обнаружешгя аномалий и одноклассовой клас-
сификации.
4. Построение иерархической структуры для упорядочивания множества
объектов на основе их сходства. Результаты кластеризации применяются в за-
дачах таксономии и категоризации.
5.3. РАССТОЯНИЯ МЕЖДУ ОБЪЕКТАМИ
В постановке задачи кластеризации говорили про расстояние между объ-
ектами Возникает вопрос. Как его рассчитывать?
Пусть у нас есть две точки — X. У — с координатами (х,, ,
(. ) соответственно
При определении расстояния .между объектами можно использовать раз-
личные метрики в зависимости от задачи и типа данных:
1. Евклидово расстояние определяется как корень квадратный из сум-
мы квадратов разности координат:
L2 = - г,)' + (*> - тг)’ + •••+ (*» - у j’ = JX (*; - -V. )’•
V ,=1
В двумерном пространстве искомым расстоянием будет гипотенуза в
прямоугольном треугольнике (рис. 5.3),
Л» nJ
Рис. 5.3. Евклидово расстояние
Рассмотрим пример кластеризации заемщиков банка, используя при-
знаки «Возраст» и «Среднемесячный доход», а также метку класса «Вернул
кредит» с возможными значениями «Да», «Нет». Данные представлены в
габл. 3.
Таблица 3
Фра! мен г данных
№ заемщика Возраст (лет) Доход (тыс. руб.) Вернул кредит Расс гом ине
1 30 30 Нет 11,18
2 30 60 Да 20.62
3 35 25 Нет 15
4 40 50 Да 11,18
5 (новым) 35 40 •
На рис. 5.4 заемщики, которые не вернули кредит, обозначены красными
кругами, а те, кто вернул кредит. — зелеными кругами. Голубым квадратом от-
мечен новый заемщик, который будет классифицироваться на основе данных о
предыдущих клиентах.
м ju » Ад 45
ВО'фАГР. ВОТ
Рис. 5.4. Графическое представление данных
Рассчитаем расстояния между классифицируемыми заемщиками и новым
заемщиком:
Х. = (л,,х2) = (ЗО,ЗО), Г = (?,,Ъ) = (35,40);
Х2 = (х„гг) = (30,60), Г= (.v,,.V2) = (35,40);
р ( 2’5) = - V. )’ + (*г - у2) =
= ^(30 - 35) + (60 - 4 0 = 7s + 20' = 7^2 5 « 2 0,62.
Х3 = (л,,л2) = ( 35,25), Г=(у,,Ъ) = (35,40);
Р ( 3 ’ 5 ) = V(X| " + (Х2 - З',) =
= ^(35 - 35): 4- (25 - 40) = 7^" =15.
*. = (^2) = (40,50), У = (У],^)=(35,40);
р (4’ 5) = 7(Х’ ~ + (Х2 - У г)г
= ^(40 - 35 )? + (50 - 40 )' = 7зг + 1 О2 = 1 1,1 8
2. Манхэттенское расстояние определяется как сумма абсолютных
значений разностей соответствующих координат
т
Лг = p(.Y ,Г )= |х, _7||+|г2_ ?2|+...+ |^ - VJ=£ |v - J. |.
(=1
Эта метрика так называется, потому что она напоминает путь, который
надо проделать, двигаясь только строго вертикально или горизонтально по
улицам города, как на острове Манхэттен в Нью-Йорке (рис. 5.5).
Рис. 5.5. Манхэттенское расстояште
Для нашего примера:
р(1.5)= |х, - >,|+|лг - уг| - |.ЗО-35| + |зО-4о|=15;
р (2.5) = |л-, - л|+ к - -vj= |30 - 35| + |б(> - 4о| = 25 ;
Р (3,5) = |х, - у, | . |лг - у2| = |з 5 - 35|ч |25 - 4о|= 1 5 ;
y?(4,5)~k - jJ+k - Ъ|= |40- 35|+ |5 0 -40|= 15.
3. Расстояние Чебышева определяется как максимум из абсолютных
значений разностей соответствующих координат:
= /’(А'.У ) = max k - у,
Эта метрика получила свое название в честь русского математика Пафну-
тия Чебышева. Она широко применяется в различных областях, включая ком-
пьютерную графику, обработку изображений, кластеризацию данных, теорию
шр и задачи оптимизации.
Для нашего примера:
р (1,5 ) = тг. ах (|х, — У) ||л2 _ У21) ~ m ах (к _ 3 5|.|з0 - 40 |) = ш ах ( 5,1 0) = 1 0
р (2,5) = max (|х, - у,|;|хг - у2|)= таи (|ЗО “ 35|;|б0 * 40|)« тах(5;20) = 20 ;
р (3,5 ) - т ах (|х( — У, |; к ~ У J) = п'- ах (|з5 — 3 51: 25 - 40 ) - т ах (0; 1 5 ) = 15 ;
X?(4,5) = max(|xJ- yj; |хг — у2|)= т ах (|40 — 3 5 |50 — 4 01) = тах(5;10) = 10 .
4. Расстояние Минковского вычисляется но формуле:
У ) = " ^«) + + -+ " *-)* = {/X (*< - Р - 1
У t»i
При р - 1 получаем манхэттенское расстояние, а при р = 2 — евклидово
расстояние.
Таким образом, расстояние Минковского является обобщающей концеп-
цией, включающей в себя различные метрики в качестве частных случаев. Вы-
бор значения р зависит от специфики задачи и свойств данных.
Как правило, по умолчанию метрикой расстояния является евклидова
метрика. Однако в различных задачах, особенно при анализе категориальных
переменных, другие метрики могут проявлять себя лучше.
Кроме тою. необходимо помнить о стандартизации или нормализации
данных при использовании метрик расстояния. Иначе результаты вычисления
метрик могут быть некорректными, если используются данные, измеряемые в
разных диапазонах.
5.4. МЕТОДЫ КЛАСТЕРИЗАЦИИ
Единой классификации методов кластеризации данных в данный момент
не существует, но методы можно сгруппировать но категориям, используя раз-
личные признаки и свойства.
1. Вероятностный подход. В нем предполагается, что каждый анализи-
руемый объект пр1шадлежит к одному из к заранее определенных кластеров
(классов). К нему относятся следующие методы: метод k-средних, метод к-
медиан, алгоритмы семейства FOREL. ЕМ-алгоритм. дискриминантный анализ.
Рассмотрим некоторые из них.
Метод k-средних (с англ, к means') является одним из самых популярных
и широко применяемых алгоритмов кластеризации.
Его основная цель заключается в разделении множества из т наблюдений
(объектов данных) на к кластеров таким образом, чтобы каждое наблюдение
было отнесено к тому кластеру, центр которого находится ближе всего к этому'
наблюдению. Центр кластера называется центроидом.
Метод k-средних был разработан в 1950-х годах независимо друг от друга
двумя учеными — I уго Штейнгаузом и Стюартом Ллойдом. Именно публика-
ция Джеймса Маккуина в 1967 году сделала этог метод широко известным и
применяемым в различных областях науки и техники: от сегментации рынка и
компьютерного зрения до астрономии и многих других сфер. Кроме того, он
часто используется в качестве этапа предвари тельной обработки данных для
инициализации начальной конфигурации кластеров в других, более сложных,
алгоритмах кластерного анализа.
Метод к-средних состоит из следующих шагов:
1. Определение числа кластеров к: нужно определить, сколько класте-
ров хотим создать. Это можно сделать на основе предварительных знаний о
данных или путем экспериментирования с различными значениями к.
2. Инициализация центроидов: выбираем к точек в качестве начальных
центров (центроидов). Существуют различные подходы к определению этих
начальных центроидов, например, можно выбрать случайные точки из имею-
щихся данных пли точки, максимально удаленные друг от друга.
3. Распределение объектов по кластерам: необходимо рассчитать рас-
стояние между' каждым объектом и каждым текущим центроидом. Затем каж-
дый объект относят к тому кластеру, ценгроид которого находится ближе всею
к данному' объекту'.
4. Обновление центроидов: для каждого кластера вычисляется новый
центр кластеров как среднее арифметическое значение всех объектов, входя-
щих в этот кластер.
5. Повторение шагов 3 и 4 происходит до тех пор. пока центроиды кла-
стеров не перестанут значительно изменяться или не будет достигнуто опреде-
ленное количество итераций.
После завершения алгоритма получаем к кластеров, каждый из которых
содержит объекты, которые близки друг к друту в многомерном пространстве.
Основными преимуществами к-средних являются:
- скорость и простота реализации;
- эффективность па больших наборах данных;
- возможность работать со сложными формами и размерами данных.
К недостаткам относят:
- чувствительность к выбросам в данных;
- необходимость задавать число кластеров к. что требует предваритель-
ных знаний о структуре данных;
- зависимость от начальных центров.
Предположим, у нас имеется набор данных, состоящий из 16 объектов
После нормализации имеем следующие данные, которые представлены в
табл. 4.
Таблица 4
Набор данных
КоордннЭ1ы oGbeKia
№ объекта X У
1 1 1
2 1 9
3 1 7
4 2 10
5 2 8
6 3 3
7 4 8
8 5 6
9 5 10
10 6 3
11 6 8
12 7 8
13 7 1.1
14 8 4
15 9 9
16 10 4
Проведем кластеризацию, используя алгоритм к-средних:
1. Пусть число кластеров равно 3.
2. Выбираем случайным образом три точки в качестве начальных центро-
идов (рис. 5.6): А(2;3), й(9;7), С(4;12).
Рис 5.6 Графическое изображение объектов и центроидов
3. Рассчитываем евклидово расстояние между каждым объектом и каж-
дым центроидом (табл. 5), а затем добавляем объект к тому кластеру, чей цент-
роид находится ближе всего (рис. 5.7).
Таблица 5
Распределение объектов по кластерам
Исходные данные Расстояние от объекта но центра Номер кластера
№ объекта X у Г1 г2 гЗ
1 1 1 2,236068 10 11.40175 1
2 1 2 1,414214 9,433981 10,44031 1
3 1 7 4,123106 8 5,830952 1
4 9 10 7 7,615773 2,828427 3
5 2 8 5 7,071U68 4,472136 3
6 3 3 1 7,211103 9.055385 1
7 4 8 5,385165 5,09902 4 3
8 5 6 4,242641 4,123106 6.082763 2
9 5 10 7,615773 5 2,236068 3
10 6 3 4 5 9.219544 1
11 6 8 6.403124 3,162278 4.472136 2
12 7 8 7,071068 2,236068 5 2
13 7 11 9,433981 4,472136 3,162278 3
14 8 4 6,082763 3,162278 8,944272 2
15 9 9 9,219544 5.830952 2
16 10 4 8,062258 3,162278 10 2
Рис. 5.7. Распределение объектов по кластерам
Сумма квадратов расстояний между точками и центроидами их кластеров
составила 156.
4. Пересчитываем центры каждого кластера как среднее арифметическое
значение всех объектов, входящих в данный кластер.
<5 + 6 + 7+ 8 + 9 + 10 6+8+814+9+4^
--------------; -------------------- =(7,5; 6,5);
>4 - У, У|/
5
<2+2+445+7
10 + 8 + 8 + 10 + 11
5
= (4; 9.4 ).
5. Рассчитываем евклидово расстояние между каждым объектом и каж-
дым центроидом (табл. 6), а затем добавляем его к тому кластеру, чей центроид
находится ближе всего (рис. 5.8).
С умма квадратов расстояний между точками и центроидами их кластеров
составила 104,56.
Таблица 6
Распределение объектов по кластерам
Пехо тные дани ые Расстояние от объекта до ненгроида Помер кластера
№ объект а X У Г1 г2 гЗ
1 1 1 2,607681 8,514693 8,919641 1
+ 1 2 1,843909 7,905694 7,984986 1
3 1 7 4.049691 6,519202 3.841875 3
4 2 10 6,811755 6,519202 2.088061 3
5 2 8 4,816638 5,700877 2.441311 3
6 3 3 0,632456 5,700877 6,477654 1
7 4 8 5,059644 3,807887 1,4 3
Исходные данные Расстояние от объекта до центроида Номер
8 5 6 3,820995 2.54951 3.544009 2
9 5 10 7,28011 4,301163 1.16619 3
10 6 3 3,605551 3,807887 6,705222 1
11 6 8 6 2,12132 2,441311 2
12 7 8 6,648308 1,581139 3,310589 2
13 7 11 9,055385 4,527693 3,4 3
14 8 4 5,656854 2,54951 6.720119 2
15 9 9 8,786353 2,915476 5.015974 2
16 10 4 7,641989 3,535534 8.072174 2
Рис. 5 8, Распределение объектов по кластерам
6. Заново пересчитываем центры каждого кластера:
(/;/) = (2,75; 2,25); (лЛ / ) - (7,5; 6,5); (*’;/) = (3,5; 9).
7. Пересчитываем евклидово расстояние между каждым объектом и
каждым центроидом, а затем перераспределяем объекты по кластерам
(рис. 5.9).
Сумма квадратов расстояний между точками и центроидами их кластеров
составила 98.
Поскольку центроиды кластеров далее не изменяются, то кластеризация
считается завершившейся
Рис. 5.9. Распределение объектов по кластерам
Метод k-медиан является разновидностью метода ^-средних, где вместо
среднего значения используется медиана для определения центроидов кластеров.
Достоинствами метода к-медиан являются:
— устойчивость к выбросам и асимметрии данных, поскольку медиана
более стабильна при наличии аномальных значений;
- возможность работы с произвольными метриками расстояния.
Недостатками метода к-медиан являются:
- более медленная скорость сходимости по сравнению с к-средними;
- сложность вычисления медианы для многомерных данных, особенно
при больших размерах массивов.
Далее рассмотрим эффективный метод кластеризации для работы с боль-
шими массивами данных —ЕМ-алгоритм (с англ. Expectation-maximization).
В основе алгоритма лежит предположение, «по каждый объект может
принадлежать сразу всем кластерам, но с различной степенью вероятности. По-
сле выполнения ЕМ-алгоритма для каждого объекта формируются два допол-
нительных показателя: номер кластера и вероятность ею принадлежности к
кластеру. Объект относится к том}' кластеру, для которого значение вероятно-
сти является максимальным.
Основными преимуществами ЕМ-алгоритма являются:
- эффективность при работе с больными объемами даншлх;
- устойчивость к шумам и пропускам в данных,
- возможность построения желаемого числа кластеров;
- бысграя сходимость при удачной начальной инициализации.
Несмотря на имеющиеся преимущества, ЕМ-алгоритм также имеет
ряд недостатков:
- зависимость от начальных условий. Результаты кластеризации сильно
зависят от начальных значений параметров, задаваемых перед запуском алго-
ритма. Неудачная инициализация может привести к низкому качеству класте-
ризации:
- чувствительность к выбросам. Как и многие методы кластеризации,
ЕМ-алгоритм плохо работает с выбросами в данных, которые могут существен-
но исказить результаты;
- высокая вычислительная сложность. Особенно при обработке больших
объемов данных временная и вычислительная сложность ЕМ-алгорит.ма может
быть достаточно высокой, гребуя значительных ресурсов.
2. Весьма условная труппа — подходы, основанные на системах ис-
кусственного интеллекта. Методов огромное количество, но они все отлича-
ются друг от друга как с теоретической, так и практической точек зрения. Рас-
смотрим некоторые из них.
Метод нечеткой кластеризации С-средиих, известный также как fuzzy
clustering, soft k-means, c-means, является усовершенствованием популярного
метода ^-средних. В отличие от жесткого разбиения на непересекаюшиеся кла-
стеры, данный алгоритм позволяет отнести каждый объект к нескольким кла-
стерам с определенными степенями принадлежности. Алгоритм был разработан
Дж. К. Данном в 1973 год}', а в 1981 году усовершенствован Дж. К. Бездеком.
Нейронная сеть Кохонена является одним из видов нейронных сетей,
предназначенных для кластеризации и визуализации многомерных данных. Ее
особенностью является наличие специального слоя Кохонена, состоящего из
линейных формальных нейронов. Во время обучения нейронная сеть группиру-
ет входные объекты (данные с многомерными признаками) в кластеры на осно-
ве их сходства, т.е. па основе значений его признаков, которые попадают па
вход сети.
Рассмотрим, как работает сеть Кохонена на примере классификации
спортсменов по видам спорта. Предположим, что у нас есть набор данных о
спортсменах, включающий такие признаки, как рост, вес, время преодоления
дистанции и т.д. Если данные всех спортсменов подать на вход сети Кохонена,
то опа самостоятельно разделит их на определенное число групп или кластеров,
соблюдая два важных принципа:
- спортсмены внутри одного кластера должны быть максимально похожи
друг на друга по своим признакам;
- похожие кластеры должны располагаться на карге Кохонена близко
друг к другу.
В нашем примере все спортсмены, занимающиеся легкой атлетикой, ока-
жутся в одном кластере, а баскетболисты в другом. Однако по мере дальнейше-
тт) обучения сети на данных один из кластеров, содержащий легкоатлетов, мо-
жет разделиться, и из него выделятся такие группы, как бегуны, прыгуны, мно-
гоборцы. II согласно второму принципу, новые кластеры расположатся на карте
рядом с кластером легкоатлетов, но далеко от кластера баскетболистов.
Практическая ценность нейронной сети Кохонена заключается в том, что
она позволяет структурировать и группировать данные, когда традиционные
математические или аналитические методы не могут этого сделать. Механизм
работы сети Кохонена остается неизменным, независимо от характера исход-
ных данных.
Генетический алгоритм является одним из мощных средств для реше-
ния задач кластеризации. Он использует принципы эволюционной биологии и
генетики, такие как естественный отбор, мутации и скрещивание. Полезен в тех
случаях, когда традиционные методы кластерного анализа неэффективны или
когда возникают трудности с большими объемами данных, их высокой размер-
ностью или сложной структурой.
3. Теоретико-графовый подход. В рамках данного подхода исходные
данные представляются в виде графа G = ( V. Е), вершинами которого являются
объекты, а ребра между вершинами отражают степень близости или расстояние
между соответствующими объектами. Веса ребер определяются выбранной
метрикой расстояния.
Одним из преимуществ 1рафовото представления является его нагляд-
ность — кластеры можно визуализировать как группы тесно связанных вершин.
Кроме того, алгоритмы на графах относительно просты в реализации и
допускают различные усовершенствования, которые строятся на геометриче-
ских свойствах 1рафа.
Основными алгоритмами этого подхода являются:
- алгоритм выделения компонент связности;
- алгоритм построения минимального покрывающего (остовного) дерева;
- алгоритм послойной кластеризации.
4. Иерархический подход. В рамках этого подхода предполагается, что
данные организуются в виде вложенных трупп. Соответствующие алгоритмы
делятся на две основные категории агломера гивные (объединительные) и ди-
ви зивные (разделяющие).
Процесс агломеративных алгоритмов начинается с небольших кластеров,
обычно состоящих из одного объекта, и постепенно эти алгоритмы объединяют
их в более крупные кластеры (рис. 5.10).
Дивизпвные алгоритмы идут в противоположном направлении. Они
начинают работу с одного большого кластера, который затем делят на более
мелкие кластеры (рис. 5 11).
Рис. 5.10. Ахлимеративноя иерархическая кластеризация
Рис 5. U. Дивизивная иерархическая кластеризация
5. Методы, не вошедшие в предыдущие группы:
- статистические алгоритмы кластеризации;
- алгоритмы семейства KRAB;
- ансамбль кластеризаторов;
- алгоритм DBSCAN (с аю л. Density-based spatial clustering of applications
with noise).
Рассмотрим алгоритм DBSCAN. основанный на концепции плотности.
Главная пдея заключается в том. что кластеры представляют собой области вы-
сокой плотности точек данных, разделенные более разряженными областями.
Ьыл разработал Мартином Эстером и его коллегами в 1996 году.
В отличие от других алгоритмов кластеризации, DBSCAN не требует
предварительного задания количества кластеров. Вместо этого он использует
два ключевых параметра:
- радиус круга вокруг каждой точки данных;
- минимальное количество точек внутри этого круга, чтобы точка счита-
лась базовой.
Главной особенностью кластеризации DBSCAN является устойчивость к
выбросам. Точки, не входящие ни в один плотный кластер, классифицируются
как выбросы и не включаются в результаты кластеризации.
Также алгоритм способен находить кластеры произвольной формы, не
ограшпшваясь сферическими или эллипсоидальными.
Более того, DBSCAN, будучи мощным и гибким алгоритмом, все же об-
ладает существенными недостатками, которые необходимо учитывать при его
применении:
- высокая вычислительная сложность по сравнению с методом к-
средних;
- чувствительность к размерности пространства признаков.
5.5. МЕТРИКИ КАЧЕСТВА
Оценка качества результатов кластеризации представляет собой чрезвы-
чайно сложную задачу’, которую невозможно решить строго математическими
методами.
Существуют внешние и внутренние метрики качества кластеризации.
При использовании внешних метрик для оценки качества кластериза-
ции необходимо иметь дополнительную информацию о распределении объек-
тов по кластерам. Например, они Moiyi основываться на информации о том, как
объекты распределены между кластерами и сколько всего кластеров.
Сначала введем обозначения.
Дано множество 5, состоящее из п элементов.
Имеются разбиение данного множества на / истинных классов
а = {А,, а,,,.., а() и разбиение на к кластеров в = {в ,вг,. , лД , полученное с
помощью алгоритма кластеризации.
Соответствие между классами А и кластерами В можно представить в ви-
де таблицы, называемой таблицей сопряженности (табл. 7). В пей каждый эле-
мент я обозначает количество объектов, принадлежащих одновременно классу
а и кластеру в , то есть и = |д п в |
п а b — -
Пусть р.. = —, р = —, р . = —, i = l.Z, j = l.A.
« п п
Таблица 7
Таблица сопряженности
в ... Сумма
«и п12
а2 П2,
• ••
А1 П,2
Сумма Ь2 ь>. п
Также рассмотрим все возможные пары элементов из исходного множе-
ства А. Для них характерна одна из четырех ситуаций:
- ТР (истинно положительные) —количество пар, в которых оба элемен-
та отнесены к одному и тому же кластеру в результатах кластеризации и при-
надлежат одному и тому же классу в соответствии с истинным (заданным) раз-
биением;
- FP (ложно положительные) — количество пар, в которых элементы по-
пали в один кластер, но на самом деле относятся к разным классам согласно ис-
тинному разбиению;
- FN (ложно отрицательные) — количество пар, в которых элементы
оказались в разных кластерах, но при этом принадлежат одному и тому же
классу в истинном разбиении;
- TN (истинно отрицательные) — количество пар, в которых элементы
отнесены к разным кластерам и также принадлежат разным классам в соответ-
ствии с истинным разбиением.
Таким образом, подсчитав эти четыре значения — IP, FP, FN, TN — для
всех пар, получаем численные характеристики, которые затем используются
для вычисления различных внешних метрик качества кластеризации по отно-
шению к известному истинному разбиению данных на классы.
1. Индекс Rand вычисляется как отношение суммы истинно положи-
тельных и истинно отрицательных решений (т. е. пар объектов, правильно от-
несенных к одному кластеру или разным кластерам соответственно) к общему
числу пар объектов:
ТР + TN
Rand = -----------------.
ТР + T.V 4 FP + FN
Ои принимает значения от 0 до 1:
- значение 1 означает, что результаты кластеризации полностью соответ-
ствуют истинному разбиению, т.е. получена идеальная кластеризация;
- значение 0 указывает на полное несоответствие результатов кластери-
зации истинной структуре, т.е. получена абсолютно неудовлетворительная кла-
стеризация;
- промежуточные значения от 0 до 1 показывают степень соответствия
результатов кластеризации истине.
Таким образом, индекс показывает, насколько хорошо алгоритм класте-
ризации смог воспроизвести истинную структуру данных.
2. Индекс Жаккара является похожей, но более строгой мерой сходства
по сравнению с индексом Рэнда. В отличие от него, он не учитывает истинно
отрицательные (TN) совпадения:
ТР
Jac card = ------------
TP + FP + FN
3. Индекс Фоулкса — Мэллова применяется для оценки сходства между
двумя кластерами:
I 7 Р ТР
FM = --------•-------
УТР + FP ТР + FN
Более высокое значение индекса свидетельствует о большем сходстве
между рассматриваемыми кластерами.
Одним из преимуществ индекса Фоулкса — Мэллова является его устой-
чивость к шуму' в данных благодаря использованию геометрического среднего
вместо простого среднего арифметического.
4. Энтропия измеряет «чистоту» меток классов:
р. 1
—। Е —,0?
" ( Р.
Чем меньше энтропия, тем лучше кластеризация
Внутренние метрики качества кластеризации не используют никакой
дополнительной информации.
1. Компактность кластеров Качество разбиения данных па кластеры
тем выше, чем более компактно расположены объекты внутри каждого класте-
ра относительно его центра (рис. 5.12).
Рис. 5.12. Компактность кластеров
Для оценки компактности кластеров используется метрика внугрикла-
стерпого расстояния. Она рассчитывается как сумма квадратов расстояний от
каждого объекта в кластере до центра этого кластера. Чем меньше внутрикла-
стерное расстояние, тем более компактной является структура кластера:
я /
= X X min-
/ " I i • I
к — количество кластеров, m — количество объектов в /-м кластере; с —
цен гр (центроид) у-го кластера; х — / -ый объект в у-ом кластере.
2. Отделимость кластеров Помимо компактности кластеров, важным
критерием качества кластеризации является отделимость или разделимость
кластеров друг от друга (рис. 5.13).
Рис. 5.13. Отделимость кластеров
Соответственно, чем дальше находятся друг от друга ueirrpu кластеров,
тем лучше. Поэтому необходимо максимизировать межкластерное расстояние:
k
В SS — т р | С , х ) -> m а х,
/-1
к — количество кластеров, т — количество объектов в / кластере, С — цент-
роид /'-го кластера, “ —общее среднее по всем объектам.
3. Коэффициент силуэта — это мера, которая показывает, насколько хо-
рошо каждый объект соответствует своему кластеру ио сравнению с другими
кластерами. Предложен бельгийским статистиком Питером Руссо в 1987 году.
Сначала рассмотрим формулу расчета коэффициента силуэта для /-го от-
дельного объекта:
ь - а
s -----------
m ах (а,, b )
а — среднее расстояние от z-го объекта до всех точек этого же кластера, Ь —
среднее расстояние от этого же объекта до объекгов некоторого другого кла-
стера.
Чем меньше а и чем больше /у , тем лучше.
Диапазон возможных значений коэффициента составляет от —1 до 1:
- значение +1 достигается в том случае, когда внутри каждого кластера
объекты расположены близко друг к другу (низкие внутрикластерные расстоя-
ния а ) и разные кластеры хорошо отделены друг от друга (высокие межкла-
стерные расстояния Ь.);
- значение, близкое к 0, указывает на то, что объект расположен вблизи
границы кластеров и нет полной уверенности в его принадлежности к тому пли
иному кластеру, т.е. кластеризация некачественна,
- отрицательные значения означают, что некоторые объекты ближе к
чужим кластерам, чем к своему собственному, что сигнализирует о крайне тю-
хой кластеризации.
Усреднив коэффициент силуэта по всем точкам обучающей выборки, по-
лучим общую характеристику качества кластеризации. Так как каждое из зна-
чений от -1 до 1, то и их среднее будет из этого диапазона. Коэффициент силу-
эта, близкий к 1, соответствует высокому качеству кластеризации, коэффициент
силуэта, близкий к-1, соответствует низкому качеству.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1 Что такое задача кластеризации?
2. Дайте формальную постановку задачи кластеризации.
3. В чем разница между задачей кластеризации и задачей классификации?
4. Какие два основных критерия должны быть выполнены при разбиении
данных на кластеры?
5. Какие типы кластеризации существуют и каковы их особенности?
6. Что т акое дендрограмма и кластерное дерево?
7. Приведите примеры кластеризации из жизни.
8. Что такое сегментация?
9. Перечислите основные цели применения кластеризации данных.
10. Какие метрики расстояния используются в кластеризации?
11. Как рассчитывается евклидово расстояние, манхэттенское расстояние,
расстояние Чебышева и расстояние Минковского?
12. I де и как используются метрики расстояния в реальных приложениях?
13. Какие методы кластеризации относятся к вероятностному подходу?
14. Кем и когда был разработан метод к-средних?
15. В чем суть метода к-средних?
16. Какие достоинства и недостатки имеет метод к-средних?
17. В чем отличие метода к-медиан от метода к-средних?
18. Как работает ЕМ-алгоритм в кластеризации? Его достоинства и недо-
статки.
19. Какие методы основаны на системах искусственного интеллекта?
20. Как работают нейронные сети Кохонена?
21 В каких случаях используется генетический алгоритм:?
22. Какие алгоритмы относятся к теорстико-грифовому подходу?
23. Чем агломеративные алгоритмы отличаются от дивизивных алгоритмов?
24. В чем суть алгоритма DBSCAN?
25. Что такое внешние и внутренние метрики качества кластеризации?
26. Какие внешние метрики используются для оценки качества кластери-
зации?
27. Что такое таблица сопряженности и какую информацию она содержит'?
28. Как вычисляются значения ГР, FP, FN, TN? Дтя чего они используются?
29. Что такое индекс Рэнда? Как он рассчитывается и какие значения мо-
жет принимать?
30. Как рассчитывается индекс Жаккара? Чем он отличается от индекса
Рэнда'?
31. Как рассчитывается индекс Фоулкса — Мэллова? Какие преимуще-
ства у него по сравнению с другими метриками ?
32. Как измеряется «чистота» меток классов с помощью энтропии? Какое
значение энтропии свидетельствует о лучшей кластеризации?
33. Какие внутренние метрики используются для оценки качества класте-
ризации?
34. Как оценить компактность кластеров? Что подразумевается под ком-
пактностью?
35. Как рассчитывается метрика внутриклассового расстояния?
36. Как оценить отделимость кластеров?
37. Что такое коэффициент Силуэта? Как он рассчитывается и какие зна-
чения может принимать?
38. Какой тип кластеризации подходит для анализа геоданных?
39. Какой тип кластеризации следует использовать при проведении сег-
ментации клиентов интернет-магазина на основе их поведенческих признаков и
покупательских привычек?
40. Какой тип кластеризации следует использовать для анализа предпо-
чтений зрителей на основании жанров фильмов и их оценок?
41. Какой тип кластеризации следует использовать при анализе больших
объемов текстовых данных для группировки документов по тематике?
42. Вы проводите исследование экосистемы, оценивая уровни загрязне-
ния и разнообразие видов в разных зонах. Какой тип кластеризации будет
наиболее подходящим для этого анализа?
43. Вы работаете над проектом, который включает в себя мониторинг
производительности сервера. V вас есть данные о загрузке CPU, памяти и вре-
мени отклика. Какой тип кластеризации вы бы выбрали для анализа этих дан-
ных.’ Объясните свой выбор.
44. Какой тип кластеризации следует использовать при анализе метроло-
гических данных для выявления закономерностей в изменении погодных усло-
вий между различными регионами?
45. Вычислите между двумя точками А и В евклидово расстояние, ман-
хэттенское расстояние, расстояние Чебышева, расстояние Минковского при/? - 3:
а) А(х,;у,) = (12; 5) И В (л2;уг ) = (7; 9);
б) А(х,;у,) = (10; 7) И В (л2;у2) = (17; 12) ;
В) А(х,;у|) = (20; 17) И В (х2; уг ) = (1 9; 1 6 ) ;
Г) A(x|;y1;z1) = (5; 9; 3) И В ( х2; у2; ?2 ) = (9; 15; 12);
Д) A(x(;y,;zJ = (1; 2; 3) И В (х2; у2; z2) = (4; 5; 6) ;
е) A(x|;y|;zl)~ (И; 9; 13) И В (х,; уг; z2 ) = (17; 1 2; 18);
Ж) A(x,;jl;z,;41) = (1; 2; 3;4) И В (х2; у2; z2;кг) - (4; 5; 6; 7);
з) А(х|;у,;г1;Л1) = (8; 12; 9; 14) И B(x2;y2;j2;Jt2)-(14; 17; 19; 18) .
46. Вы работаете аналитиком в компании, занимающейся производством
и продажей спортивной одежды. Ваша цель — выявить группы покупателей на
основе их покупательских привычек и улучшить персонализацию предложе-
ний. Вам даны данные о восьми покупателях, включающие информацию о ча-
стоте их покупок и среднем чеке за последние три месяца:
Пок\ патель Частота покупок (раз в месяц) Средний чек (рубли)
1 5 4000
2 2 2000
3 1 1000
4 4 4500
5 7 9000
6 3 2200
7 6 3500
8 2 1500
Проведите предобработку данных: приведите данные к единому масшта-
бу с помощью нормализации данных.
Примените алгоритм к-средних для кластеризации покупателей на осно-
вании частоты их покупок и среднего чека. Попробуйте различные значения
лля количества кластеров (от 2 до 4).
Постройте график, демонстрирующий распределение покупателей по
кластерам и положение центров кластеров и выберите оптимальное количество
кластеров.
Опишите, какие iруппы покупателей были выявлены и какие рекоменда-
ции вы можете дать на основе полученных кластеров.
47. Вы работаете в команде, занимающейся разработкой фитпес-
прштожения. Ваша задача заключается в создании системы, которая будет ана-
лизировать поведение пользователей и классифицировать их па основе актив-
ностей и предпочтений, чтобы повысить качество персонализированных пред-
ложений и рекомендаций. Вам предоставлены данные о 10 пользователях:
Пользователь Частота гренировок (раз в неделю) Средняя п родолжител ыюс т ь тренировки (мин.) Тип тренировок
1 5 60 Силовые
2 2 30 Кардио
3 1 20 Растяжка
4 4 45 С иловые
5 7 90 Кардио
6 3 25 Растяжка
7 6 70 Силовые
8 2 15 Кардио
9 3 50 С иловые
10 1 10 Растяжка
Проведите предобработку данных: нормализуйте числовые данные (ча-
стота тренировок и средняя продо.гжительность тренировки) и преобразуйте
категориальные данные (тип гренировок) в числовой формат.
Примените алгоритм k-средних для кластеризации пользователей на ос-
нове их поведения. Попробуйте различные значения для количества кластеров
(от 2 до 4) и выберите оптимальное количество кластеров с использованием ме-
тода локтя.
Постройте график, демонстрггрующий рас]тределение пользователей по
кластерам и расположение центров кластеров.
Опираясь на результаты кластеризации, опишите, какие труппы пользова-
телей были выявлены, и разработайте рекомендации по улучшению персонали-
зированных предложений для каждой труппы.
48. Компания, специализирующаяся на производстве компьютерной тех-
ники, стремится улучшить свои продукты и услуги на основе анализа отзывов
клиентов. Собранные отзывы были размечены вручную и поделены на два
класса: «Позитивные» и «Негативные». Для обработки новых отзывов исполь-
зовались методы кластеризации. В результате были получены два кластера:
«Позитивные» и «Негативные». Сравнение ручной разметки и результатов ав-
томатической кластеризации представлено в следующей таблице:
Параметр Значение
ТР (Истинно положительные) 80
FP (Ложно положительные) 20
FN (Ложно отрицательные) 40
TN (Истинно отрицательные) 100
Вычислите индекс Rand, индекс Жаккара, индекс Фоулкса — Мэллова.
Проанализируйте результаты и сделайте выводы о качестве автоматиче-
ской кластеризации.
49. Лингвистическая лаборатория собрала тексты на разных языках. В ре-
зультате ручной разметки были выделены два класса: «Формальные» и «Не-
формальные». Для выявления структуры предложений применялись методы
кластеризации, в результате которых были сформированы два кластера: «Фор-
мальные» и «Неформальные». Сравнение ручной разметки и результатов кла-
стеризации представлено в таблице:
Параметр Значение
ТР (Истинно положительные) 120
FP (Ложно положительные) 25
FN (Ложно отрицательные) 20
TN (Истинно отрицательные) 85
Вычислите индекс Rand, индекс Жаккара, индекс Фоулкса — Мэллова.
Проанализируйте полученные результаты. Какие выводы можно сделать
о точности кластеризации и ее качестве?
ТЕМА 6. ЗАДАЧА ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ
И РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ
6.1. ПРИМЕРЫ ЗАДАЧ ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ
Задача поиска ассоциативных правил является одной из распространен-
ных задач в области интеллектуального анализа данных. Суть этой задачи за-
ключается в том, чтобы выявить часто встречающиеся наборы объектов в
большом наборе данных.
Изначально данная задача применялась при анализе покупательских тен-
денций в супермаркетах. Анализировались данные о покупках, которые поку-
патели складывали в свои тележки (корзины). Отсюда пошло второе распро-
страненное название — анализ рыночных корзин. Анализируя данные о со-
вершенных покупках, аналитики стремились выявить ценные закономерности и
взаимосвязи. Ключевой интерес представляли сведения о том, какие товары
чаще всего приобретаются вместе, в какой последовательности, какие катего-
рии покупателей предпочитают определенные продукты, как меняются покупа-
тельские 1гривычки в разные периоды времени и гак далее. Обладая такой ин-
формацией. ритейлеры могли более эффективно планировать закупки товаров,
разрабатывать целевые рекламные кампании, оптимизировать размещение про-
дукции на полках и принимать другие стратегические решения, направленные
на повышение продаж и удовлетворение потребностей клиентов.
Например, при анализе данных о покупках в магазине могут быть выяв-
лены следующие характерные наборы товаров, приобретаемых вместе: {чипсы,
сухарики}, {вода, орехи}. Это позволяет сделать вывод, что если покупаются
чипсы или орехи, то, как правило, в этом же чеке присутствуют сухарики или
вода соответ ст венно.
Обладая такой информацией, магазин может предпринять ряд действий
для стимулирования продаж: разместить эти взаимосвязанные товары рядом на
полках, предложить их в виде комплексных пакетов с выгодной ценой и т.п.
Таким образом, применение анализа ассоциативных правил позволяет оптими-
зировать выкладку товаров и маркетинговые активности, основываясь на ре-
альных закономерностях покупательского поведения.
Следующим примером являются кросс-продажи (cross-sell) и продажи с
повышением цены (up-selling). Эти стратегии представляю! собой эффектив-
ные инструменты для повышения доходности и укрепления лояльности клиен-
тов. С помощью алгоритмов поиска ассоциативных правил компании могут
анализировать шаблоны поведения своих покупателей и выявлять тех, кто с
наибольшей вероятностью отреагирует на персонализированные предложения
дополнительных товаров или услуг. Эго позволяет формировать более реле-
вантные и привлекательные коммерческие предложения, обеспечивая индиви-
дуальный подход к обслуживанию каждого клиента.
Ключевым условием успеха здесь является то, чтобы рекомендуемые до-
полнительные товары и услуги действительно повышали ценность компании
для клиента. Однако для принятия правильных решений в данной области не-
обходим тщательный анализ данных о продажах. В процессе такого анализа
важно определить предпочтения клиентов, а также виды товаров и услуг, кото-
рые они часто приобрегают вместе.
Только комплексный подход, включающий как технологические реше-
ния, так п глубокое понимание потребностей клиентов, позволяет максимально
эффективно использовать потенциал кросс-продаж и продаж с повышением це-
пы. 1акая стратегия способствует росту лояльности клиентов и, как следствие,
повышению общей эффективности бизнеса.
Также задача поиска ассоциативных правил находит широкое примене-
ние в медицине для анализа данных о симптомах и заболеваниях, наблюдаемых
у пациентов.
Применение методов поиска ассоциативных правил позволяет:
1. Повысить точность и своевременность постановки диагноза при обна-
ружении часто встречающихся сочетаний симптомов и заболеваний.
2. Повысить безопасность лечения и выявить потенциально опасные со-
четания лекарств при изучении комбинации назначаемых препаратов и связан-
ные с ними нежелательные реакции.
Также разновидностью задачи поиска ассоциативных правил является
сиквенциальный анализ, предназначенный для выявления закономерностей в
последовательностях событий.
Ключевое отличие сиквенциального анализа от традиционного поиска ас-
социативных правил состоит в том, что он устанавливает отношение порядка
между исследуемыми наборами данных. Тогда как в ассоциативном анализе мы
ищем: только взаимосвязи между элементами без учета временной последова-
тельности.
При сиквенцпальном анализе объектами наборов данных могут быть со-
бытия, а отношение порядка соответствует хронологии их появления. Это поз-
воляет выявлять закономерности в последовательностях событий, происходя-
щих во времени. Такой подход находит широкое применение, например, в те-
лекоммуникационных компаниях для анализа данных об авариях на сетевых
узлах. Информация о последовательности возникновения неисправностей по-
мотает не только их обнаруживать, но и предотвращать новые сбои.
Представим, что у нас есть данные о последовательности сбоев в некото-
рой телекоммуникационной сети: {е5, el, el, е13, t?6, <?1, ... }, где ei — код не-
определенного вида неисправности. Например, если зафиксирован сбой под ко-
дом el, то на основе выявленных ранее ассоциаций можно сделать вывод о вы-
сокой вероятности скорого появления сбоя el в этой последовательности. Зная
об этой взаимосвязи, специалисты могут предпринять необходимые профилак-
тические меры, чтобы устранить возможные причины возникновения сбоя el.
Гем самым можно предотвратить развитие нежелательной ситуации еще до ее
фактического наступления.
Более того, если дополнительно известны временные интервалы между
появлением различных сбоев, то можно не только спрогнозировать сам факт
возникновения определенного вида неисправности, по и оценить вероятное
время его наступления. Такая информация часто бывает крайне важной для
своевременной организации ремонтных работ и минимизации простоев в рабо-
те сети.
Сиквенциальный анализ широко применяется в различных областях, та-
ких как веб-майнинг, биоинформатика, обнаружение сетевых вторжений, и
многих других областях, где необходимо выявлял, закономерное лг в упорядо-
ченных последовательностях событий.
6.2. ПОСТАНОВКА ЗАДАЧИ ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ
Пусть имеется база данных, содержащая информацию о покупательских
транзакциях.
Каждая транзакция — единичная запись или событие в базе данных, со-
держащая набор элементов или продуктов, которые были приобретены или свя-
заны друг с другом в рамках одной покупки или события.
Пусть:
/ = — множество из п объектов (товаров), которые входят в
анализируемые наборы;
о ={t ,«2,— множество из т транзакций, которые доступны для
анализа.
Каждая транзакция содержит подмножество объектов из множества I и
представляет собой бинарный вектор, где:
fl,если I. объект присутствует в J-ий транзакции;
'Л*МП . „
I и,если «( ооъект отсутствует в /-им транзакции
Типичным примером транзакции является покупка некоторых товаров в
супермаркете.
Пример набора из 10-и транзакщш и 7-и объектов представлен в табл. 1.
Таблица 1
Набор транзакции
И) транзакции Набор продуктов
Хлеб Масло Молоко Янна Мания Сметана Кетчу н
1 1 1 1 1 0 0 0
2 1 1 0 □ 1 1 1
3 0 0 0 1 1 1 0
4 1 0 1 1 0 0 0
5 1 ( 1 0 1 1 0
6 1 0 1 0 1 0 0
7 0 0 0 0 L 1 0
8 1 1 1 1 0 1 0
9 1 0 0 0 1 0 1
10 1 1 1 1 1 1 0
Хотя в нашем примере рассматривается небольшое число транзакций, на
практике приходится иметь дело с наборами данных, содержащих миллионы
транзакций и тысячи различных продуктов.
Задача поиска ассоциативных правил формулируется так: нужно найти
закономерность вида х -> г .
Если транзакция содержит набор X, то она содержит и набор У. Эта зако-
номерность является ассоциативным правилом, которое состоит из условия и
следствия.
6.3. МЕРЫ ЗНАЧИМОСТИ ПРИ АНАЛИЗЕ АССОЦИАТИВНЫХ ПРАВИЛ
Каждое ассоциативное правило характеризуется некоторыми характери-
стиками: поддержкой набора и достоверностью правила.
1. Поддержка набора (support) — частота, с которой заданный набор
элементов ворочается в исходных данных.
Поддержка набора А' по отношению к множеству транзакций D вычисля-
ется как отношение числа транзакций, содержащих набор А, к общему числу
транзакций:
IdJ
support (.Y ) - -—
н
А — некоторый произвольный набор объектов; D — множество транзакций;
D к — множество 1ранзакций d , в которые входит набор X.
Данный показатель позволяет оценить, как часто набор элементов встре-
чается в исследуемых данных.
В табл. 1 набор {Хлеб, Масло, Молоко} часто покупают вместе Рассчи-
таем поддержку этого набора, разделив количество транзакций, содержащих
этот набор (ID: 1,5,8, 10), на общее количество транзакций.
support ( Хлеб, М аслп, М олоко) = —= 0,4.
1 U
Яйла и кетчуп, например, по нашим данным, никогда не покупали вместе,
поэтому поддержка этого набора будет равна 0.
2. Достоверность правила (confidence) х -> у определяется как отно-
шение количества транзакций, содержащих условие А и следствие У, к количе-
ству транзакций, содержащих только условие А:
support ( X о У ।
со ntiden се ( X —> У ) = ------------
support ( X ।
Рассмотрим правило {Хлеб, Масло} —> {Молоко}. Вычислим достовер-
ность этого правила. Для этого нужно разделить поддержку {Хлеб, Масло, Мо-
локо} на поддержку {Хлеб, Масло}:
4
support (Хлеб, Масло, Молоко) = — - 0,4;
1 0
5
support(Xne6, Масло)- —= 0,5;
1 О
support(Xлеб, М асло, М олоко) 0,4
condfidence (Хлеб,М асло -> Молоко) =-------------------------------------= 0,8.
support) Хлеб, М асло) 0,5
Таким образом, можно сделать вывод, что если покупатель купил хлеб и
масло, то с большой вероятностью он купит и молоко.
Чем выше достоверность ассоциативного правила, тем более достоверно
правило.
Алгоритмы поиска ассоциативных правил отбирают те правила, у кото-
рых поддержка и достоверность превышают установленные пороги, называемые
минимальной поддержкой и минимальной достоверностью соответственно.
Далее рассмотрим еще две меры, которые используются в алгоритмах по-
иска ассоциативных правил:
1. Улучшение (lift) правила показывает, насколько объекты зависяг друг
от друга, и вычисляется как отношение достоверности правила х -> Y к под-
держке следствия Y:
confidence) X -> Y | support) X u Y )
lift ( X Y ) = ---------------= -----—--------------.
support) Y ) support) X I support)/ i
Значения улучшения интерпретируются следующим образом:
— если lift > 1, то наличие X повышает вероятность появления У, т.е. су-
ществует положительная корреляция между X и У;
- если lift < 1, то наличие X снижает вероятность появления У, т.е. суще-
ствует отрицательная корреляция между X и У;
- если lift = 1, то X и У независимы друг от друга, т.е. наличие X не влия-
ет на вероятность появления Y.
Для правила {Хлеб, Масло} —> {Молоко} вычислим улучшение:
support) М олоко ) =
6
— =0,6;
10
confidence ( Хлеб, М асло -> Молоко! 0,8
lift (X леб. М асло -> Молоко)=----------------------------------- =----«1,33.
support ( М олоко) 0,6
Таким образом, можно сделать вывод, что покупатель, покупая хлеб и
масло, купит и молоко.
2. Уверенность (conviction) показывает, насколько правило будет невер-
ным, если ассоциация межу X и Y была чистой случайностью. Вычисляется по
следующей формуле:
1—s’jpport(K ।
conviction ( X —> Y ) = ------------------.
1 - confidence! X -> К)
Значения уверенности интерпретируются следующим образом:
- если conviction > 1, то связь между X и У не является случайной и пра-
вило имеет смысл. Чем больше значение уверенности, тем сильнее связь между
X и У;
- если conviction = 1, то X и У независимы и связь между ними случайна;
- если conviction < 1, то правило, скорее всего, является случайным и не
отражает реальную взаимосвязь.
Таким образом, высокие значения уверенности (существенно больше 1)
свидетельствуют о надежности и значимости ассоциативного правила, что поз-
воляет выявлять устойчивые взаимосвязи между наборами элементов данных.
Для правила {Хлеб, Масло} —> {Молоко} вычислим уверенность:
1 - support( М олоко |
conviction (Хлеб, Масло —> М олоко )= -----------------------------------
1 - с о n f i d е п с е ( X л е б, М ас л о -> Молоко}
1-0,6 0,4
= -------- ---- 2 .
1 - 0.8 0,2
Ассоциашвные правила применяются для решения следующих задач:
- оптимизация размещения товаров на полках магазинов;
- формирование персональных рекомендаций в онлайн-магазинах;
- планирование акций (можно сделать скидку на один товар, зная, что
вместе с ним купят другой, более дорогой, товар).
6.4. МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ ПОИСКА АССОЦИАТИВНЫХ ПРАВИЛ
Поиск ассоциативных правил обычно выполняется в два основных
этапа.
На первом этапе находятся часто покупаемые наборы товаров: алгоритм
многократно проходит по всему набору транзакций, вычисляет частоты различ-
ных комбинаций товаров и выделяет часто встречающиеся комбинации.
На втором этапе происходит непосредственная генерация ассоциативных
правил на основе найденных на первом этапе частых комбинаций.
Самыми популярными алгоритмами являются:
- Apriori — классический алгоритм поиска ассоциативных правил,
предложенный Ракешем Агравалом и Рамакришнаном Срикантом в 1994 году.
Основная идея алгоритма заключается в итерационном поиске наиболее частых
наборов элементов с последуюшим извлечением ассоциативных правил из ото-
бранных наборов. Благодаря использованию свойства антимонотонности он
способен эффективно обрабатывать большие объемы данных;
- Euclat — алгоритм, основанный па поиске в глубину, и для решения
задач использует пересечение множеств;
- FP-growth — алгоритм, основанный на построении префиксного де-
рева из транзакций. Для построегшя дерева нужен всего один линейный проход
по всем объектам выборки, который позволяет хранить в оперативной памяти
полную информацию обо всех часто встречающихся наборах признаков.
6.5. ВВЕДЕНИЕ В РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ
И ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
Ассоциативные правила позволяют выявить, какие товары часто покупа-
ют вместе. Основываясь на этом, можно рекомендовать клиенгу для покупки
дополнительные товары. Такая постановка задачи является более широкой и
называется задачей построения рекомендательных систем. По сравнению с
ассоциативными правилами, рекомендательные системы также анализируют
характеристики (признаки) товаров и клиентов, что позво.тяет сделать более ка-
чественные рекомендации.
Рекомендательная система (Recommender Systems или RrcSvs') — это
технология, которая анализирует информацию о предпочтениях пользователей
и предлагает им товары, услуги или контент, которые наиболее подходят их ин-
тересам и вкусам.
Рекомендательные системы являются очень важным инструментом как
для пользователей, так и для бизнеса.
Для пользователя рекомендательные системы помогаю сделать выбор
«по ему сегодня посмотреть, какой трек послушать, в какой ресторан сходить.
Эю экономит время пользователя и повышает вероятность того, чзо он найдет
го, что ему действительно интересно.
Для бизнеса же рекомендательные системы — это ключевой механизм
для повышения вовлеченности и удержания пользователя. Персонализирован-
ные рекомендации способствую! дополнительным продажам, увеличению
среднего чека, а также лояльности клиентов к бренду.
Рассмотрим некоторые примеры использования рекомендательных
систем:
1. Йигер нет-магазины, такие как Amazon, Ozon. Wildbemes, Labirint,
используют рекомендации, основанные на истории покупок пользовате.хя, его
предпочтениях и популярности товаров.
2. Стриминговые сервисы (Netflix, Spotify. RuTube, Yandex Music, Ки-
нопоиск, 1VI) рекомендуют контент (фильмы, музыку, видео) на основе преды-
дущих оценок, просмотров и вкусов пользователя, помогая ему находить новый
и интересный контент.
3. Социальные сети (TikTok, ВКонтакте, Одноклассники) используют
рекомендации людей для подписки, интересных публикаций, групп, основыва-
ясь на связях пользователя, чтобы помочь ему расширить круг общения и на1гги
релевантный контент.
4. Новостные сайты и агрегаторы — персонализированные рекоменда-
ции статей и новостей согласно предпочтениям читателя.
5. Сервисы знакомств — рекомендации потенциал]>ных партнеров на
основе личных данных, интересов и критериев поиска.
6. Туристические сайты — рекомендации отелей, достопримечательно-
стей, маршрутов исходя из предыдущего опыта путешествий.
7. Рекомендательные системы в образовании — подбор курсов, учеб-
ных материалов на основе уровня знаний и целей студента.
8. Финансовые услуги. Рекомендательные системы применяются в фи-
нансовых сервисах для помощи клиентам в выборе наиболее подходящих инве-
сгиционных инструментов и страховых продуктов.
Для инвестиционных рекомендаций системы анализируют профиль риска
клиента, его финансовое положение, инвестиционные цели и горизонт, чтобы
предложить оптимальный набор ценных бумаг, фондов, nopi фелей.
Для страховых продуктов рекомендательные системы учитывают возраст,
семейное положение, профессию, состояние здоровья и другие характеристики
клиента, чтобы предложить оптимальные страховые программы но страхова-
нию жизни, здоровья, имущества и т.д.
В 2009 году произошло знаковое событие, ставшее поворотным момен-
том в развитии рекомендательных систем. Компания Netflix учредила конкурс с
призовым фондом в размере один миллион долларов для команды, которая
сможет улучшить качество работы их рекомендательного алгоритма на 10 %.
Этот шаг свидетельствовал о том, что даже 15 лет назад рекомендательные ал-
горитмы приносили Netflix сотни миллионов долларов. В настоящее время эта
цифра, безусловно, увеличилась на порядок. Тот конкурс дал огромный толчок
в развитии рекомендательных систем и способствовал применению методов
машинного обучения для решения задач в этот! области. На конкурсе от Netflix
стояла задача построения системы прогноза рейтингов. Участникам были
предоставлены данные о пользователях, о фильмах и рейтингах, которые поль-
зователи поставили фильмам. Победивший алгоритм основывагся на матрич-
ном разложении (факторизации матриц). Суть подхода заключалась в том, что
большая разреженная матрица рейтингов пользователей и фильмов расклады-
валась в произведение двух матриц меньшей размерности. Этот математиче-
ский прием позволял прогнозировать отсутствующие рейтинги в пустых ячей-
ках исходной матрицы. Простота и эффективность метода матричного разло-
жения обеспечили его широкое распространение и закрепление в качестве
одного из основных подходов в рекомендательных системах на долгие годы.
6.6. ПОСТАНОВКА ЗАДАЧИ И ОСНОВНЫЕ ПОДХОДЫ
К ПОСТРОЕНИЮ РЕКОМЕНДАТЕЛЬНЫХ СИСТЕМ
Введем обозначения, Пусть:
г/ = {и,, и и t} — множество пользователей. 11ользователи (users) — ак-
тивные агенты, совершающие взаимодействие с предметами. Обычно это ре-
альные люди, которые покупают товары, смотрят видео, читают новостные ста-
т ьи и т.д.
р = {р}, рг.рт} — множество предметов. Предметы (товары, items) —
пассивные объекты, с которыми пользователи взаимодействуют. Например, то-
вары на маркстплсйсах, видео на RuTube, музыка в стриминговых сервисах,
услуги и т.д.
R = [г ), i = 1, л, j = i, m — матрица рейтингов размера м на т. где на месте
/ будет стоять число, если и пользователь оценил р товар, и пусто в против-
ном случае.
Рейтинг (называемый также фидбеком) — это некоторая характеристика
взаимодействия пользователя с объектом, предназначенная для оптимизации
рекомендательной системы.
Требуется для каждого пользователя и е и , i = 1,« предсказать релевант-
ность (полезность, оценку, рейтинг и т.п.) неизвестных объектов и рекомендо-
вать К наиболее подходящих объектов.
Причем важен порядок следования объектов в списке, так как пользова-
тель, скорее всего, обратит больше внимания на первые предметы в списке и с
большей вероятностью совершит действие, которое от него ждут: послушает
песню, совершит покупку и т.д.
Количество объектов значительно больше, чем количество пользователей.
Основное отличие объектов от пользователей заключается в том, что не обяза-
тельно каждый объект должен быть рекомендован какому-либо пользователю.
Для построения рекомендаций часто используется история взаимодей-
ствия пользователей с объектами.
Обратную связь, или фидбэк, от пользователя можно получить двумя
способами:
1. Явный фидбек от пользователя — это открытая и прямая обратная
связь, которую пользователь предоставляет сознательно. Это:
- прямые рейтинг/оценка, поставленные мультфильму или сериалу;
- лайк/дизлайк на видео в социальных сетях;
- отзыв, комментарий на купленный товар.
Такой фидбэк очень ценен и напрямую отражает предпочтения и мнения
пользователей (рис. 6.1).
2. Неявный фидбек — это другая информация от пользователя, не выра-
женная им на прямую. Мы сами по действию пользовате.тя делаем выводы.
Это:
- время взаимодействия с контентом: время просмотра видео, время про-
слушивания музыки, продолжительность чтения статьи;
- взаимодействие с рекомендациями: переход по рекомендованным
ссылкам, добавление товара в корзину, сохранение контента;
- поведение при покупке: частота совершения покупок,
средняя стои-
мость корзины;
- социальные сигналы: подписка на каналы.
Товары
Рис 6.1 Таблица с оценками пользователей
Существуют несколько основных подходов к построению рекоменда-
ций для пользователей:
1. Рекомендации на основе популярности —это самая простая система
рекомендаций. Она основывается на том, что наиболее популярные или часто
востребованные товары или контент будут рекомендованы другим пользовате-
лям (рис. 6.2).
Достоинства рекомендаций на основе популярности:
- простота реализации;
- универсальность, может применяться в любой предметной области;
- работает для новых пользователей, у которых мало персональных данных.
Недостатки рекомендаций на основе популярности:
— предпочтения конкретного пользователя нс учитываются;
- зависимость от предметной области.
С ЗТСл* • г rt- QI* wraei
4 ** *
Рис. 6.2. Пример рекомендации на основы популярности
2. Контентно-ориентированным подход (подход Content-based) осно-
ван на характеристиках товаров и пользовательских предпочтениях (рис. 6.3).
Основными принципами этого подхода являются:
- анализ характеристик и свойств объектов (статей, медиа, товаров и
т.д.), которые интересуют пользователя. Такими характеристиками могут быть
жанр, тематика, ключевые слова, атрибуты и т.д.;
- построение профиля пользователя на основе его предпочтении и инте-
ресов, выраженных через взаимодействие с объектами (просмотры, оценки,
комментарии);
- сравнение профиля пользователя с характеристиками объектов и выяв-
ление наиболее релевантных рекомендаций.
llpontmmtan кпнгж
ГтииМгн^ыняи
[WMOBJTeih)
Рис. 6.3 Пример рекомендации на основе подхода Content based
Например:
I. Онлайн-кинотеатры: если пользователь смотрел военные фильмы, то
система будет рекомендовать ему другие военные фильмы, основываясь на об-
щих жанровых, сюжетных или визуальных характеристиках.
2. Электронная коммерция: если пользователь покупал товары опреде-
ленной категории, например спортив!гую одежду, то система будет рекомендо-
вать ему схожие товары из таких тити похожих категорий.
3. Музыкальные сервисы: если пользователь слушал треки конкретных ис-
полнителей или в определенных музыкальных жанрах, то система будет рекомен-
довать ему похожую музыку на основе анализа аудиоконгента и метаданных.
Достоинства контентно-ориентированного подхода:
- простота реализации;
- индивидуальный подход: контентно-ориентированные системы спо-
собны учитывать индивидуальные предпочтения каждого пользователя;
- независимость от сообщества: рекомендации не зависят от предпочте-
ния друг их пользователей;
- работает для новых пользователей, у которых мало персональных данных.
Недостатки конт ент но-ори ент ированного подхода:
- ограниченность контента: система может рекомендовать только те объ-
екты, которые похожи на те, что уже понравились пользователю, не открывая
ему ничего нового;
- зависимость от предметной области.
3. Колла бора i нвиая филыраиия основана на предположении, что
пользователи, которые имеют схожие интересы или предпочтения, будут иметь
похожие вкусы в отношении контента (рис. 6.4).
Рис. 6.4. Пример рекомендации на основе коллаборативной фильтрации
Основные идеи коллаборативной фильтрации:
I Сбор и анализ данных о рейтингах, просмотрах, покупках и других
действиях пользователей.
2. Выявление схожестей между пользователями на основе их предпочтений.
3. Использование этих схожестей для выработки персонализированных
рекомендаций.
Например, если пользователи А и Б поставили одинаковые оценки опре-
деленным товарам или прочитали одну и туже книгу, то можно предположить,
что их вкусы и предпочтения схожи. Поэтом} если пользователь А оценил вы-
соко какой-то товар или прочитал книгу, но пользователь Б еще не ознакомился
с этим товаром или не прочитал эту кншу, то этот товар или книга могут быть
рекомендованы Б как потенциально интересные.
Достоинства коллаборативной фильтрации:
— высокая точность рекомендаций;
- индивидуальный подход, учитывающий индивидуальные предпочтения
каждого пользователя.
Недостатки коллаборативной фильтрации:
- проблема «холодного старта», когда отсутствуют знания о новом поль-
зователе;
- необходимость большого обьема данных для высокой точности пред-
сказаний.
4. Гибридные рекомендательные системы объединяют преимущества
коптептно-ориептировапного подхода и коллаборативной фильтрации для по-
лучения более точных рекомендаций. Это позволяет сбалансировать недостатки
каждого метода по отдельности и улучшить общее качество рекомендаций.
Например, гибридные системы могут использовать коллаборативную фильтра-
цию для анализа поведения пользователей, а контентно-ориентированный под-
ход для изучения характеристик рекомендуемых объектов.
6.7. МЕТРИКИ КАЧЕСТВА РЕКОМЕНДАЦИЙ
В задаче рекомендаций, как и в других задачах маштшного обучения, ис-
пользуются метрики качества для оценки работы системы. Основными из них
являются:
- Hit rate (HR);
- Mean Reciprocal Rank (MRR);
- precision@k;
- recall@k.
Последние две метрики, precision@k и recall@k, аналогичны метрикам
precision и recall, используемым в задаче классификации.
В основе этих метрик лежит сравнение списка рекомендаций, сгенериро-
ванных системой, с объектами из отложенной выборки, с которыми пользова-
тель фактически взаимодействовал, но система не знала об этом во время обу-
чения.
Объекты из отложенной выборки, которые были рекомендованы систе-
мой и с которыми пользователь реально взаимодействовал, называются реле-
ван гиыми рекомендациями.
Метрика hit rate (HR) является базовой метрикой, которая показывает
долю релевантных рекомендаций от общего числа рекомендаций:
fl, если _/-ым объект релевантен для f-то пользователя,
relevance = <[
fl) в противном случае,
N — общее количество пользователей, К — количество объектов, рекомендуе-
мых пользователю (обычно К от 5 до 10).
Чем выше значение этой метрики, тем более эффективна рекомендатель-
ная система. Но данная метрика не учитывает другие важные аспекты рекомен-
дательной системы, такие как позиция релевантного объекта в списке рекомен-
даций, разнообразие рекомендаций, новизна рекомендаций. Пользователи
обычно больше обращают внимание на первые рекомендации, чем на послед-
ние. Поэтому можно усовершенствовать эту метрику, учитывая обратный ранг
первого релевантного рекомендованного объекта.
Метрика среднего обратного ранта (Mean Reciprocal Rank, MRR) —
средняя величина обратного ранга первого релевантного объекта в списке ре-
комендаций по всем пользователям:
Е
М RR = —----
.V
яя, = re/evenсе,--обратный ранг для /-го пользователя;
rank
<
rank — номер первого релевантного товара в листе рекомендаций для /-го
пользователя.
Значение метрики варьируется от 0 до 1.
Если MRR = 1, то для всех пользователей первая рекомендация была ре-
левантной.
Если MRR = 0, то в гоп-/,' рекомендаций пет ни одного релевантного объекта.
Чем ближе значение MRR к 1, тем более эффективна рекомендательная система.
Она является более содержательной, так как учитывает не только наличие
релевантных рекомендаций, но и их ранжирование.
Предположим, у нас есть 4 пользователя и для каждого из них система
выдала топ-10 рекомендаций по книгам (рис. 6.5).
Иошкюиателн
Реленлн тн ые pf комгндацин
Мере теллигные рекомендации
Рис 6.5. Иллюстрация примера
Toi да для:
- 1-го пользователя первая релевантная рекомендация находится на пер-
1
вой позиции и обратный ранг ял1 = - = 1;
- 2-го пользователя первая релевантная рекомендация находится на тре-
я - 1
гьеи позиции и обратный ранг /?/?. = —;
з
- 3-го пользователя первая релевантная рекомендация находится на
I
седьмой позиции и ооратныи раш /? /г = —;
7
- 4-го пользователя первая релевантная рекомендация находится на вто-
1
рои позиции и ооратныи ранг /?/?_= —
Получаем, что средний обратный ранг равен:
Е ««. i+L+-+-
3 7 9
MRR = —---= --------— » 0.49 » 0.5.
К 4
Это означает, что в среднем первый релевантный объект находится при-
мерно на втором месте в топ-10 рекомендаций. Данная система рекомендации
работает на среднем уровне эффективности, и есть возможности для ее улуч-
шения, чтобы первые релевантные результаты чаще появлялись на первых по-
зициях.
Далее рассмотрим метрики precision©к и recall ©к
Метрика precision©k показывает долю релевантных элементов среди к
наиболее высоко ранжированных результатов и вычис.тяется по формуле:
Количество релевантных элементов в тсяе-А рекомендаций
Р recision <§> к - -----------------------------------------------------
к
Обычно к берут равным 5, 10, 20 или 50, хотя нет четких правил выбора
к — можно брать любое число.
Предположим, пользователь ищет книги на тему «Машинное обучение».
Поисковая система возвращает следующие 10 книг в порядке релевантности
(табл. 2).
Таблица 2
Список книг по теме «Машинное обучение»
№ Нашание киши
1 Основы машинного обучения Релевантная,
2 Введение в машинное обучение Релевантная
3 Глубокие обучение Нерелевантная
4 Анализ данных с помощью Python Релевантная
5 Искусственный интеллект в играх Нерелевантная
6 Теория вероятностей и математическая стат истика Нерелевантная
7 Численные методы Нерелевантная
8 Анализ больших данных Релевантная
9 Распознавание образов Релевантная
10 Прикладная математика Нерелевантная
Еслн к = 5, то Precision @ 5 = —= 0.6 , т. к. 3 из 5 книг являются рслевант-
5
ными.
Если к - 10, то Precision @ 1 о = — = о.5 , т. к. 5 из 10 книг являются реле-
10
вантными.
Таким образом, precision@k оценивает качество верхних результатов,
игнорируя остальные.
Метрика recall@k показывает долю правильно идентифицированных ре-
левантных элементов среди первых к рекомендаций относительно общего ко-
личества релевантных элементов:
Количество релевантных элементов в топе-А рекомендаций
Recall & к = --------------------------------------------------.
Общее количество релевантных объектов
Предположим, что в базе всего 20 релевантных книг по данной теме.
Если в первых 5-и рекомендациях система правильно идентифицировала
з
3 релевантные КНИГИ, ТО Recall @ 5 = -=0.15. Это говорит о ГОМ, что система
20
смогла охватить только 15% релевантных книг в топе-5.
Если в первых 10-и рекомендациях система правильно идентифицировала
5 релевантных книг, то Recall & 1 о = —= о 25. 1. е. система смогла охватить
20
только 25 % релевангных книг в топе-10.
Таким образом, precision@k отражает точность ранжирования системы, а
recall @ к — полноту поиска среди к наиболее высоко ранжированных результа-
тов. Опи дополняют друг друга и используются для всесторонней оценки каче-
ства ранжирования.
Стоит отметить, что с увеличением значения к растет метрика recall@k,
поскольку чем больше список наших рекомендации', тем выше вероятность
охватить большее число предметов, с которыми взаимодействовал пользова-
тель. Однако с ростом к снижается значение метрики precision@k, поскольку
увеличивается и число менее релевантных предметов в списке рекомендаций.
Поэтому очень важно находить баланс между этими метриками в зависимости
ог конкретных задач и требований к системе рекомендаций. Высокие значения
обеих метрик одновременно указывают на то. что система эффективно рапжи-
руег и находит большую часть релевантных элементов в верхней части резуль-
татов
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1. Что такое задача поиска ассоциативных правил?
2. Где изначально применялась задача поиска ассоциативных правил?
3. Что такое кросс-продажи и продажи с повышением цены?
4. В каких областях применяется задача поиска ассоциативных правил?
5. Что такое сиквенциальный анализ?
6. В чем ключевое отличие сиквенциального анализа от традиционного
поиска ассоциативных правил?
7. Как телекоммуникационные компании могут использовать сиквсшш-
альный анализ?
8. В каких областях применяется сиквенциальный анализ?
9. Приведите постановку задачи поиска ассоциативных правил?
10. Что такое транзакция и ассоциативное правило?
И. Что такое поддержка набора (support), как она интерпретируется и
вычисляется?
12. Что такое достоверность правила (confidence), как она интерпретиру-
ется и вычисляется?
13. Что такое улучшение правила (lift) и как вычисляется? Как интерпре-
тируются значения улучшения?
14. Что такое уверенность (conviction) и как вычисляется? Как интерпре-
тируются значения уверенности?
15. Какие алгоритмы используются для поиска ассоциативных правил?
16. Какая основная идея алгоритма Aprioii и когда он был предложен?
17. Что такое рекомендательные системы?
18. Почему рекомендательные системы важны для бизнеса?
19. Приведите примеры использования рекомендательных систем в раз-
ных сферах.
20. Расскажите о конкурсе от компании Netflix и его влиянии на развитие
рекомендательных систем.
21. Приведите постановку задачи для рекомендательных систем.
22. Что такое фидбек?
23. Что такое явный и неявный фидбек в рекомендательных системах?
Приведите примеры явного и неявного фидбека.
24. Какие подходы используются для построения рекомендательных си-
стем?
25. Что такое рекомендации на основе популярности? Достоинства и не-
достатки рекомендаций на основе популярности.
26. Опишите контентно-ориентированный подход к построению реко-
мендательных систем. Укажите его достоинства и недостатки
27. В чем суть коллаборативной фильтрации в рекомендательных систе-
мах. Укажите ее достоинства и недостатки.
28. Что такое гибридная рекомендательная система?
29. Как можно использовать рекомендательные системы для повышения
вовлеченности пользователей?
30. Какие данные необходимы для построения качественной рекоменда-
тельной системы?
31 Какие перспективы развития есть у рекомендательных систем в бу-
дущем?
32. Какие метрики используются для оценки качества рекомендаций?
33. Что такое релевантные рекомендации?
34. Что такое метрика hit rate (HR) и как она вычисляется? Какие аспекты
не учитывает эта метрика?
35. Что такое средний обратный раш и как он вычисляется?
36. Что показывает метрика precision(§/k и как она рассчитывается?
37. Что показывает метрика recall@k и как она рассчитывается?
38. Как изменяются метрики prccisiontek и rccallfalk с увеличением значе-
ния к?
39. Ты работаешь аналитиком в крупной сети супермаркетов. Твоя зада-
ча — проанализировать данные о покупках клиентов и выявить ассоциации
между различными товарами, которые они часто покупают вместе. Это помо-
жет тебе оптимизировать расположение товаров на полках и разработать более
эффективные маркетинговые акции. Предположим, есть следующий набор дан-
ных о покупках клиентов'
Каждая строка представляет одну транзакцию, а столбцы показывают, ка-
кие продукты были приобретены в каждой транзакции.
ID тран закции Хлеб Масло Молоко Яйца Сыр Колбаса Вода Сок Мясо
1 1 1 1 0 0 0 0 0 0
2 1 0 0 1 1 1 1 и 0
3 0 0 0 1 1 0 0 1 0
4 1 1 1 1 0 0 1 и 1
5 1 1 1 0 0 0 0 1 0
6 0 0 0 1 1 0 1 0 1
7 0 0 0 1 1 0 0 1 0
8 1 1 1 0 0 0 0 0 1
9 1 0 0 1 1 1 0 0 0
10 0 0 0 1 1 0 1 1 0
11 0 0 0 1 1 0 0 I 1
12 1 1 1 0 0 0 1 0 1
13 1 0 0 1 1 1 1 0 0
14 0 0 0 1 1 и 0 I 0
15 0 0 0 1 1 и 0 0 1
Необходимо:
а) найти поддержки для следующих наборов товаров:
- {Хлеб, Масло, Молоко, Яйца);
- {Хлеб, Масло, Молоко, Сыр};
- {Масло, Молоко, Яйца, Колбаса);
- {Хлеб, Масло, Молоко};
- {Яйца, Сыр. Колбаса};
- {Масло, Молоко, Яйца};
- {Молоко, Яйца. Сок};
- {Хлеб,Масло);
- {Молоко. Сыр};
- (Хлеб. Вода);
- {Молоко, Сок};
б)вычислить достоверность, улучшение и уверенность для следующих
правил:
- {Хлеб, Масло, Молоко) —> (Яйца);
- {Хлеб. Масло, Молоко} —> {Сыр);
- {Хлеб, Масло} —> {Молоко, Сыр);
- {Хлеб.Масло} —> {Молоко,Яйца};
- {Хлеб, Масло} —> {Молоко};
- {Яйца, Сыр) —► {Колбаса};
- {Масло, Молоко}—» {Яйца};
- {Хлеб,Вода} —> {Молоко};
- {Молоко,Сок}—> {Яйца};
в) на основании полученных результатов сделать выводы и дать рекомен-
дации.
40. Предположим, что у вас есть интернет-магазин электроники и ваша
цель — проанализировать данные о покупках клиентов, чтобы выявить ассоци-
ации между различными товарами, которые они часто покупают вместе. Это
поможет вам оптимизировать размещение товаров на caiire и разработать более
эффективные маркетинговые акции. Ниже приведены данные о покупках кли-
ентов:
ID транзакции Телефон Чехол Наушники Аккумулятор Экран
1 1 1 1 1 1
2 1 0 0 0 0
3 0 1 1 1 0
4 1 1 1 1 1
5 1 1 1 1 1
Ь 0 0 0 0 и
7 0 0 0 0 0
8 1 1 1 1 1
9 1 0 0 0 0
10 0 0 0 0 0
11 0 0 0 0 0
12 1 1 1 1 1
13 1 0 0 0 0
14 0 0 0 0 0
15 0 0 0 0 0
Необходимо:
а) найти поддержки для следующих наборов товаров:
- {Телефон, Чехол, Наушники, Аккумулятор, Экран};
- {Телефон, Чехол, Наушники};
- {Чехол, 1 Jay ши ики, Аккумул ятор};
- {Телефон, Чехол;;
- {Телефон, Наушники};
- {Телефон. Аккумулятор};
- {Телефон, Экран};
- {Чехол, Экран};
- {Наушники, Аккумулятор};
- {Аккумулятор, Экран );
б) вычислить достоверность, улучшение и уверенность для следующих
правил:
- {Телефон, Чехол} {Наушники};
- {Телефон. Наушники} —> (Аккумулятор!;
- {Чехол,Наушники} —> {Экран};
- {Телефон, Чехол} —> {Аккумулятор};
- {Телефон, Наушники} —> {Экран};
- {Чехол, Наушники} —> {Аккумулятор};
- { Телефон, Чехол} —> {Экран};
- {Чехол, Наушники} —> {Экран};
- {Наушники, Аккумулятор} —> {Экран};
в) на основании полученных результатов сделать выводы и дать рекомен-
дации.
41. Вы работаете в компании, разрабатывающей рекомендательные си-
стемы для товаров и услуг. Ваша задача — оценить эффективность работы ре-
комендательной системы, которая генерирует списки топ-10 рекомендаций по
книгам для шести разных пользователей.
Для каждого из шести пользователей система предоставила список из 10
рекомендованных книг. Известно, на каких позициях в этих списках оказались
первые релевантные рекомендации для каждого пользователя:
Для 1-го пользователя первая релевантная рекомендация быта на 1-й по-
зиции.
Для 2-го пользователя — на 3-й позиции.
Для 3-го пользователя — на 7-й позиции.
Для 4-го пользователя — на 2-й позиции.
Для 5-го пользователя — на 4-й позиции.
Для 6-1'0 пользователя — на 5-й позиции.
Рассчитаете средний обратный ранг для всех шести пользователей и сде-
лайте выводы.
42. Предположим, у вас есть рекомендательная система для музыкальных
греков, которая генерирует списки топ-10 рекомендаций для семи разных поль-
зователей. Каждому' пользователю система предложила список из 10 песен. Из-
вестно, на каких позициях в этих списках оказались первые релевантные реко-
мендации для каждого пользователя:
Для 1-го пользователя первая релевантная рекомендация была на 3-й позиции.
Для 2-го пользователя — на 7-й позиции.
Для 3-го пользователя — на 1-й позиции.
Для 4-j о пользователя — на 5-й позиции.
Для 5-го пользователя — на 9-й позиции.
Для 6-ю пользователя — на 2-й позиции.
Для 7-го пользователя — на 4-й позиции.
Рассчитайте средний обратный ранг для всех семи пользователей и сде-
лайте выводы.
43. Рекомендательная система ранжирует новости по релевантности для
пользователя. Результаты для пользователя следующие:
Пози имя Тема Релевантность
1 Политика Да
2 Спорт Пет
3 Экономика Да
4 Культура Пег
5 Образование Да
6 Технологии Да
7 Живопись Нет
8 Поэзия Да
9 Робототехника Нет
10 ИИ Да
Рассчитайте Precision@k и Recall@k при к - 5, к - 7 и к - 10.
44. Рекомендательная система предложила пользователю список книг, от-
сортированный по релевантности. Результаты:
Позиция Название книги Жанр Релевантность
1 Тайна острова Приключения Да
2 Война и мир Классика Нет
3 Код да Винчи Детектив Да
4 Гордость и предубеждение Роман Нет
* Граф Монте-Кристо Приключения Да
6 Мастер и Маргарита Классика Нет
7 Десять негритят Детектив Да
8 1 Треступление и наказание Роман Нет
9 Шерлок Холмс Детектив Да
10 Анна Каренина Классика Нет
11 Дети капитана Гранта Приключения Да
12 Два капитана Приключения Да
13 Буратино Сказка Нет
14 Отцы и дети Роман Нет
15 Маленький принц Сказка Нет
Рассчитайте Precision@k и Recall^k при к = 5, к = 7, к = 10 и к = 15.
ТЕМА 7. ЗАДАЧИ УМЕНЬШЕНИЯ РАЗМЕРНОСТИ (ОБОБЩЕНИЕ)
И ВЫЯВЛЕНИЯ АНОМАЛИЙ
7.1. ЗАДАЧА УМЕНЬШЕНИЯ РАЗМЕРНОСТИ
Задача уменьшения размерности чаще всего рассматривается как вспомо-
гательная задача для решения других задач машинного обучения, например
классификации, peipcccnn пли кластеризации. Однако она имеет и самостоя-
тельное применение.
Под уменьшением размерности (с англ, dimensionality reduction} в ма-
шинном обучении понимается процесс снижения числа признаков в наборе
данных. Признаки, которые являются избыточными, неинформативными или
слабо информативными, могут понизить эффективность модели. А после при-
менения методов уменьшения размерности модель становится более простой,
что приводит к уменьшению объема данных в памяти и ускорению работы ал-
горитмов машинного обучения.
Ьолее того, данные сохраняют свою исходную структуру после примене-
ния методов уменьшения размерности. Это означает, что все ранее изученные
алгоритмы могут быть по-прежнему применены к этим данным. Тогда возника-
ет вопрос: для чего же необходимо применение методов уменьшения раз-
мерности?
Во-первых, сжатие данных, поскольку большая таблица данных может
занимать много места на жестком диске, а уменьшив количество признаков в N
раз, мы уменьшаем размер файла с данными в те же самые N раз.
Во-вторых, ускорение предсказаний. Алгоритмам машинного обучения,
выполняющим предсказания, требуется меньше времени на обработку данных с
меньшим количеством признаков. При этом во многих задачах, особенно свя-
занных с онлайн-сервисами, существуют ограничения на время выполнения
предсказаний, например, поисковый запрос должен выполняться за доли секунды.
В-третьих, визуализация данных. Если алгоритм уменьшения размерно-
сти составит новую таблицу с двумя или гремя столбцами, то такие данные бу-
дет легко визуализировать, отложив по осям два или три новых признака.
В-четвергых, компактное и «правильное» описание объектов. Умень-
шение размерности позволяет выделить наиболее значимые признаки, которые
лучше всего описывают объекты, а также устранить шумовые или избыточные
признаки, которые могут ухудшать предсказание.
Далее рассмотрим основные группы алгоритмов уменьшения размерности.
Обычно выделяют два типа алгоритмов понижения размерности:
- алгоритмы отбора признаков,
- алгоритмы выделения новых признаков на основе исходных.
Первые просто удаляют столбцы из таблицы, а вторые вычисляют новые
столбцы по формулам, включающим все исходные столбцы.
Сначала сосредоточимся на первом типе. Может показаться, что здесь все
очень просто, нужно удалить несколько столбцов из таблицы, чтобы умень-
шить объем данных и ускорить процесс предсказания. Однако возникает во-
прос: как определить, какие признаки следует исключить?
Рассмотрим, к примеру, задачу предсказания спроса на товар в интернет-
магазине: объектом является товар, и нужно определить, какое количество то-
вара купят в течение следующего месяца, чтобы спланировать закупки. Это за-
дача относится к задаче регрессии.
Очевидно, что нужно удалять такие признаки, которые никак не помога-
ют нам правильно выполнять это предсказание. Например, если у каждого то-
вара есть уникальный артикул, не повторяющийся между товарами и представ-
ляющий собой случайный набор цифр, вроде 8 433 498 пли 89 923 900, то такой
артикул не несет никакой полезной информации о спросе на товар. Поэтому* со-
ответствующий столбец можно легко удалить из данных. Но с другими призна-
ками все может быть не так просто. Характеристики товара, такие как катего-
рия, бренд, отзывы покупателей, мотут в разной степени влиять на спрос.
Определение, какие из этих признаков действительно важны д.тя предсказания,
а какие можно исключить, требует детального анализа и, возможно, привлече-
ния экспертных знаний в предметной области.
К алгоритмам отбора признаков относят методы фильтрации, методы
обертки и встроенные методы.
Самыми простыми методами отбора признаков являются методы филь-
трации. которые проводят анализ каждого признака по отдельности. Например,
если у нас есть признаки «стоимость т овара» и «вес товара», то можно постро-
ить графики стоимость-спрос и вес-спрос, чтобы выяснить, зависит ли спрос от
каждого из этих признаков но отдельности.
Однако может оказаться, что вес товара влияет на спрос в совокупности с
другими признаками, например, более легкие туристические палатки покупают
чаще, чем более тяжелые, а для канцелярских ручек наоборот Такие сложные
зависимости методы фильтрации обычно не учитывают, что щраничивает их
эффективность в некоторых случаях.
Также в методах фильтрации используются не только визуальные, но и
числовые методы, которые количественно оценивают влияние признака на це-
левую переменную. Например, могут применяться статистические тесты, такие
как t-тест, хи-квадрат и корреляционный анализ.
Также отметим, что методы фильтрации не используют никаких а-нюрит-
мов предсказания и работают исключительно с данными.
Другой группой отбора признаков являются оберточные методы Эти
методы представляют собой более сложный подход к отбору признаков, кото-
рый включает обучение алгоритмов и оценку их качества на тестовой выборке.
Например, чтобы оценить, важен ли признак «вес товара», оберточный
метод сначала обучит алгоритм на данных, включая этот признак, а затем по-
вторит обучение на данных без этого признака (где столбец «вес товара» уда-
лен). После этого сравнивается качество предсказаний: если точность ухудша-
ется, значит, признак «вес товара» важен, иначе он удаляется.
Оберточные методы могут использовать две основные стратегии отбора
признаков: начиная с полного набора и последовательно удаляя наименее важ-
ные признаки или, наоборот, начиная с пустого набора и добавляя наиболее
важные признаки.
Несмотря па большую вычислительную сложность по сравнению с филь-
трационными методами, оберточные методы дают более надежные и обосно-
ванные результаты за счет учета взаимодействия между признаками.
Наконец, третья группа методов для отбора признаков — встроенные
методы Эти методы подразумевают, что алгоритм обучения самостоятельно
определяет, какие признаки важные, а какие нет.
Например, встроенным методом является регуляризация. Это специаль-
ный механизм, который настраивает веса в линейных моделях таким образом,
чтобы среди них было много нулевых значений. Это означает, что 1гризнаки,
соответствующие нулевым весам, не оказывают существенного влияния на
прогноз и могут быть исключены. Многие алгоритмы классификации и рецес-
сии включают встроенные методы отбора признаков.
Итак, методы отбора признаков помогают определить, какие признаки
можно удалить из данных, чтобы уменьшить размер данных и ускорить выпол-
нение предсказаний. Но, с другой стороны, неосторожный отбор признаков
может привести к снижению уровня качества (точности предсказаний).
Теперь перейдем ко второму типу. Методы выделения новых призна-
ков выполняют более сложную задачу: они создают дополнительные столбцы,
которые вычис.1гяются по формулам, зависящим от существующих данных в
столбцах. Иными словами, мы получаем новые столбцы, в которых стоят какие-
то числа. Что эти числа означают, как правило, известно только алгоритму, ко-
торый их создал, а для человека это будет просто набор неинтерпретируемых
чисел. Возникает вопрос: так для чего это делать?
Несмотря на то, что новые признаки человеку непонятны, они могут со-
держать гораздо больше информации об объектах, чем любой набор исходных
признаков того же количества.
Одним из наиболее популярных методов выделения признаков является
метод главных компонент (с англ, principal component analysis, РСА). Он
формирует новые признаки как линейные комбинации исходных признаков.
Г. е. каждый новый признак представляет собой сумму исходных признаков,
умноженных на определенные веса, которые настраиваются в процессе обуче-
ния. Это похоже на линейные модели регрессии, однако в случае регрессии це-
левая переменная известна, тогда как в РСА алгоритм сам определяет, что
означает полученная сумма.
Достоинства и недостатки метода такие же, как и у линейных методов: он
работает быстро, но выделяет слишком простые зависимости. Аналогично РСА
работает и другой алгоритм, который называется сингулярным значимым
разложением (с англ, singular value decomposition, SVD).
Автокодировщик — это специальная архитектура нейронных сетей,
предназначенная доя преобразования данных. Он представляет собой более
обобщенный подход по сравнению с методом главных компонент В с.тучае ли-
нейных моделей автокодировщики и метод главных компонент дают одинако-
вые результаты, но автокодировщики могут использовать более сложные архи-
тектуры, такие как многослойные нейронные сети. Это позволяет им выявлять
и обобщать нелинейные зависимости данных. Это делает автокодировщики бо-
лее мощным инструментом для задач снижения размерности и извлечения при-
знаков.
Автокодировщики часто используются в обработке видео и изображений,
чтобы, например, убирать лишний шум, найти похожий контент или материалы
по текстовому запросу.
Если же необходимо выделить признаки из текстовых данных, то лучше
использовать тематическое моделирование с применением таких алгоритмов,
как LSA (Latent Semantic Analysis) и LDA {Latent Dirichlet Allocation). При та-
ком подходе текст представляется в виде неупорядоченного набора слов, т.е.
вычисляются частоты встречаемости слов. Новые признаки, полученные в ре-
зультате тематического моделирования, соответствуют темам: один новый при-
знак — одна тема. Более того, каждый объект (текст) может относиться к раз-
ным темам. Например, текст может быть одновременно про политику, эконо-
мику и немножко литературу.
Выделенные признаки могут быть использованы для дальнейшего анали-
за и понимания структуры текстового набора. Они позволяют, например, сфо-
кусироваться на чтении наиболее релевантных текстов по конкретной теме
вместо необходимости ознакомления со всеми текстами. Кроме того, тематиче-
ские признаки можно применить для поиска похожих текстов, таких как книги,
посты в социальных сетях и т. д. Полученные тематические модели удобно ис-
пользовать для группировки новостей или обращений клиентов по похожим
тематикам, для этого к новым признакам нужно применить алгоритм кластери-
зации.
Также отдельного внимания заслуживают методы визуализации дан-
ных. Они тоже относятся к методам выделения новых признаков, но ставят пе-
ред собой особую задачу — найти два или три информативных признака для
наглядного представления данных. Хотя для визуализации данных можно при-
менять алгоритмы вроде РСА, автокодировщиков или тематического модели-
рования, но на практике такие подходы не всегда дают красивые 1рафики.
В этом случае используют метод уменьшения нелинейной размерности —
метод MHOi омерног о масштабирования (с англ. Multi-dimensional Scaling,
MDS). Он позволяет найти новые признаки так. чтобы схожести между объек-
тами, измеренные по исходным признакам, были примерно такими же, как
схожести между объектами, измеренные по новым признакам. Напомним, под
схожестью между объектами мы понимаем числовую величину, которая оцени-
вает. насколько похожи два объекта.
В дальнейшем метод AIDS был усовершенствован, что привело к созда-
нию метода t-SNE (t-Distributed stochastic neighbor embedding), который на се-
годняшний день считается самым популярным методом визуализации объектов.
Он был разработан Лорен ван дер Маатенс и Джеффри Хинтоном в 2008 году.
В отличие от РСА, t-SNE является вероятностным методом, а не математиче-
ским.
t-SNE нашел широкое применение для визуализации в различных обла-
стях. включая геномику, исследования в области компьютерной безопасности,
обработку естественного языка, анализ музыки, исследования рака, биоинфор-
матику, интерпретацию геологических областей и биомедицинскую обработку
сигналов
7.2. ЗАДАЧА ВЫЯВЛЕНИЯ АНОМАЛИИ
Выявление аномалий, также известное как обнаружение выбросов., пред-
ставляет собой процесс обнаружения редких данных, событий или наблюдений,
которые вызывают подозрения из-за значительного отличия от большей части
данных. Аномальные данные могут указывать на различные проблемы, такие
как мошеннические действия в банковской сфере, структурный дефект, меди-
цинские заболевания, нарушения в экологической сфере или ошибки в тексте.
Такие аномалии могул также называться выбросами, необычностями, шумом,
отклонениями или исключениями.
Для решения задач выявления аномалии существует множество методов
статистические методы, методы машинного обучения и алгоритмы глубокого
обучения.
Выбор метода обнаружения аномалий зависит от конкретной задачи, типа
данных и доступных ресурсов Статистические методы отлично подходят для
1тросгых задач и позволяют быстро выявлять аномалии. Методы машинного
обучения имеют большую гибкость и могут работать с различными типами
данных. Алгоритмы глубокого обучения являются наиболее мощными, но тре-
буют значительных вычислительных затрат и высокой квалификации специа-
листов.
Методы обнаружения аномалий становятся все более востребованными в
современном мире, где информационная безопасность и защита данных приоб-
ретают ключевое значение. По мере развития технологий и стремительного ро-
ста данных методы выявления аномалий будут развиваться и совершенство-
ваться.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1 Что такое уменьшение размерности?
2. Для чего применяются методы уменьшения размерности?
3. Какие типы алгоритмов уменьшения размерности существуют?
4. Какие методы относятся к алгоритмам отбора признаков?
5. Как работают методы фильтрации в отборе признаков?
6. Как работают оберточные методы?
7. Как встроенные методы определяют, какие признаки важны?
8. Какие методы относятся к алгоритмам выделения новых признаков на
основе исходных?
9. Метод главных компонент. Его достоинства и недостатки.
10. Для каких задач используются автокодировщики?
J1. Чем автокодировщики отличаются от метода главных компонент?
12. Как тематическое моделирование применяется для выделения призна-
ков из текстовых данных?
13. Отличие метода t-SNE от РСА.
14. Что такое выявление аномалий?
15. На какие проблемы могут указать аномальные данные?
16. Какие методы используются для обнаружения аномалии?
17. Почему методы обнаружения аномалий становятся все более востре-
бованными?
ТЕМА 8. ВИДЫ МАШИННОГО ОБУЧЕНИЯ
Современные технологии машинного обучения открывают широкие воз-
можности для решения самых разнообразных задач — от предсказания спроса
до распознавания речи. Но чтобы эффективно применять методы машинного
обучения, необходимо знать основные виды и принципы работы.
В настоящее время машинное обучение подразделяется на следующие
виды (рис. 8.1):
- классическое обучение;
- обучение с подкреплением;
- ансамблевые методы;
- тлубокое обучение.
Рис. 8. L Основные виды машинного обучения
Выбор вида машинного обучения определяется характером входных и
выходных данных, спецификой решаемой задачи и требованиями к модели.
Давайте подробнее рассмотрим каждый из основных видов машинного
обучения Это позволит нам лучше понять их принципы работы, преимущества
и ограничения. Начнем с классического машшшого обучения, которое является
основой многих современных алгоритмов, и постепенно перейдем к более
сложным и передовым алгоритмам.
8.1. КЛАССИЧЕСКОЕ МАШИННОЕ ОБУЧЕНИЕ
Классическое машинное обучение (с англ. Classical Machine Learning)
основывается на классических статистических алгоритмах и предназначено для
решения задач, связанных с принятием решении на основе данных.
Данное направление машинного обучения подразде.тяегся на два основ-
ных подхода: обучение с учителем и обучение без учителя (рис. 8.2).
Рис. 8.2. Виды классического машинного обучения
Обучение с учителем, или контролируемое обучение, является наиболее
популярной и простой для понимания парадигмой машинного обучения.
И очень похоже на обучение ребенка с использованием карточек, когда ребенок
учится сопоставлять картинки на карточках с их названиями.
В обучении с учителем алгоритмы используют предварительно размечен-
ные, или маркированные, данные (рис. 8.3).
Рис. 8.3. Обучение с учителем | 13]
Для каждого набора входных признаков известен соответствующий вы-
ходной ответ, будь то метка класса или значение целевой переменной.
Алгоритм анализирует эти размеченные данные, выявляя закономерности
между входными признаками и выходными ответами. На основе этого анализа
строится предсказательная модель, которая в дальнейшем может использовать-
ся для прогнозирования выходов для новых, ранее не встречавшихся данных.
Обучение с учителем включает два основных типа задач: регрессию и
классификацию.
Предположим, у нас есть сведения о десяти тысячах квартир в городе
Ханты-Мансийске (табл. 1). Эти данные включают в себя такие характеристи-
ки, как площадь, количество комнат, этаж, наличие или отсутствие парковки у
дома, расстояние до центра, цена квартиры и т.п.
Паша задача заключается в построении модели, которая сможет предска-
зывать рыночную стоимость квартиры по ее параметрам.
В данном случае характеристики квартир являются признаками, стои-
мость каждой квартиры — это известные ответы (целевая переменная).
Алгоритму' предстоит решить задачу регрессии — научиться предсказы-
вать цену квартиры на основе входных признаков. Это может быть полезно для
риелторов, покупателей недвижимости.
Таблица 1
Фрагмент данных о квартирах в юроде Ханты-Мансииске
Признаки обьекта Целевая переменная, которую прот позируем
Объект ы А'з Лз Л *5 У
№ Пло- щадь, кв. м. Количество комнат Этаж Наличие парковки Расстояние до цен т ра, км Цена квартиры, млн руб.
1 78 3 11 Да 0.5 8,5
2 95 3 4 Да 1.7 14
3 54 2 7 Нет 1.9 6,7
4 60 2 10 Да 4 7,3
• • •
9999 34 1 1 Да 0.6 4,7
10 000 65 2 3 Да 10 7,2
Теперь рассмотрим задачу профориентации старших школьников как за-
дачу классификации в машинном обучении. Предположим, у нас есть следую-
щие данные (табл. 2):
- успеваемость по основным предметам (математике, физике, информа-
тике, химии, биологии, русскому языку, истории;;
- результаты психологических тестов, которые оценивают 1Q учащихся,
их личные черты и склонности;
- демографические данные, включая пол и возраст;
- информация о будущей профессии, которую планирует получить каж-
дый школьник.
Наша задача заключается в построении модели, которая на основе имею-
щихся данных о школьнике будет предсказывать наиболее вероятную будущую
профессию. Процесс обучения модели будет заключаться в анализе взаимосвя-
зей между входными признаками и целевой переменной. Модель обучается на
размеченных дашгых, где каждому школьнику соответствует выбранная про-
фессия.
Таблица 2
Фрагмент данных из профориентации старших школьников
Признаки объекта Целевая переменная
№ ФИО ученнка Пол Возраст, лег Мат., балл Рус. ИЗ., балл Биология, батл IQ Будущая профессия
1 Костенко И.С. м 17 95 88 60 140 Программист
2 Петров А.С. м 16 90 80 60 120 Экономист
3 Глазкова ЕВ ж 17 90 70 70 130 Архитектор
4 Шевчук ОП ж 16 70 80 90 128 Биолог
. . .
Обучение без учителя, также известное как неконтролируемое ма-
шинное обучение, подразумевает использование алгоритмов, которые обуча-
ются на немаркированных, или неразмеченных, данных. В этом случае алго-
ритм полу чает только сырые входные данные, которые не требуют первичной
обработки.
Поскольку данные не размечены, алгоритм не знает, как они должны
быть классифицированы или сгруппированы. Он анализирует данные и само-
стоятельно проводит кластеризацию данных, разделяя их на труппы со схожи-
ми показателями (рис. 8.4).
Рис 8.4. Обучение без учителя [13]
Обучение без учителя используется для кластеризации (группировка
схожих объектов), снижения размерности (упрощение данных с сохранением
их структуры) и поиска ассоциативных правил.
С такими задачами мы более подробно знакомились в предыдущих темах.
8.2. ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ
Как известно, в классическом машинном обучении сначала собираются
исходные данные, затем алгоритм обучается на этих данных, и в конце произ-
водится оценка качества работы алгоритма с использованием метрик. Однако
есть задачи, в которых такая схема с тремя шагами неэффективна, сбор данных
и обучение происходят прямо в процессе применения алгоритма. Область ис-
кусственного интеллекта, изучающая такие задачи, называется обучением с
подкреплением.
В обучении с подкреплением алгоритм обучается самостоятельно на сы-
рых данных, взаимодействуя с незнакомой средой и получая образную связь на
свои действия (рис. 8.5).
Ключевыми компонентами обучения с подкреплением являются:
1. Агент — это алгоритм, который принимает решения и взаимодействует
с окружающей средой.
2. Окружающая среда — контекст, в котором действует агент и откуда он
получает обратную связь.
3. Состояние — информация об окружающей среде, доступная агенту в
дангплй момент времени.
4. Действие — решение, которое принимает агент на основе текущего со-
стояния.
5. Награда — сигнал обратной связи, который агент получает от окружа-
ющей среды за предпринятое действие.
В качестве простого примера рассмотрим задачу, где робот должен за-
бросить мяч в корзину. В этом случае робот является агентом, а его действия —
эго всевозможные движешгя рук для совершения броска. Окружающий мир.
включающий в себя расположение корзины, траекторию полета мяча и другие
факторы, представляет собой среду, в которой действует робот. Каждое успеш-
ное попадание мяча в корзину приносит роботу награду в виде очков.
Рис. 8.5 Обучение с подкреплением [ 13]
Таким образом, обучение с подкреплением представляет собой повторя-
ющийся цикл взаимодействия агента с окружающей средой. Основными шага-
ми иного цикла являются:
1. Агент выполняет действие со средой.
2. Среда генерирует награду или штраф для агенга и обновляет состояние.
3. На основе полученной награды агент корректирует свою стратегию.
Т.е. в начале взаимодействия со средой агент не знает, какие действия
наиболее выгодно использовать, поэтом}' он часто выбирает действия случайно.
Однако по мере получения Hai рад или штрафов за свои действия агент
запоминает, какие действия и в каких ситуациях наиболее эффективны.
Стоить отметить, что не только среда влияет на стратегию агента, но и
сама среда меняется в ответ на его действия Таким образом, возникает непре-
рывная обратная связь — агент принимает решения, которые влияют на среду,
а изменения в среде, в свою очередь, требуют от агента корректировки его
стратегии .Агент учится путем проб и ошибок, накапливая опыт взаимодей-
ствия со средой.
Главная цель агента в этом процессе — выбрать те тактики, которые поз-
волят ему максимизировать общую выгоду.
Сейчас обучение с подкреплешгем активно используется в любых зада-
чах. где описать срегту легче, чем правильное поведение. Примерами таких за-
дач являются:
1, Программирование компьютерных игр. Например, современные
1111-агенты, такие как AlphaZero и AlphaGo, научились играть в сложные игры,
такие как Го, исключительно путем самообучения.
Похожий подход применяется в шре Super Mai io. Здесь агентом является
алгоритм обучения, который пытается максимизировать свой игровой счет. Он
выбирает различные действия, т.е. состояния игровых кнопок, и получает соот-
ветствующие награды или штрафы от среды — самой игры.
Другим примером успешного применения обучения с подкреплением в
играх является обучение агентов для игры DOTA 2 от компании ОрепА! и д.тя
игры Starcraft II от компании DeepMind В обоих случаях ИИ-системы смогли
превзойти профессиональных киберспортсменов.
2. Создание робототехнических систем. В робототехнике обучение с
подкреплением применяется для решения широкого спектра задач.
Одними из ключевых задач являются управление движением и навигация
робота. Робот учится перемещаться в среде, избегая препятствий и достигая це-
левых позиций.
Другой важной задачей яв.тяется манипуляция объектами. Робот осваива-
ет эффективные стратегии взаимодействия с предметами, их поднятия, пере-
мещения, сборки.
Еще одно применение — это адаптация к изменяющимся условиям. Робот
учится подстраиваться под новые ситуации, например, при поломке или износе
компонентов.
Вместе с тем существуют и определенные сложности. Так, прямое обуче-
ние роботов в реальном мире может быть затратным и связано с повышенным
риском повреждения оборудования. Поэтому часто применяется предваритель-
ное обучение в симуляторе с последующей доводкой на реальном роботе. Так-
же остается проблема масштабирования — переноса обученных моделей с од-
ного робота на другой, с одной среды на другую.
3. Разработка беспилотного транспорта. При разработке беспилотных ав-
томобилей обучение с подкреплением используется для решения таких задач, как:
- управление движением. Автомобиль учится плавно и безопасно пере-
мещаться по дорогам, выполняя маневры объезда препятствий, соблюдения ди-
станции, выбор оптимальной траектории и скорости. Агент-алгоритм получает
награды за соблюдение правил дорожного движения и предотвращение аварий-
ных ситуаций;
- распознавание окружающей среды. Обучение с подкреплением помота-
ет автомобилю обнаруживать и классифицировать объекты па дороге. Это дру-
гие транспортные средства, пешеходы и дорожные знаки;
- планирование маршрута. Агент-алгоритм учится прокладывать опти-
мальные маршруты следования, учитывая текущую дорожную обстановку,
пробки, погодные условия и другие факторы. Он получае! награды за миними-
зацию времени и расстояния поездки
4. Разработка трейдинговых богов для фондовых рынков. При разра-
ботке грейдинговых ботов решаются такие ключевые задачи, как анализ ры-
ночных данных, принятие торговых решений, управление портфелем.
Далее рассмотрим алгоритмы обучения с подкреплением.
Одним из наиболее известных алгоритмов обучения с подкреплением яв-
ляется Q-Обучение, или Q-lcariiing. Основная идея заключается в том, что
агент учится оценивать ожидаем}-ю суммарную награду для каждого возмож-
ного действия в данном состоянии. Данный алгоритм используется в тех зада-
чах. в которых количество возможных действий и состояний невелико.
Если количество возможных состояний среды очень велико, а число до-
ступных действий при этом остается относительно небольшим, эффективным
решением становится использование нейронных сетей. Такой алгоритм называ-
ется Deep Q-Network (DQN). Идея алгоритма заключается в том, что нейрон-
ная сеть обучается предсказывать ожидаемую суммарную награду для каждого
возможного действия в текущем состоянии среды. Среди концептуально похо-
жих алгоритмов можно выделить алгоритм SARSA {Stafe-Aclion-Revvard-Stale-
Action).
Если количество возможных действий очень велико, то используют под-
ходы, в которых нейронная сеть учится предсказывать следующее действие по
состоянию сред. К такому подходу относится алгоритм Reinforce.
Но наиболее успешными часто оказываются комбинированные подходы,
в которых одна нейросеть предсказывает суммарную награду, а другая — сле-
дующее действие. Примером такого подхода является метод АЗС (Asynchronous
Advantage Actor Critic).
Таким образом, алгоритмы обучения с подкреплением представляют
мощные инструменты для решения сложных задач, требующих адаптивного
поведения и оптимизации действий в динамических средах.
8.3. АНСАМЬЛЕВЫЕ МЕТОДЫ ОьУЧЕНИЯ
Когда перед нами стоит сложная вычислительная задача и ни один из из-
вестных алгоритмов не может идеально справиться с ней, то эффективным ре-
шением становится использование ансамблевых методов.
Ансамблевые меюды представляют собой подход, при котором объеди-
няются несколько базовых алгоритмов обучения. Работая вместе, эти алгорит-
мы позволяют построить модель, которая оказывается более эффективной и
точной, чем любая из моделей, построенных с помощью отдельного алгоритма.
Модель, созданная на основе ансамблевого подхода, обычно называют
метамодслью. Ее главное преимущество заключается в том, что она способна
извлекать дополнительную полезную информацию из множества базовых мо-
делей и, как следствие, демонстрирует более высокую производительность и
устойчивость к ошибкам по сравнению с отдельными алгоритмами.
Что касается оптимального количества моделей, входящих в состав ан-
самбля, то пока не существует четких универсальных критериев. Тем не менее
при построении ансамблевых методов во многих случаях наилучшие результа-
ты достигаются, когда количество моделей равно числу классов.
На сегодняшний день именно ансамблевые методы, обеспечивающие
точные результаты, находят широкое применение в крупных компаниях, для
которых важна быстрая обработка больших объемов данных.
Ансамблевые методы находят широкое применение в самых разнообраз-
ных сферах.
Одним из ключевых направлении является дистанционное зондирова-
ние Земли. Здесь ансамблевые методы применяются для карто]рафирования
земного покрова, идентифицируя такие объекты, как дороги, здания, водоемы и
растительность. Кроме того, они используются для обнаружения изменений в
землепользовании, динамике лесов и мониторинга стихийных бедствий.
В области компьютерном безопасности ансамблевые методы показыва-
ют эффективность в задачах обнаружения вредоносных программ, классифици-
руя различные виды вирусов, червей, троянов и шпионского ПО.
Распознавание лиц — еще одно популярное направление, где ансамбле-
вые методы отлично справляются с идентификацией или верификацией челове-
ка по его цифровому изображению.
Кроме того, ансамблевые методы используются в принятии финансовых
решений, в частности для прогнозирования финансовых кризисов, анализа из-
менений тта фондовом рынке и выявления подозрительных признаков манипу-
лирования ценами на акции.
Также важной областью применения ансамблевых методов является ме-
дицина, где они успешно применяются в неврологии, медицинской диагности-
ке, например при обнаружении нейрокогнитивных расстройств, таких как бо-
лезнь Альцгеймера.
Среди наиболее известных ансамблевых методов машинного обучения
выделяют следующие три подхода:
- бэггинг (bagging);
- бустинг (boosting);
- стекинг (stacking).
Каждый из этих подходов по-своему комбинирует несколько базовых мо-
делей для получения более мощного и надежного алгоритма.
Начнем с рассмотрения бэггинга — одного из первых и самых простых
видов ансамблевых методов.
Бэггинг — это сокращение от английского bootstrap aggregating.
Принцип рабозы бэггинга рассмотрим на примере популярных сервисов,
таких как LinkedIn, Одноклассники, ВКонтакте, Вайлдберриз, Tiki ok, Behance,
Xing, Netflix, Lunacy. RuTube (рис. 8.6. рис. 8.7).
Рис. 8.6. Процесс бэггинга
w п*ы медидо*
Рис. 8.7. Процесс бэггинга на примере
1ПОааШК>ркМ1«14НГЫ4ДМЫЛ. ЙЛММЫХ
а
I
Пусть имеется обучающая выборка X, состоящая из М объектов. В нашем
случае обучающей выборкой является выборка из 10 популярных сервисов.
Из этой исходной выборки X создается N независимых подвыборок, или
наборов данных, размера К, где К может быть меньше или равно /И Важно, что
формирование наборов происходит с возвращением, т. е. некоторые объекты
могут повторяться в каждом из У наборов. В примере формируются 6 наборов
данных.
Для каждого из У независимых наборов параллельно обучается своя базо-
вая модель, например дерево решений, нейронная сеть или любой алгоритм
машинного обучения. При этом базовые модели могут опираться как на один и
тот же алгоритм, так и па разные алгоритмы. А определение конечного резуль-
тата формируется путем агрегирования результатов всех моделей. В случае
классификации используется мода — наиболее часто встречающийся класс, а в
случае регрессии — среднее арифметическое.
В нашем примере рассматривается задача классификации — определение
самого популярного сервиса. П после агрегирования результатов 6 моделей
наиболее часто встречающимся сервисом оказался сервис «Одноклассники».
Наиболее попу.гярным примером применения бэггинга является алгоритм
Random Foresl («Случайный лес»), предложегшый Лео Ьрейманом в 1994 году для
улучшения точности классификаторов на основе деревьев решений.
Другим примером использования бэггинга является задача обнаружения лиц
на изображении. При использовании камеры на смартфоне мы видим, что она мо-
ментально распознает и выделяет лица людей в кадре прямоугольниками.
Бэггинг имеет как достоинства, так и недостатки.
Среди основных достоинств следует выделить:
1. Повышение точности и стабильности предсказаний.
2. Универсальность.
3. Устойчивость к переобучению.
4. Возможность параллельной реализации.
Вместе с тем бэггинг имеет и ряд определенных недостатков.
Во-первых, это высокая вычислительная сложность, поскольку необхо-
димо обучать большое количество базовых моделей, что требует значительных
вычислительных ресурсов.
Во-вторых, слабая математическая обоснованность улучшения точности
предсказаний.
В-третьих, результат его работы может быть недетерминированным из-за
случайного формирования выборок.
В-четвертых, ансамблевая модель, полученная в результате бэггинга,
имеет сложные внутреннюю структуру и логику принятия решения, что за-
трудняет ее интерпретацию.
Теперь перейдем к изучению бустиига. Это один из наиболее распро-
страненных на практике ансамблевых методов машинного обучения. В отличие
от бэггинга, где модели обучаются независимо и параллельно друг от друга, в
бустинге базовые модели строятся последовательно и каждая следующая мо-
дель обучается с учетом ошибок, допущенных предыдущими моделями в ан-
самбле (рис. 8.8). Более того, бустинг оперирует только базовыми моделями
одного типа.
RuwiitniHM* аденме
Нзнгыги ныг даыкьа
HtiMwriuiMr дшмые
Рис. 8.8. Процесс бустиига
И считается, что бустинг дает более точные результаты, чем бэттинг, но
при этом склонен к переобучению.
Рассмотрим наиболее известные алгоритмы бустинг-моделей.
1. Адаптивный бустинг. AdaBoost является одним из самых ранних и
популярных алгоритмов адаптивного бустинга Был предложен в 1995 году Йо-
авом Фройндом и Робертом Шапире. Данный алгоритм способен адаптировать-
ся и самостоятельно корректировать классификаторы на каждой итерации бу-
стинга. Его можно использовать с различными алгоритмами классификации для
повышения их эффективности.
На начальном этапе AdaBoost присваивает одинаковый вес каждому объ-
екту' в обучающей выборке. После каждой итерации AdaBoost автоматически
корректирует веса объектов. Объекты, которые были неверно классифицирова-
ны, на следующей итерации приобретают больший вес. Процесс повторяется до
тех пор, пока остаточная ошибка или разница между фактическими и прогнози-
руемыми значениями не достигнут приемлемого уровня.
2. Градиентный бустинг был предложен в 1999 году' Джеромом Фрид-
маном, но в отличие от AdaBoost, он не присваивает неправильно классифици-
рованным элементам больший вес, он используег метод градиентного спуска
для минимизации функции потерь. По этой причине градиентный бустинг дает
более точные результаты. Подходит как для задач классификации, так и для за-
дач регрессии.
Существует много реализаций градиентного бустинга, каждая из которых
обладает своими достоинствами, однако самыми распространенными являются:
- Extreme Gradient Bossling (XGBoost), разработанный Тяныщ Ченом в 2014
юду';
- Light Gradient Bossting Machine (LightGBM), разработанный командой
инженеров Microsoft в 2016 году,
- Categorial Feature Boosting (CatBoost), разработанный командой «Ян-
декса» в 2017 году'.
В течение последнего десятилетия бустинг остаётся одним из наиболее
популярных методов машинного обучения, наряду с нейронными сетями.
Основными преимуществами бустинга являются:
1. Во-первых, это простота реализации. Алгоритмы бустинга легко по-
нять и интерпретировать. Они способны обучаться на своих ошибках, не тре-
буют предварительной обработки данных и имеют встроенные процедуры для
работы с отсутствующими значениями. Более того, большинство языков про-
граммирования имеют встроенные библиотеки для реализации алгоритмов бу-
стинга.
2. Во-вторых, уменьшение смещения Под смещением в машинном обу-
чении понимают наличие неопределенности или неточности в результатах По-
следовательно объединяя несколько «слабых» моделей, алгоритмы бустинга
позволяют уменьшить общее смещение модели, повышая точность прогнозов,
общую производительность и качество модели в целом.
3. В-третьих, эффективное] ь алгоритмов. Алгоритмы бустинга способны
эффективно работать с большими наборами данных, сокращая используемое
количество используемых признаков, что делает их вычислительно экономич-
ными.
Несмотря на приведенные достоинства, следует сказать и об основ-
ных недостатках бустинга:
1. Уязвимость к выбросам в данных. Модели бустинга чувствительны к
аномальным значениям в обучающей выборке, которые могут сильно искажать
результаты и снижать качество модели.
2. Сложность реализации в режиме реального времени. Поскольку бу-
стинг предполагает последовательное обучение множества «слабых» моделей,
это может замедлять вычислительные процессы и усложнять использование ал-
горитмов в приложениях, требующих мгновенной обработки данных и выдачи
результатов.
Реальные примеры работы бустинга можно наблюдать в известных пн-
тернет-сервисах и приложениях, которые мы используем ежедневно.
Например, поисковая система «Яндекс» использует бустинг-модели для
ранжирования результатов поиска.
Пли возьмем сервис бронирования отелей Booking.com. Здесь бустинг
применяется для персонализации рекомендаций. Модели бустинга анализирую]
предпочтения и поведение конкретного пользователя, его прошлые бронирова-
ния, чтобы предложить ему наиболее подходящие варианты размещения.
Аналогично рекомендательные системы Netflix также активно использу-
ют бустинг для персонализации подборки фильмов и сериалов для каждого
пользователя.
Теперь рассмотрим последний подход ансамблевых методов. Стекши
возник на фоне ранних исследований в области ансамблевого обучения. Этот
метод был предложен еще в 1992 году Дэвидом Воллертом.
Основная же идея стекинга заключается в объединении нескольких базо-
вых моделей машинного обучения таким образом, чтобы использовать их силь-
ные стороны д.1тя компенсации индивидуальных недостатков каждой из них.
В дальнейшем стекинг постепенно становился все более популярным.
Так, в 2000-х годах он начал активно использоваться в различных соревновани-
ях по машинному обучению, таких как Kaggle. Участники этих соревнований
заметили, что комбинация нескольких моделей дает значительные преимуще-
ства по сравнению с использованием одной модели. А в 2010-х годах с развити-
ем вьргислительных мощностей и доступности больших объемов данных сте-
кинг стал использоваться в промышленных приложениях крупными компания-
ми, такими как Google. Amazon, Microsoft.
Теперь давайте рассмотрим основные шаги процесса стекинга (рис. 8.9):
1. Выбор базовых моделей. Процесс стекинга начинается с выбора не-
скольких базовых моделей, которые могут быть как простыми, например ли-
нейная регрессия, так и более сложными, например деревья решений или
нейронные сети.
2. Обучение базовых моделей. Каждая базовая модель обучается на од-
ном и том же наборе данных. Важно, чтобы данные для обучения были разбиты
на обучающую и текстовую выборки, чтобы избежать переобучения и обеспе-
чить надежность результатов.
3. Предсказания на тестовом наборе данных. После завершения обуче-
ния базовые модели используются для получения результатов предсказания на
тестовом наборе данных. Результаты этих предсказаний используются для
формирования нового набора данных. Этот набор данных состоит из предска-
заний базовых моделей для каждого объекта в обучающей выборке.
4. Обучение метамодели. Далее на новом наборе дашплх (метаданных)
обучается метамодель Эта метамодель принимает в качестве входных данных
результаты, полученные от каждой базовой модели, и использует их для гене-
рации финального предсказания.
Рис. 8.У. Процесс стекинга
Таким образом, процесс стекинга включает несколько этанов, каждый из
которых играет важную роль в создании более точной и надежной модели для
предсказания.
Исходя из описанного процесса, можно выделить основные достоин-
ства стекинга:
1. Повышение качества прогнозирования, поскольку объединение резуль-
татов различных базовых моделей позволяет уменьшить систематическую
ошибку и дисперсию.
2. Разнообразие моделей. Возможность комбинировать модели разных
типов позволяет использовать сильные стороны каждой из них для достижения
лучших результатов.
3. Универсальность. Стекинг применяется к различным задачам машин-
ного обучения, включая классификацию, регрессию и прогнозирование вре-
менных рядов.
Несмотря на эти достоинства, стекинг также имеет и свои недо-
статки:
1. Основным из них является сложность в интерпретации финальной мо-
дели. Объединение нескольких базовых моделей приводит к тому, что конечная
модель становится менее прозрачной и понятной.
2. Кроме того, стекинг связан с высокими вычислительными затратами.
Обучение нескольких базовых моделей и метамодели требует значительных ре-
сурсов, особенно для больших наборов данных.
3. Еще одним недостатком является риск переобучения, который возни-
кает при неправильном подборе и настройке базовых моделей.
КОНТРОЛЬНЫЕ ВОПРОСЫ И ЗАДАНИЯ
1 Какие виды машинного обучения существуют?
2. На чем основывается классическое машинное обучение?
3. Как подразделяется классическое машинное обучение?
4. Что такое обучение с учителем?
5. Какие типы задач включает обучение с учителем?
6. Приведите примеры из жизни, которые относятся к обучению с учителем.
7. Что такое обучение без учителя?
8. Чем отличается обучение с учителем от обучения без учителя?
9. Приведите примеры из жизни, которые относятся к обучению без учителя.
10. Что такое обучение с подкреплением?
11 Назовите ключевые компоненты обучения с подкреплением.
12. Приведите основные шаги обучения с подкреплением.
13. В каких задачах используется обучение с подкреплением?
14. Какие задачи решает обучение с подкреплением в робототехнике?
15. Как используется обучение с подкреплением в разработке беспилот-
ного транспорта?
16. Как применяется обучение с подкреплением в финансовой сфере?
17. Какие алгоритмы обучения с подкреплением существуют?
18. В чем заключается основная идея алгоритма Q-обучения?
19. В чем заключается идея алгоритма Deep Q-Network? В каких случаях
он используется?
20. В каких случаях используется алгоритм Reinforce?
21. Что такое ансамблевые методы обучения и почему они эффективны
для решения сложных задач ?
22. Существует ли универсальный критерий для определения оптималь-
ного количества моделей в ансамбле?
23. В каких сферах применяются ансамблевые методы?
24. Назовите три основных подхода, которые используются в ансамбле-
вых методах.
25. Чю такое бэггинг? Опишите принцип его работы
26. Какие достоинства и недостатки бэггинга вы можете пазвазь?
27. В чем отличие бустинга от бэггинга?
28. Назовите наиболее известные алгоритмы бустинг-моделей.
29. Назовите самые известные реализации градиентного бустинга.
30. Какие достоинства и недостатки бустинга вы можете назвать?
31. Приведите реальные примеры работы бустинга.
32. В чем заключается основная идея стекинга?
33. Какие основные этапы включает в себя процесс стекинга?
34. Какие достоинства и недостагки стекинга вы можете назвать?
35. Какие базовые модели могул использоваться в стекинге?
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Баланов, А. Н. Машинное обучение и искусственный интеллект :
учебное пособие для вузов / А. В Баланов. — Санкт-Петербург : Лань, 2024. —
172 с.
2. Бессмертный, И. А. Интеллектуальные системы : учебник и практи-
кум для вузов / И. А. Бессмертный, А. Б. Нугуманова, А. В Платонов. —
2-е изд. — Москва : Юрайт, 2025. — 250 с.
3. Вьюгин, В. В. Математические основы машинного обучения и прогно-
зирования : учебное пособие / В. В. Вьюгин. — Москва: МЦНМО, 2014.—
304 с.
4. Запечников, С. В. Основы интеллектуального анализа данных и ма-
шинного обучения: Конспект лекций : учебное пособие / С. В. Запечников. —
Москва : НИЯУ МИФИ, 2022. — 136 с.
5. Кугаевских, А. В Классические методы машинного обучения : учебное
пособие / А. В Кугаевских, Д. И. Муромцев, О. В Кирсанова. — Санкт-
Петербург : НИУ ИТМО, 2022. — 53 с.
6. Метрики качества линейных регрессионных моделей. — URL:
https://loginom.ru/blog/quality-nietrics (дата обращения: 10.04.2025).
7. Метрики качества моделей бинарной классификации. — URL:
https://loginom.ru/blog/classification-quality (дата обращения- 10.04.2025).
8. Платонов, А. В Машинное обучение : учебное пособие для вузов /
А В. Платонов. — 2-е изд. —Москва : Юрайт, 2025. — 89 с.
9. Степанов, Ю. А. Системы искусственного интеллекта : учебное посо-
бие / Ю. А. Степанов, А. В. Вылегжанина, Л. П. Бурмин. — Кемерово : КемГУ,
2024. — 102 с.
10. Tayjuiu, Т. Основы искусственного интеллекта: нетехническое введе-
ние / перевод с английского. — Санкт-Петербург: БХВ-Петербург, 2021 —
288 с.
11. Учебник по машинному обучению. — URL: https://education.yandex.ru/
handbook/ml (дата обращения: 16.12.2024).
12. Фальк, К. Рекомендательные системы на практике : руководство /
К. Фальк ; перевод с английского Д. М. Павлова. — Москва : ДМК Пресс,
2020.-448 с.
13. Data Science-дайджест № 10: полезные статьи для аналитиков.—
netology.ru. — URL: https://netology.ru/blog/09-2019-data-science-daydjest-10 (да-
та обращения: 16.12.2024).