Магистратура
2020/2021
Машинное обучение
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс по выбору (Интернет вещей и киберфизические системы)
Направление:
11.04.02. Инфокоммуникационные технологии и системы связи
Кто читает:
Школа лингвистики
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Клышинский Эдуард Станиславович
Прогр. обучения:
Интернет вещей и киберфизические системы
Язык:
русский
Кредиты:
8
Контактные часы:
60
Программа дисциплины
Аннотация
В рамках данной дисциплины даются такие разделы как машинное обучение (классификация и кластеризация данных, полносвязанные и глубинные нейронные сети), методы визуализации данных, методы обработки текстов, методы обработки изображений. Материал изучается с применением языка программирования Python и написанных для него библиотек. В процессе освоения дисциплины «Машинное обучение» студент развивает следующие компетенции: • способен разрабатывать и применять специализированное программно-математическое обеспечение для проведения исследований и решения инженерных задач; • способен разрабатывать модели средств, систем и процессов в инфокоммуникациях, проверять их адекватность на практике и использовать пакеты прикладных программ анализа и синтеза инфокоммуникационных систем, сетей и устройств; • Способен самостоятельно выполнять экспериментальные исследования для решения научно-исследовательских и производственных задач с использованием современной аппаратуры и методов исследования, участвовать в научных исследованиях в группе, ставить задачи и выбирать методы экспериментальных исследований.
Цель освоения дисциплины
- Целью освоения дисциплины «Интеллектуальная обработка данных» является углубление и закрепление навыков в области машинного обучения, формирование знаний и навыков работы с нейронными сетями.
Планируемые результаты обучения
- Знать: методы обработки, нормализации и векторизации исходных данных, методы агрегирования и анализа данных.
- Уметь: осуществлять первичный анализ данных для решения прикладных задач.
- Владеть: навыками применения библиотеки Pandas при решении практических задач.
- Знать: основные методы отображения числовой информации; методами снижения размерности пространства признаков.
- Уметь: использовать библиотеки Matplotlib и Seaborn для отображения информации в ходе проведения исследований.
- Владеть: навыками разработки методов отображения данных.
- Знать: основные методы классификации данных такие как линейная и логистическая регрессия, метод поддерживающих векторов, метод к ближайших соседей, деревья принятия решений, случайный лес; методы оценки качества классификации.
- Уметь: обоснованно и корректно выбирать метод для решения задачи классификации; корректно ставить задачу классификации.
- Владеть: программными библиотеками классификации, входящими в состав библиотеки sklearn.
- Знать: основные методы кластеризации данных: к-средних, DB-SCAN и ипроизводные от них.
- Уметь: обоснованно и корректно выбирать метод для решения задачи кластеризации; корректно ставить задачу кластеризации.
- Владеть: программными библиотеками кластеризации, входящими в состав библиотеки sklearn.
- Знать: понятия лексического, синтаксического и семантического анализа текстов.
- Уметь: реализовать систему анализа текстов на естественном языке.
- Владеть: программными библиотеками для обработки текстов.
- Знать: основные форматы изображений; методы обработки изображений.
- Уметь: выделять фрагменты изображений в зависимости от поставленной задачи; преобразовывать изображения в зависимости от поставленной задачи.
- Владеть: библиотеками обработки изображений на языке Python.
- Знать: основные структуры нейронных сетей; понятия функции потерь, пороговой функции, их основные виды.
- Уметь: корректно формировать структуру нейронной сети для решения поставленной прикладной задачи.
- Владеть: нейросетевым пакетом в составе библиотеки sklearn.
- Знать: основные структуры глубинных нейронных сетей: сверточные, рекуррентные, их разновидности.
- Владеть: нейросетевым пакетом в составе библиотеки sklearn и других библиотек.
Содержание учебной дисциплины
- Обработка данных с использованием библиотеки PandasОсновные возможности библиотеки Pandas: загрузка и выборка данных, агрегирование данных, нормализация данных.
- Визуализация данных и их анализОсновные виды графиков для отображения данных: диаграммы рассеяния, размаха, гистограммы, эпюры, отображение трехмерных данных, отображение последовательностей. Элементы графика: оси, легенда, надписи. Методы снижения размерности пространства признаков: метод главных компонент, многомерное шкалирование, t-SNE, UMAP.
- Классификация данныхЛинейные методы классификации данных: линейная и логистическая регрессия, SMV. Методы, основанные на деревьях принятия решения, в том числе, метод случайного леса. Метод k ближайших соседей. Методы бустинга и стеккинга. Методы оценки результатов классификации: точность, полнота, f-мера, ROC-AUC, матрица ошибок.
- Кластеризация данныхМетод k-средних, спектральная кластеризация. Методы, основанные на оценке плотности распределения точек в пространстве. Методы оценки точности кластеризации.
- Обработка текстов на естественном языкеЛексический и синтаксический анализ текстов. Понятия пространства признаков для текста. Задачи обработки текстов: выделение именованных сущностей, фактов. Классификация и кластеризация текстов. Технологии Word2Vec, Glove.
- Обработка изображенийОсновные форматы хранения изображений и их отличия: BMP, PNG, JPG, GIF. Методы внесения изменений в изображения. Методы выделения областей изображения при помощи кластеризации точек. Библиотеки Python я работы с изображениями. Библиотека OpenCV и методы обработки изображений в sklearn.
- «Плотные» нейронные сетиБионические и искусственные нейронные сети, нейрон МакКаллока и Питтса, персептрон, сети Кохонена. Понятия порогового элемента и функции. Применение нейронных сетей для решения задач классификации и преобразования данных.
- Глубинное обучение нейронных сетейПонятие свертки в нейронных сетях, сверточные нейронные сети. Введение обратной связи в нейронной сети, рекуррентные сети. Виды сверточных и рекуррентных нейронных сетей. Построение архитектуры нейронной сети для решения прикладных задач.
Элементы контроля
- Практические занятия
- Проект
- ЭкзаменПреподаватель вправе освободить от прохождения экзамена студентов, с выставлением им во время сессии оценки по промежуточной аттестации, соответствующей накопленной оценке без учёта веса экзамена (то есть сумма весов всех элементов контроля, за исключением экзамена, приравнивается к единице). Преподаватель объявляет свое решение не позднее, чем на последнем занятии до экзамена. Для объявления оценок могут быть использованы официальные каналы передачи информации, используемые в процессе обучения. По желанию студентов, они могут отказаться от выставления оценки без проведения экзамена и сдать его, о чем сообщают преподавателю не позднее последнего занятия. Экзамен проводится на платформе zoom или Jitsi. К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка zoom. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи менее минуты. Долговременным нарушением связи во время экзамена считается нарушение более одной минуты. При долговременном нарушении связи студент не может продолжить участие в экзамене.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.25 * Практические занятия + 0.25 * Проект + 0.5 * Экзамен
Список литературы
Рекомендуемая дополнительная литература
- Bhasin, H. (2019). Python Basics : A Self-Teaching Introduction. Dulles, Virginia: Mercury Learning & Information. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1991381
- Gries, P., Campbell, J., & Montojo, J. (2017). Practical Programming : An Introduction to Computer Science Using Python 3.6 (Vol. Third edition). [Place of publication not identified]: Pragmatic Bookshelf. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1716748
- Matthes, E. Python crash course: a hands-on, project-based introduction to programming. – No Starch Press, 2015. – 562 pp.
- McKinney, W. (2018). Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython (Vol. Second edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1605925
- Джозеф Л. - Изучение робототехники с помощью Python - Издательство "ДМК Пресс" - 2019 - 250с. - ISBN: 978-5-97060-749-7 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/123716