BSc:B1.O.23 MFAI 2024 Introduction to Machine Learning 7s
Введение в машинное обучение
Квалификация выпускника: бакалавр
Направление подготовки: 09.03.01 Информатика и вычислительная техника
Направленность (профиль) образовательной программы: Математические основы искусственного интеллекта
Программу разработал(а): Хан А. М., Соколов Е.А.
1. Краткая характеристика дисциплины
Изучение дисциплины (модуля) «Введение в машинное обучение» обеспечивает формирование и развитие компетенций обучающихся в области анализа данных, разработки и применения алгоритмов машинного обучения, их применение для решения различных прикладных задач в рамках профессиональной деятельности.
2. Перечень планируемых результатов обучения
Целью освоения дисциплины (модуля) является формирование знаний, умений и навыков в рамках профессиональной деятельности, позволяющих успешно работать в избранной отрасли, а также обладать компетенциями, способствующими социальной мобильности, устойчивости и конкурентоспособности обучающегося в условиях современных рыночных отношений.
Задачами дисциплины являются ознакомление с основными понятиями и принципами машинного обучения, включая обучение с учителем (классификация и регрессия) и методы анализа данных; изучение методов предобработки данных (очистка, нормализация, кодирование категориальных признаков) и их важности для успешного обучения моделей; изучение линейных моделей (регрессия и классификация) и интерпретация их результатов в реальных задачах; овладение структурой и алгоритмами построения решающих деревьев, а также ансамблевыми методами (случайные леса, градиентный бустинг) для повышения точности моделей; ознакомление с основами кластеризации и методами снижения размерности (например, K-средние и PCA) для анализа неразмеченных данных; изучение методов коллаборативной и контентной фильтрации в рекомендательных системах; ознакомление с концепциями адаптации домена и переноса обучения для улучшения производительности моделей в изменяющихся условиях.
Общая характеристика результата обучения по дисциплине
Знания: сформированы систематические знания предмета в полном объеме рабочей программы.
Умения: сформированы умения анализировать, сравнивать, классифицировать, обобщать, конкретизировать и систематизировать изученный материал, выделять в нем главное: устанавливать причинно-следственные связи.
Навыки (владения): сформировано владение навыками формулировки ответов; навыками свободного чтения результатов анализов и других исследований и решения ситуационных задач повышенной сложности; навыками работы с основной литературой и методами исследования большого объема, необходимого для практической деятельности; навыками соединения теоретических аспектов предмета с задачами практического значения.
3. Структура и содержание дисциплины
| № раздела | Наименование раздела дисциплины (модуля) | Содержание дисциплины (модуля) по темам |
| 1. | Введение в машинное обучение и анализ данных | Введение. История анализа данных. Постановки задач в машинном обучении: классификация, регрессия, ранжирование, кластеризация, латентные модели. Примеры задач. Виды данных: структурированные таблицы, тексты, изображения, звук. Признаки. |
| 2. | Линейные модели | Аналитическое и численное решение задачи МНК. Градиентный спуск, методы оценивания градиента. Функции потерь. Регуляризация. Квантильная регрессия (постановка задачи и примеры использования). Методы оценивания обобщающей способности, кросс-валидация. Метрики качества регрессии. Аппроксимация эмпирического риска. Персептрон. Метод опорных векторов, его двойственная задача (без ядер). Задача оценивания вероятностей, логистическая регрессия. Идея калибровки вероятностей. Оптимизация второго порядка (идея и предпосылки для использования). Обобщённые линейные модели. Метрики качества в задачах классификации. Multiclass- и multilabel-классификация. Особенности многоклассовых задач. Метрики качества. Методы решения multilabel-задач, основанные на матричных разложениях. |
| 3. | Решающие деревья | Общий алгоритм построения, критерии информативности. Конкретные критерии для классификации и регрессии. Тонкости решающих деревьев: обработка пропущенных значений, стрижка, регуляризация. |
| 4. | Композиции моделей | Общая идея bias-variance decomposition. Бэггинг и метод случайных подпространств. Случайные леса и extra random trees. Бустинг. Градиентный бустинг над решающими деревьями. Имплементации: xgboost, lightgbm, catboost. |
| 5. | Обучение без учителя | Задача кластеризации. K-Means, DBSCAN, MeanShift. Иерархическая кластеризация. Визуализация и t-SNE. Представления слов. |
| 6. | Подготовка данных | Отбор признаков. Понижение размерности и метод главных компонент. Подготовка категориальных и текстовых данных. |
| 7. | Рекомендательные системы | Постановки задачи. Метрики качества. Методы, основанные на коллаборативной фильтрации. Методы, основанные на матричных разложениях. |
4. Методические и оценочные материалы
Задания для практических занятий:
| №
п/п |
Наименование раздела дисциплины (модуля) | Перечень рассматриваемых тем (вопросов) |
| 1. | Введение в машинное обучение и анализ данных | Практическое занятие по классификации и регрессии: Разработка и применение алгоритмов классификации и регрессии на реальных данных с использованием Python и библиотек машинного обучения (например, scikit-learn).
Кластеризация и ранжирование данных: Исследование методов кластеризации и ранжирования на примерах, включая применение алгоритмов K-средних и деревьев решений. |
| 2. | Линейные модели | Реализация метода градиентного спуска для линейной регрессии: Участники разработают алгоритм градиентного спуска для оптимизации функции потерь в задаче линейной регрессии, а также исследуют влияние регуляризации на качество модели.
Кросс-валидация и оценка обобщающей способности моделей: Практическое занятие посвящено реализации методов кросс-валидации для оценки качества моделей, включая метрики, используемые в задачах регрессии и классификации. |
| 3. | Решающие деревья | Построение и визуализация решающих деревьев для классификации: Участники создадут решающее дерево для задачи классификации, исследуют различные критерии информативности (например, Gini, Entropy) и визуализируют дерево с помощью библиотек Python.
Обработка пропущенных значений и стрижка деревьев: Практическое занятие будет посвящено методам обработки пропущенных значений в данных, а также стрижке (pruning) решающих деревьев для предотвращения переобучения. |
| 4. | Композиции моделей | Анализ и визуализация bias-variance decomposition: Участники изучат, как разбить ошибку модели на составляющие bias и variance, а также проведут эксперименты с различными моделями для иллюстрации этих понятий.
Сравнение методов ансамблирования: Бэггинг vs. Бустинг: В ходе занятия участники реализуют алгоритмы бэггинга и бустинга на одном и том же наборе данных, сравнят их производительность и проанализируют, в каких случаях каждый из методов показывает лучшие результаты. |
| 5. | Обучение без учителя | Сравнение алгоритмов кластеризации: K-Means, DBSCAN и MeanShift: Участники реализуют и сравнят эффективность различных алгоритмов кластеризации на одном и том же наборе данных, анализируя их сильные и слабые стороны.
Иерархическая кластеризация и визуализация с помощью t-SNE: Участники изучат методы иерархической кластеризации, а затем применят t-SNE для визуализации полученных кластеров, чтобы оценить качество кластеризации. |
| 6. | Подготовка данных | Отбор признаков с использованием методов фильтрации и обертки: Участники изучат различные методы отбора признаков, такие как метод наименьших квадратов, деревья решений и LASSO, применяя их на реальных наборах данных.
Понижение размерности с использованием метода главных компонент (PCA): Участники освоят алгоритм PCA, проведут его реализацию на наборе данных и оценят влияние снижения размерности на качество модели. |
| 7. | Рекомендательные системы | Постановка задачи и выбор метрик качества для рекомендательных систем: Участники изучат, как правильно формулировать задачи, связанные с рекомендациями, и какие метрики (например, RMSE, MAE, Precision, Recall) использовать для оценки их эффективности.
Реализация методов коллаборативной фильтрации и матричных разложений: Участники реализуют алгоритмы коллаборативной фильтрации (пользовательский и предметный подходы) и методы матричных разложений (SVD, NMF) на реальных наборах данных. |
Текущий контроль успеваемости обучающихся по дисциплине:
| №
п/п |
Наименование раздела дисциплины (модуля) | Форма текущего контроля | Материалы текущего контроля |
| 1 | Введение в машинное обучение и анализ данных | Устный / письменный опрос | Устный / письменный опрос:
Опишите основные методы кластеризации и их применение в анализе данных. Каковы ключевые отличия между структурированными и неструктурированными данными? Приведите примеры задач, которые можно решить с помощью латентных моделей. Объясните, что такое признаки в контексте машинного обучения и как они влияют на качество модели. |
| 2. | Линейные модели | Устный / письменный опрос | Устный / письменный опрос:
Объясните, как работает метод опорных векторов (SVM) и какая роль у двойственной задачи в этом методе. Какова идея калибровки вероятностей в контексте логистической регрессии, и почему это важно? Приведите примеры применения квантильной регрессии и объясните, как она отличается от обычной линейной регрессии. Опишите методы оценки обобщающей способности моделей и их важность в машинном обучении. |
| 3. | Решающие деревья | Устный / письменный опрос | Устный / письменный опрос:
Опишите алгоритм построения решающего дерева и основные шаги, которые необходимо выполнить на каждом этапе. Каковы преимущества и недостатки использования решающих деревьев по сравнению с другими алгоритмами машинного обучения? Объясните, как регуляризация может быть применена к решающим деревьям и какую роль она играет в процессе обучения. В каких случаях стоит предпочесть использование ансамблевых методов (например, Random Forest) вместо одиночного решающего дерева? |
| 4. | Композиции моделей | Устный / письменный опрос | Устный / письменный опрос:
Опишите процесс градиентного бустинга и объясните, как он улучшает производительность модели по сравнению с простым бустингом. Какие преимущества и недостатки имеют имплементации xgboost, lightgbm и catboost? В чем их ключевые отличия? Как работает метод случайных подпространств, и как он влияет на обобщающую способность ансамблевых моделей? Объясните, как можно использовать bias-variance decomposition для выбора модели и настройки гиперпараметров. |
| 5. | Обучение без учителя | Устный / письменный опрос | Устный / письменный опрос:
Каковы основные этапы работы алгоритма K-Means и как можно улучшить его производительность? В чем заключаются преимущества и недостатки иерархической кластеризации по сравнению с другими методами? Приведите примеры применения. Как работает алгоритм DBSCAN и какие параметры (например, ε и minPts) необходимо настраивать для достижения оптимальных результатов? Объясните, как представления слов (word embeddings) могут быть использованы в задачах кластеризации текстовых данных. |
| 6. | Подготовка данных | Устный / письменный опрос | Устный / письменный опрос:
Опишите процесс отбора признаков с использованием метода LASSO. Какие преимущества он предоставляет по сравнению с другими методами? Какова цель применения метода главных компонент (PCA) и какие шаги включает этот процесс? В чем заключается различие между методами фильтрации и обертки при отборе признаков? Приведите примеры. Какие методы можно использовать для кодирования категориальных переменных, и в чем заключаются их сильные и слабые стороны? |
| 7. | Рекомендательные системы | Устный / письменный опрос | Устный / письменный опрос:
Опишите процесс построения рекомендательной системы на основе коллаборативной фильтрации. Какие этапы включает этот процесс? Каковы преимущества и недостатки использования метрики RMSE по сравнению с метрикой Precision в контексте оценки качества рекомендательных систем? В чем заключается суть метода SVD (сингулярное разложение) в рекомендательных системах и как он помогает улучшить качество рекомендаций? Приведите примеры ситуаций, когда использование матричных разложений может быть более эффективным, чем традиционные методы коллаборативной фильтрации. |
Контрольные вопросы для подготовки к промежуточной аттестации:
| №
п/п |
Наименование раздела дисциплины (модуля) | Вопросы |
| 1. | Введение в машинное обучение и анализ данных | Какие основные этапы включает процесс анализа данных?
В чем разница между задачами классификации и регрессии? Какие типы данных существуют, и как они влияют на выбор алгоритма машинного обучения? |
| 2. | Линейные модели | Каковы основные идеи и принципы работы градиентного спуска, и какие его варианты существуют?
Что такое функция потерь, и как регуляризация влияет на её формулировку? В чем заключается разница между multiclass- и multilabel-классификацией, и какие метрики качества применяются для их оценки? |
| 3. | Решающие деревья | Какие основные критерии информативности используются при построении решающих деревьев, и как они влияют на структуру дерева?
Как решающие деревья обрабатывают пропущенные значения, и какие методы можно использовать для их замещения? В чем заключается процесс стрижки решающих деревьев, и как он помогает улучшить обобщающую способность модели? |
| 4. | Композиции моделей | Объясните, что такое bias-variance decomposition и как оно помогает в понимании ошибок моделей машинного обучения.
Каковы основные отличия между бэггингом и бустингом? В каких ситуациях следует использовать каждый из методов? Что такое случайные леса и как они отличаются от обычных решающих деревьев? Объясните принцип работы метода случайных подпространств. |
| 5. | Обучение без учителя | Объясните основные отличия между алгоритмами K-Means и DBSCAN. В каких ситуациях предпочтительнее использовать каждый из них?
Как работает алгоритм MeanShift и в чем его преимущества по сравнению с другими методами кластеризации? Опишите, как t-SNE помогает в визуализации высокоразмерных данных и какие параметры могут повлиять на результат. |
| 6. | Подготовка данных | Каковы основные преимущества и недостатки методов отбора признаков по сравнению с методами понижения размерности?
Объясните, как работает метод главных компонент (PCA) и в каких случаях его целесообразно применять. Какие подходы существуют для подготовки категориальных данных к машинному обучению, и как они влияют на производительность модели? |
| 7. | Рекомендательные системы | Каковы основные отличия между контентной и коллаборативной фильтрацией в рекомендательных системах?
Какие метрики качества наиболее распространены для оценки производительности рекомендательных систем и в каких случаях их лучше использовать? Объясните, как работают методы матричных разложений в контексте рекомендательных систем и какие преимущества они предоставляют. |
Вопросы/Задания к промежуточной аттестации в устной/письменной форме:
1. Какой из следующих методов является примером регуляризации в линейной регрессии?
A) Lasso
B) K-средние
C) Метод главных компонент
D) Градиентный бустинг
Правильный ответ: A) Lasso
2. Какой из следующих критериев используется для оценки качества модели в задачах регрессии?
A) F1-мерка
B) Средняя абсолютная ошибка (MAE)
C) ROC-AUC
D) Matthews correlation coefficient
Правильный ответ: B) Средняя абсолютная ошибка (MAE)
3. Какой подход лучше всего подходит для решения multilabel-задач?
A) Один против всех (One-vs-All)
B) Логистическая регрессия
C) Деревья решений
D) Матричные разложения
Правильный ответ: D) Матричные разложения
4. Какой из следующих методов относится к задаче классификации?
A) Линейная регрессия
B) K-средние
C) Дерево решений
D) Метод главных компонент
Правильный ответ: C) Дерево решений
5. Какой тип данных лучше всего подходит для анализа текстов?
A) Структурированные таблицы
B) Неструктурированные данные
C) Временные ряды
D) Изображения
Правильный ответ: B) Неструктурированные данные
6. Что такое признаки в контексте машинного обучения?
A) Алгоритмы, используемые для обучения модели
B) Свойства или характеристики объектов, используемые для построения модели
C) Методы оценки качества модели
D) Наборы данных, используемые для тестирования
Правильный ответ: B) Свойства или характеристики объектов, используемые для построения модели
7. Какой из следующих критериев используется для оценки качества разделения в решающих деревьях?
A) Среднеквадратичная ошибка
B) Критерий Джини
C) Коэффициент корреляции
D) Средняя абсолютная ошибка
Правильный ответ: B) Критерий Джини
8. Какой метод позволяет избежать переобучения в решающих деревьях?
A) Увеличение глубины дерева
B) Стрижка (pruning)
C) Использование большего объема данных
D) Увеличение числа признаков
Правильный ответ: B) Стрижка (pruning)
9. Какой из следующих методов может быть использован для обработки пропущенных значений в данных при построении решающих деревьев?
A) Удаление строк с пропущенными значениями
B) Заполнение средним значением
C) Использование алгоритмов KNN
D) Все вышеперечисленные
Правильный ответ: D) Все вышеперечисленные
10. Какой из следующих факторов не влияет на bias в модели?
A) Сложность модели
B) Количество обучающих примеров
C) Выбор признаков
D) Уровень шума в данных
Правильный ответ: B) Количество обучающих примеров
11. Какой из следующих методов используется для уменьшения вариации в ансамблевых методах?
A) Увеличение глубины деревьев
B) Случайный отбор признаков
C) Увеличение размера обучающей выборки
D) Применение регуляризации
Правильный ответ: B) Случайный отбор признаков
12. Что является основным отличием между xgboost и lightgbm?
A) Алгоритм оптимизации
B) Способ обработки категориальных признаков
C) Подход к построению деревьев
D) Все вышеперечисленные
Правильный ответ: D) Все вышеперечисленные
13. Какой из следующих алгоритмов не требует предварительной настройки количества кластеров?
A) K-Means
B) MeanShift
C) Иерархическая кластеризация
D) DBSCAN
Правильный ответ: B) MeanShift
14. Какой из следующих параметров является критически важным для работы алгоритма DBSCAN?
A) Количество кластеров
B) Максимальное количество итераций
C) Параметр ε (эпсилон)
D) Степень регуляризации
Правильный ответ: C) Параметр ε (эпсилон)
15. Какой метод визуализации лучше всего подходит для отображения результатов кластеризации в высокоразмерном пространстве?
A) PCA
B) t-SNE
C) LDA
D) UMAP
Правильный ответ: B) t-SNE
16. Какой из следующих методов является методом отбора признаков на основе модели?
A) Метод взаимной информации
B) Метод наименьших квадратов
C) Метод главных компонент
D) Метод отбора по корреляции
Правильный ответ: B) Метод наименьших квадратов
17. При использовании метода главных компонент (PCA), что происходит с дисперсией данных?
A) Она остается неизменной
B) Она уменьшается
C) Она увеличивается
D) Она равномерно распределяется
Правильный ответ: B) Она уменьшается
18. Какой из следующих методов кодирования категориальных переменных не может быть использован для работы с порядковыми переменными?
A) One-Hot Encoding
B) Ordinal Encoding
C) Binary Encoding
D) Target Encoding
Правильный ответ: A) One-Hot Encoding
19. Какой из следующих методов не относится к коллаборативной фильтрации?
A) User-based Collaborative Filtering
B) Item-based Collaborative Filtering
C) Content-based Filtering
D) Matrix Factorization
Правильный ответ: C) Content-based Filtering
20. Какой из следующих показателей лучше всего подходит для оценки точности рекомендаций в задачах, где важен порядок элементов?
A) RMSE
B) Mean Average Precision (MAP)
C) Mean Squared Error (MSE)
D) F1-score
Правильный ответ: B) Mean Average Precision (MAP)
21. Какое из следующих утверждений о методах матричных разложений неверно?
A) Они могут уменьшить размерность данных.
B) Они всегда требуют наличия полных данных.
C) Они могут использоваться для выявления скрытых факторов.
D) Они способны обрабатывать разреженные матрицы.
Правильный ответ: B) Они всегда требуют наличия полных данных.
Перечень учебно-методического обеспечения дисциплины
Основная литература:
1. Ракитский, А. А. Методы машинного обучения: учебно-методическое пособие / А. А. Ракитский. — Новосибирск: Сибирский государственный университет телекоммуникаций и информатики, 2018. — 32 c. — Режим доступа: https://www.iprbookshop.ru/90591.html — ЭБС «IPRbooks».
2. Теория и практика машинного обучения: учебное пособие / В. В. Воронина, А. В. Михеев, Н. Г. Ярушкина, К. В. Святов. — Ульяновск: Ульяновский государственный технический университет, 2017. — 291 c. — Режим доступа: https://www.iprbookshop.ru/106120.html — ЭБС «IPRbooks».
Дополнительная литература:
1. Барский, А. Б. Введение в нейронные сети: учебное пособие / А. Б. Барский. — 4-е изд. — Москва: Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2024. — 357 c. — Режим доступа: https://www.iprbookshop.ru/133929.html — ЭБС «IPRbooks».
2. Кузнецов, В. П. Нейронные сети: практический курс: учебное пособие / В. П. Кузнецов. — Рязань: Рязанский государственный радиотехнический университет, 2014. — 71 c. — Режим доступа: https://www.iprbookshop.ru/121460.html — ЭБС «IPRbooks».
Методические указания для обучающихся по освоению дисциплины
| Вид учебных занятий/деятельности | Деятельность обучающегося |
|---|---|
| Лекция | Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. |
| Практическое (семинарское) занятие | При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.
Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы. |
| Устный/письменный опрос | Отвечать, максимально полно, логично и структурировано, на поставленный вопрос. Основная цель – показать всю глубину знаний по конкретной теме или ее части. |
| Подготовка к промежуточной аттестации | При подготовке к промежуточной аттестации необходимо проработать вопросы по темам, которые рекомендуются для самостоятельной подготовки. При возникновении затруднений с ответами следует ориентироваться на конспекты лекций, семинаров, рекомендуемую литературу, материалы электронных и информационных справочных ресурсов, статей.
Если тема вызывает затруднение, четко сформулировать проблемный вопрос и задать его преподавателю. |
| Практические (лабораторные) занятия | Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов. |
| Самостоятельная работа | Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка видеопрезентации. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис. |
| Дискуссия | Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию. |
| Тестирование (устное/письменное) | При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части. |
| Индивидуальная работа | При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы. |
| Разработка отдельных частей кода | Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем. |
| Выполнение домашних заданий и групповых проектов | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. |