Дисциплини

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

Седмичен хорариум 2+0+2
Форма на контрол Изпит

Анотация


Дисциплината цели запознаване на студентите с основните методи и алгоритми за машинно обучение, чрез които се изпълнява анализ и откриване на зависимости в множества от данни, предсказване на стойности, построяване на модели и др. Лекционните теми разглеждат основни методи и алгоритми от машинното обучение като регресионен анализ, алгоритъм на най-близките съседи (k-Nearest Neighbors), алгоритъм с поддържащи вектори (Support Vector Machines), невронни мрежи, принципен компонентен анализ.
По време на упражненията ще бъдат разработвани приложения за решаване на някои типични задачи от областта на машинното обучение като построяване на модели и предсказване на стойности, задачи за групиране и клъстеризация на данни, разпознаване на изображения, анализ на текст, откриване на spam в електронна поща.
Учебната програма е разработена в съответствие с програмата за провеждане на курса “Machine Learning” в Stanford University.

Съдържание


Тема 1. Въведение в машинното обучение – същност и цели
1.1. Обучение с надзирател и без надзирател
1.2. Линейна регресия с една променлива
1.3. Представяне на модели. Функции за оценяване на модел
1.4. Метод на градиентно спускане. Приложение на градиентно спускане при линейна регресия с една променлива
Тема 2. Линейна регресия с множество променливи
2.1. Приложение на градиентно спускане при линейна регресия с множество променливи
2.2. Мащабиране на стойностите на променливите и скорост на обучение
2.3. Полиномна регресия
2.4. Нормализация
Тема 3. Логаритмична регресия
3.1. Задачи за класификация
3.2. Представяне на хипотеза. Функция за оценяване
3.3. Опростена функция и градиентно спускане при логаритмична регресия
3.4. Класификация с множество класове чрез логаритмична регресия
3.5. Регуляризация на моделите
3.6. Регуляризирана линейна регресия. Регуляризирана логаритмична регресия
Тема 4. Невронни мрежи за представяне на модели
4.1. Нелинейни хипотези
4.2. Примери за представяне на модели чрез невронна мрежа
4.3. Класификация с множество класове чрез невронна мрежа
Тема 5. Обучение на невронна мрежа
5.1. Функция за оценяване
5.2. Алгоритъм за обучение backpropagation
5.3. Инициализация
5.4. Пример за построяване на модел чрез обучена невронна мрежа
Тема 6. Проектиране на системи за машинно обучение
6.1. Оценяване на хипотеза и избор на модел
6.2. Избор на множества от данни за обучение, валидиране и тестване на модела
6.3. Диагностициране на отклонение и вариантност на модела
6.4. Регуляризация и отклонение/вариантност
6.5. Криви за обучение
6.6. Анализ на грешки и метрики за анализ на грешки
Тема 7. Класификация чрез алгоритъм на най-близките съседи (k-Nearest Neighbors)
7.1. Дефиниране на оптимизационна цел
7.2. Метрики за изчисляване на дистанции
7.3. Примери
Тема 8. Класификация чрез поддържащи вектори (Support Vector Machines)
8.1. Дефиниране на оптимизационна цел
8.2. Математически основи на класификацията чрез SVM
8.3. Функция на ядрото
Тема 9. Обучение без надзирател
9.1. Алгоритъм K-Means
9.2. Дефиниране на оптимизационна цел
9.3. Инициализация и избор на брой клъстери
Тема 10.Класификация с ниво на вероятност
10.1. Построяване на Бейсов класификатор
10.2. Обучение на класификатора
10.3. Примери
Тема 11.Принципен компонентен анализ
11.1. Намаляване на променливите при построяване на модел
11.2. Формулиране на проблема
11.3. Примери
11.4. Алгоритъм на компонентния анализ
11.5. Избор на брой принципни компоненти
Тема 12.Откриване на аномалии
12.1. Формулиране на проблема
12.2. Гаусово разпределение
12.3. Алгоритъм за откриване на аномалии
12.4. Разработване и оценяване на система за откриване на аномалии
12.5. Откриване на аномалии и обучение с надзирател
12.6. Избор на променливи
12.7. Многовариантно Гаусово разпределение
12.8. Откриване на аномалии чрез многовариантно Гаусово разпределение
Тема 13.Препоръчващи системи
13.1. Формулиране на проблема
13.2. Препоръки, базирани на съдържание
13.3. Алгоритъм за филтриране
13.4. Векторизация
13.5. Нормализация
Тема 14.Машинно обучение при наличие на големи множества от данни
14.1. Обучение с големи множества от данни
14.2. Стохастично градиентно спускане
14.3. Използване на Map Reduce технология и паралелизъм при обучение с големи множества
Тема 15.Практически пример за приложение на машинно обучение
15.1. Формулиране на задачата
15.2. Компоненти на системата за машинно обучение
15.3. Плъзгащи прозорци
15.4. Събиране на данни за обучение