Прикладні задачі машинного навчання - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Перший (бакалаврський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інтегровані інформаційні системи
Статус дисципліни Вибіркова
Форма навчання Очна (денна)
Рік підготовки, семестр 2 курс, весняний семестр
Обсяг дисципліни 4 кредити ECTS / 120 годин (36 годин лекцій, 18 годин лабораторних робіт, 66 годин самостійної роботи студентів)
Семестровий контроль/ контрольні заходи Залік
Розклад занять http://rozklad.kpi.ua/Schedules/ScheduleGroupSelection.aspx
Мова викладання Українська
Інформація про
керівника курсу / викладачів

Лектор: професор, д.т.н., професор Онищенко Вікторія Валеріївна ntu.kpi.ist@gmail.com

Лабораторні: ас., Нестерук Андрій Олександрович,

aonesterukr@gmail.com,

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Силабус освітнього компонента «Прикладні задачі машинного навчання» розроблено відповідно до стандарту вищої освіти зі спеціальності 126 Інформаційні системи та технології галузі знань 12 Інформаційні технології для першого (бакалаврського) рівня вищої освіти. ОК формує (ЗК1) здатність до абстрактного мислення, аналізу та синтезу, (ФК4) здатність проводити інтелектуальний аналіз даних інформаційної інфраструктури та інтерпретувати отримані результати, (ФК5) здатність проводити самостійні дослідження, обґрунтовувати отримані результати застосовуючи критичне мислення, (СК5) Здатність використовувати сучасні технології аналізу даних для оптимізації процесів в інформаційних системах, (РН01) Відшуковувати необхідну інформацію в науковій і технічній літературі, базах даних, інших джерелах, аналізувати та оцінювати цю інформацію

Вибіркова ОК “Прикладні задачі машинного навчання” є актуальною у наш час з рядом обґрунтованих причин. Машинне навчання стає необхідною складовою штучного інтелекту та знаходить застосування у різних галузях, від технологій і медицини до екології та бізнесу. Вивчення практичних аспектів машинного навчання дозволяє студентам освоїти важливі навички, які високо цінуються на ринку праці.

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

Предмет також вивчає використання машинного навчання у сферах, таких як автономні системи, де технології навчання машин допомагають у розробці ефективних та безпечних автономних транспортних засобів. Дослідження прикладних аспектів машинного навчання в контексті конкретних завдань дозволяє студентам не лише розуміти теоретичні аспекти, але і застосовувати їх у реальних сценаріях, що підвищує їхню практичну ефективність.

Метою навчальної дисципліни є надання студентам комплексне розуміння та готовність використовувати методи машинного навчання для вирішення реальних проблем у різних областях життя та бізнесу.

Формування та закріплення у студентів наступних компетентностей: (КС 6) Здатність використовувати сучасні інформаційні системи та технології (виробничі, підтримки прийняття рішень, інтелектуального аналізу даних та інші), методики й техніки кібербезпеки під час виконання функціональних завдань та обов’язків.(КС 16) Здатність інтегрувати програмні, технічні, інформаційні та інтелектуальні компоненти усіх рівнів ієрархії інформаційно-керуючих систем в єдину розподілену систему

Предмет навчальної дисципліни –Основні аспекти, які включає предмет машинного навчання:

  • вивчення основних концепцій та термінів, таких як навчання з учителем, навчання без учителя, Навчання з підкріпленням, функції витрат, тощо.

  • Розгляд різних методів та алгоритмів машинного навчання, включаючи лінійну регресію, дерева рішень, метод опорних векторів, нейронні мережі та інші.

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

  • Використання популярних інструментів та бібліотек для розробки та реалізації моделей машинного навчання, таких як TensorFlow, PyTorch, Scikit-Learn та інші.

Програмні результати навчання, на формування та покращення яких спрямована дисципліна: (ПРН 16) Застосовувати знання відповідних мов програмування та ефективно використовувати методи машинного навчання в задачах створення компонентів штучного інтелекту в інформаційних система з використання аналізу та оцінки складності алгоритмів рішення

Пререквізити та постреквізити дисципліни

Для успішного засвоєння дисципліни студент повинен володіти освітніми компонентами «Вища математика», «Теорія ймовірностей і математична статистика». Компетенції, знання та уміння, одержані в процесі вивчення освітнього компонента є необхідними для подальшого вивчення освітніх компонентів «Переддипломна практика», «Дипломне проєктування».

Зміст навчальної дисципліни

Тема 1. Вступ до машинного навчання:

Лекція 1 розглядає історію виникнення машинного навчання, різні типи вхідних даних та алгоритмів машинного навчання.

Тема 2. Повний проект МН.

Лекція 2-3. Повний проект МН.

Тема 3. Управління даними та їх інтерпретація:

Лекції 4 присвячені використанню мови програмування Python для машинного навчання та структурам даних, таким як вектори, фактори, списки тощо.

Тема 4. Класифікація

Лекція 5-6 Основні алгоритми навчання. Коротке введення в класифікацію

Лекція 7 розглядає метод k-NN, включаючи алгоритм, збір та підготовку даних, навчання моделі та оцінку її ефективності.

Лекція 8-9 деталізує теоретичні аспекти та застосування наївного баєсівського класифікатора.

Лекції 10 і 11 розглядають дерева рішень, включаючи алгоритм випадкового лісу.

Тема 5. Регресійний аналіз:

Лекції 12 представляють лінійну та логістичну регресію, включаючи метод найменших квадратів, теорему Гауса-Маркова та L2-регуляризацію.

Тема 6. Нейронні мережі:

Лекції 13 і 14, 15 вводять основи нейронних мереж, глибокого навчання, архітектурні принципи та типи глибоких мереж***.***

Тема 7. Аналіз споживацького кошика, кластеризація

Тема 8 оцінка ефективності моделі

Лекції 16, 17, 18 деталізують метод асоціативних правил, кластерний аналіз, метод k-середніх та оцінку ефективності моделей.

Навчальні матеріали та ресурси

Основна література

  1. Кононова К. Ю. Машинне навчання: методи та моделі / К. Ю. Кононова. – Харків: ХНУ імені В. Н. Каразіна, 2020. – 301 с.

  2. Andreas C. Müller, Sarah Guido. Introduction to Machine Learning with Python. 2016. 394 р.

  3. Luis Pedro Coelho, Wilhelm Richert, Matthieu Brucher. Building Machine Learning Systems with Python. 2018. 406 р.

  4. Michie, D.J. Spiegelhalter, C.C. Taylor. Machine Learning, Neural and Statistical Classification. 1994. 298 р.

  5. Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin. Learning From Data. 2012. 213 р.

  6. Tom M. Mitchell. Machine Learning. 1997. 414 р.

Додаткова література

  1. Raschka S. Python Machine Learning / S. Raschka, V. Mirjalili. – Birmingham: Packt Publishing, 2019. – 770 p.

  2. Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. 2016. 800 р.

  3. Jeroen Janssens. Data Science at the Command Line. 2021. 282 р.

  4. John D. Kelleher, Brian Mac Namee, Aoife D'Arcy. Fundamentals of Machine Learning for Predictive Data Analytics. 2020. 856 р.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Лекційні заняття

з/п

Назва теми лекції та перелік основних питань

(перелік дидактичних засобів, посилання на інформаційні джерела)

1

Тема 1. Вступ до машинного навчання

Лекція 1. Введення в машинне навчання.

Основні питання: Що таке машинне навчання. Для чого використовується машинне навчання Типи систем МН. Навчання з вчителем и без вчителя. Навчання з підкріпленням. Пакетне і динамічне навчання. Навчання на основі зразків і моделей. Основні проблеми МН. Недостатній розмір даних. Нерепрезентативні данні. Данні поганої якості, Несуттєві признаки. Перенавчання та недонавчання даних.

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

2-3

Тема 2. Повний проект МН.

Лекція 2-3. Повний проект МН.

Основні питання: Робота з реальними даними. Вияснення картини Формулювання завдання Вибір критерію якості роботи. Перевірка допусків, Отримання даних. Загрузка даних Швидкий погляд на структуру даних. Створення досліджуваного набору. Візуалізація даних. Пошук звязків, Експерименти з комбінуванням атрибутів. Підготовка даних для алгоритмів МН. Очистка даних. Обробка атрибутів. Маштабування признаків. Спеціальні трансформатори та конвеєрна трансформація. Вибір і навчання моделі. Навчання і оцінка за допомогою навчального набору даних. Точне налаштування моделі Решітковий пошук. Рандомізований пошук. Ансамблеві методи. Аналіз кращих моделей. Оцінка моделі Оцінка з допомогою досліджуваного набору. Запуск, дослідження і супровід системи.

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

4

Тема 3. Управління даними та їх інтерпретація:

Лекції 4 присвячені використанню мови програмування Python для машинного навчання та структурам даних, таким як вектори, фактори, списки тощо.

Основні питання: Огляд бібліотек для машинного навчання в Python, таких як scikit-learn, TensorFlow, Keras, тощо. Робота з векторами, факторами, списками та іншими структурами даних для ефективної обробки та аналізу даних. Використання бібліотек для візуалізації даних, таких як Matplotlib та Seaborn.

5

Тема 4. Основні алгоритми навчанняю. Класифікація

Лекція5 Основні алгоритми навчання. Коротке введення в класифікацію

Основні питання: Запис формальних позначень. Застосування логістичної регресії. Робота з матрицею неточностей. Знайомство з багатокласовою класифікацією

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

6

Тема 4. Основні алгоритми навчанняю. Класифікація

Лекція6. Основні алгоритми навчання. Практичні рішення при роботі з лінійною та логістичною регресією

Основні питання: Підгонка прямої. Обробка інтерактивних ефектів. Підгонка нелінійних зв’язків. Зниження дисперсії за допомогою регуляризації. Зменшення кількості ознак за допомогою ласо-регресії. Тренування бінарного класифікатора.Тренування мультикласового класифікатора. Зниження дисперсії за допомогою регуляризації. Тренування класифікатора на дуже великих даних. Обробка незбалансованих класів

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

7

Тема 4. Основні алгоритми навчанняю. Класифікація

Лекція7. Метод k-найближчих сусідів і виявлення аномалій

Основні питання: аномалії, метод k-найближчих сусідів і приклади реалізації на python

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

8-9

Тема 4. Основні алгоритми навчанняю. Класифікація

Лекція 8-9. Метод опорних векторів. Наївний байєсівський метод

Основні питання: Алгоритми методу опорних векторів та наївного Байєсу і приклади реалізації на python

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

10-11

Тема 4. Основні алгоритми навчанняю. Класифікація

Лекція 10-11. Дерева рішень,випадкові ліси

Основні питання: Алгоритми методу дерева рішень,випадковий ліс і приклади реалізації на python

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

12

Тема 5. Основні алгоритми навчання. Регресійний аналіз

Лекція12. Регресійний аналіз

Основні питання: Апроксимація(підгонка) лінії до точок даних. Апроксимація(підгонка) довільних кривих до точок даних. Перевірка ефективності алгоритмів регресії. Застосування регресії до реальних даних

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

13-14

Тема 6. Нейронні мережі

Лекція 13-14 Штучні нейронні мережи

Основні питання: Штучний нейрон (визначення, навчання персепртона)

Алгоритм навчання персептрона, навчання моделі персептрона на наборі даних Iris, глибокого навчання, архітектурні принципи та типи глибоких мереж.

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

15

Тема 6. Нейронні мережі

Лекція 15 ЗАСТОСУВАННЯ нейронних мереж

Основні питання: Аналіз зображень та відео методами машинного навчання.

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

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

16

Тема 7.Асоціативні правила. Кластеризація

Лекція 16. Методи інтелектуального аналізу даних

Основні питання: Кластеризацiя методом k-сеpeднiх. Метод главних компонент. Асоціативні правила

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

17-18

Тема 8. Оцінка ефективності моделі

Лекція 17-18 Практичні основи. Проблеми і вирішення

Основні питання: Суть навчання з підкріпленням. Методи Монте-Карло: модельно-орієнтований та безмодельний. Методи бутсрепінгу: SARSA, Q-навчання. Дослідження невідомого середовища: епсілон-жадібна стратегія.

Використання моделей машинного навчання..

Допоміжні матеріали*: https://drive.google.com/drive/folders/1uTlrCHprNlhStsszLZXKZtDwThpyW5aE?usp=drive_link

Лабораторні роботи

з/п

Перелік лабораторних робіт
1

Лабораторна робота №1. Введення в data science

Мета роботи – засвоїти основи роботи з даними, включаючи їх збір, аналіз та візуалізацію, а також використання бібліотеки Python для ефективної обробки та представлення даних..

2

Лабораторна робота №2. Часові ряди і прості лінійна регресія

Мета роботи – отримати практичний досвід роботи з часовими рядами, використовувати лінійні регресії для аналізу та прогнозування метеорологічних даних, а також використовувати Seaborn для візуалізації результатів.

3

Лабораторна робота №3. Класифікація, регресія і кластеризація з використанням бібліотеки scikit-learn

Мета роботи – вивчити інструменти та методи машинного навчання, а також навчитися використовувати бібліотеку scikit-learn в середовищі Python для вирішення різних завдань, таких як регресія, класифікація та кластеризація. Крім того, порівняння різних моделей допомагає зрозуміти, які методи можуть бути ефективнішими для конкретних типів даних чи задач.

4

Лабораторна робота №4. Класифікація методом k найближчих сусідів і набір даних Digits, частина 1

Мета роботи – ознайомлення з класифікацією методом k найближчих сусідів (k-NN) за допомогою бібліотеки scikit-learn в середовищі Python, а також в оцінці ефективності цього методу на наборі даних Digits.

5

Лабораторна робота №5. Проектування та навчання штучної нейронної мережi для задач класифiкацiї

Мета роботи – ознайомитися з процесом проектування, навчання та використання нейронних мереж для класифікації на різних наборах даних. Це також надасть вам практичний досвід роботи з бібліотекою Keras та розвине вміння використовувати нейронні мережі для вирішення завдань класифікації.

6

Лабораторна робота №6. Прикладна задача машинного навчання

Мета роботи полягає в розробці, навчанні та апробації багатошарової нейронної мережі для ухвалення рішення щодо зарахування абітурієнтів до університету на основі їхніх результатів вступних іспитів з математики, англійської та української мов.

Самостійна робота студента

з/п

Вид самостійної роботи

Кількість

годин СРС

1 Підготовка до лабораторних робіт 50
3 Підготовка до МКР 6
4 Підготовка до заліку 10
66

6. Контрольна робота

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

Модульна контрольна робота (МКР) виконується після вивчення Розділів 1-4 та після Розділу 5-8. Контрольна робота проводяться у формі тесту. Кожен студент отримує індивідуальний набір питань.

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Курс складається з 18 лекційних та 9 лабораторних занять.

За курс необхідно виконати 6 лабораторних робіт. Додатковий бал дає активність студента на лекціях або лабораторних роботах - max 5 балів.

1-6 лабораторні роботи – по 10 балів

Сума балів за семестр за лабораторні роботи – 6х10=60 балів.

На лекціях з теоретичного матеріалу будуть експрес-контрольні – max 40 бал за семестр

Увага: Якщо лабораторна робота здана не вчасно (після завершення періоду лекційно-практичних занять семестру) – max оцінка 8 балів!

Лабораторні роботи

Ваговий бал. Лабораторні роботи 1-6 мають ваговий бал 10. Максимальна кількість балів за всі лабораторні роботи складає 6х10=60 балів.

На лабораторних роботах студенти перевіряють працездатність написаних програм або схем за попередньо вирішеними вдома задачами. Для допуску до поточної лабораторної роботи необхідно мати Протокол, оформлений відповідно до норм оформлення технічної документації, який має містити всі необхідні пункти, відповідно до Методичних вказівок. Також для допуску до лабораторної роботи (окрім 1-ї) необхідно захистити попередню. Студенти, що не захистили попередню лабораторну роботу можуть бути не допущені до виконання наступної. Лабораторні роботи можуть виконуватись як самостійно так і бригадою.

Критерії оцінювання лабораторної роботи:

- вірно виконаний синтез всіх задач, продемонстрована працездатність всіх програм (схем), вірні відповіді на запитання до захисту, вчасно виконана робота – 10 балів;

- за несвоєчасність виконання лабораторних робіт 1-6 знімаються 2 бали,

- вірно виконаний синтез всіх задач, продемонстрована працездатність всіх програм (схем), відповіді на питання до захисту мають неточності – знімаються 2 бали від максимальної кількості;

- виконаний синтез всіх задач, але деякі з них містять помилки або неточності, продемонстрована працездатність не всіх програм (схем), відповіді на питання до захисту мають неточності – знімаються від 3 до 5 балів від максимальної кількості;

- лабораторна робота не виконана або протокол не представлений – повертається на відпрацювання або доопрацювання.

Якщо студент за семестр отримав 60 балів і більше:

залік не складає, за умови згоди, отримує оцінку автоматично.

Залік: отримані бали за семестр х ½ + бал залікової роботи (max 50 балів)

Залікова робота складається з двох частин:

25 балів за теоретичну частину (форма тест),

25 балів – задача з практичною реалізацією

Тематика доповідей на додатковий бал (max-5 балів)

№ з/п

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
Аналіз вибору алгоритмів машинного навчання для рішення конкретних завдань. 6
Оцінка моделей машинного навчання. Значення метрик оцінки. 6
Робота з реальними даними та підготовка власних даних до навчання. 6
Перехресна перевірка для оцінки моделей машинного навчання. 6
Методи розпізнавання образів. 6
Автоматизоване розпізнавання тексту. 6
Рекомендаційні системи та їх застосування. 6
Аналіз зображень та відео методами машинного навчання. 6
Застосування машинного навчання для аналітики. 6
Застосування машинного навчання в сфері медицини. 6
Застосування методів машинного навчання для прогнозування подій. 6
СhatGPT – архітектура та принцип дії. 6

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Поточний контроль: вправи на лекційних заняттях, тестування, МКР, виконання та захист лабораторних робіт.

Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.

Календарний контроль базується на поточній кількості зарахованих лабораторних робіт. Умовою отримання першого календарного контролю є зарахована першої та другої лабораторних робіт, другого календарного контролю – зараховані 4 лабораторні роботи.

Семестровий контроль: залік.

Умови допуску до семестрового контролю: виконані та захищені лабораторні роботи, виконані завдання до практичних занять, семестровий рейтинг більше 30 балів.

Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:

Кількість балів Оцінка
95-100 Відмінно
85-94 Дуже добре
75-84 Добре
65-74 Задовільно
60-64 Достатньо
Менше 60 Незадовільно
Менше 30 Не допущено

Загальна рейтингова оцінка студента після завершення семестру складається з балів, отриманих за:

  • тестування з лекційних занять;

  • виконання та захист лабораторних робіт;

  • виконання модульної контрольної роботи (МКР);

  • відповіді на заліку.

Тестування по лекціям Лабораторні роботи МКР Залік
10 50 40 50

Робочу програму навчальної дисципліни (силабус):

Складено професором кафедри ІСТ, д.т.н., проф. В.В.Онищенко

Ухвалено кафедрою ІСТ (протокол № 16 від 12.06.2024)

Погоджено Методичною комісією факультету (протокол № 10 від 21.06.2024)