Машинное обучение (курс лекций, К.В.Воронцов)
Материал из MachineLearning.
(реструктуризация курса) |
(уточнение) |
||
Строка 16: | Строка 16: | ||
Курс читается студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года и студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года. | Курс читается студентам 3 курса кафедры [[Интеллектуальные системы (кафедра МФТИ)|«Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ]] с 2004 года и студентам 3 курса кафедры [[Математические методы прогнозирования (кафедра ВМиК МГУ)|«Математические методы прогнозирования» ВМиК МГУ]] с 2007 года. | ||
- | На материал данного курса существенно опираются последующие курсы, | + | На материал данного курса существенно опираются последующие кафедральные курсы. |
+ | На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс [[Теория надёжности обучения по прецедентам (курс лекций, К.В.Воронцов)|Теория надёжности обучения по прецедентам]]. | ||
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно. | От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание [[Математическая статистика|математической статистики]], [[Методы оптимизации|методов оптимизации]] и какого-либо языка программирования желательно, но не обязательно. | ||
Строка 22: | Строка 23: | ||
== Первый семестр == | == Первый семестр == | ||
- | === | + | === Вводная лекция === |
* Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные. | * Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные. | ||
* Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[кластеризация]]. Примеры прикладных задач. | * Типы задач: [[классификация]], [[регрессия]], [[прогнозирование]], [[кластеризация]]. Примеры прикладных задач. | ||
Строка 28: | Строка 29: | ||
* Вероятностная постановка задачи, [[принцип максимума правдоподобия]] и его связь с принципом минимизации эмпирического риска. | * Вероятностная постановка задачи, [[принцип максимума правдоподобия]] и его связь с принципом минимизации эмпирического риска. | ||
- | === | + | === Байесовские алгоритмы классификации === |
* Оптимальный [[байесовский классификатор]]. | * Оптимальный [[байесовский классификатор]]. | ||
* Функционал среднего риска. Ошибки I и II рода. | * Функционал среднего риска. Ошибки I и II рода. | ||
Строка 36: | Строка 37: | ||
* Непараметрическое оценивание плотности распределения по Парзену-Розенблатту. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. Робастное оценивание плотности. [[Метод парзеновского окна]]. | * Непараметрическое оценивание плотности распределения по Парзену-Розенблатту. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. Робастное оценивание плотности. [[Метод парзеновского окна]]. | ||
- | === | + | === Параметрическое оценивание плотности === |
* [[Нормальный дискриминантный анализ]]. [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения. | * [[Нормальный дискриминантный анализ]]. [[Многомерное нормальное распределение]], геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения. | ||
* [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения. | * [[Квадратичный дискриминант]]. Вид разделяющей поверхности. [[Подстановочный алгоритм]], его недостатки и способы их устранения. | ||
Строка 43: | Строка 44: | ||
* Факультатив или семинар: матричное дифференцирование. | * Факультатив или семинар: матричное дифференцирование. | ||
- | === | + | === Разделение смеси распределений === |
* [[Смесь распределений]]. | * [[Смесь распределений]]. | ||
* [[EM-алгоритм]]: основная идея, понятие скрытых переменных. «Вывод» алгоритма без обоснования сходимости. Псевдокод EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси. | * [[EM-алгоритм]]: основная идея, понятие скрытых переменных. «Вывод» алгоритма без обоснования сходимости. Псевдокод EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси. | ||
Строка 49: | Строка 50: | ||
* Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки. | * Смесь многомерных нормальных распределений. [[Сеть радиальных базисных функций]] (RBF) и применение EM-алгоритма для её настройки. | ||
- | === | + | === Линейные алгоритмы классификации, однослойный перцептрон === |
* Естественный нейрон, [[модель МакКаллока-Питтса]], функции активации. | * Естественный нейрон, [[модель МакКаллока-Питтса]], функции активации. | ||
* [[Линейный классификатор]], непрерывные аппроксимации пороговых функций потерь. | * [[Линейный классификатор]], непрерывные аппроксимации пороговых функций потерь. | ||
Строка 56: | Строка 57: | ||
* [[Теорема Новикова]] о сходимости. | * [[Теорема Новикова]] о сходимости. | ||
- | === | + | === Логистическая регрессия === |
* Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации. | * Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации. | ||
* [[Логистическая регрессия]]. Принцип максимума правдоподобия и логарифмическая функция потерь. | * [[Логистическая регрессия]]. Принцип максимума правдоподобия и логарифмическая функция потерь. | ||
Строка 62: | Строка 63: | ||
* Пример прикладной задачи: кредитный скоринг и скоринговые карты. | * Пример прикладной задачи: кредитный скоринг и скоринговые карты. | ||
- | === | + | === Нейронные сети === |
* [[Проблема исключающего или]]. Проблема полноты. Полнота двухслойных сетей в пространстве булевских функций. Теоремы Колмогорова, Стоуна, Горбаня (без доказательства). | * [[Проблема исключающего или]]. Проблема полноты. Полнота двухслойных сетей в пространстве булевских функций. Теоремы Колмогорова, Стоуна, Горбаня (без доказательства). | ||
* [[Алгоритм обратного распространения ошибок]]. Недостатки алгоритма, способы их устранения. | * [[Алгоритм обратного распространения ошибок]]. Недостатки алгоритма, способы их устранения. | ||
Строка 71: | Строка 72: | ||
* [[Метод оптимального прореживания сети]] (optimal brain damage). | * [[Метод оптимального прореживания сети]] (optimal brain damage). | ||
- | === | + | === Метод опорных векторов === |
* Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin). | * Оптимальная разделяющая гиперплоскость. Понятие [[зазор]]а между классами (margin). | ||
* Случай линейной разделимости. Задача квадратичного программирования и двойственная задача. Понятие [[Опорный вектор|опорных векторов]]. | * Случай линейной разделимости. Задача квадратичного программирования и двойственная задача. Понятие [[Опорный вектор|опорных векторов]]. | ||
Строка 79: | Строка 80: | ||
* Сопоставление SVM и RBF-сети. | * Сопоставление SVM и RBF-сети. | ||
- | === | + | === Оптимизационные техники решения задачи SVM === |
* Обучение SVM методом последовательной минимизации. Псевдокод: [[алгоритм SMO]]. | * Обучение SVM методом последовательной минимизации. Псевдокод: [[алгоритм SMO]]. | ||
* Обучение SVM методом активных ограничений. Псевдокод: [[алгоритм INCAS]]. | * Обучение SVM методом активных ограничений. Псевдокод: [[алгоритм INCAS]]. | ||
* SVM-регрессия. | * SVM-регрессия. | ||
- | === | + | === Метрические алгоритмы классификации === |
* [[Метод ближайших соседей]] (''k''NN) и его обобщения. | * [[Метод ближайших соседей]] (''k''NN) и его обобщения. | ||
* Подбор числа ''k'' по критерию скользящего контроля. | * Подбор числа ''k'' по критерию скользящего контроля. | ||
Строка 93: | Строка 94: | ||
* Вывод на основе прецедентов ([[CBR]]). | * Вывод на основе прецедентов ([[CBR]]). | ||
- | === | + | === Непараметрическая регрессия === |
* Локально взвешенный [[метод наименьших квадратов]] и [[оценка Надарая-Ватсона]]. | * Локально взвешенный [[метод наименьших квадратов]] и [[оценка Надарая-Ватсона]]. | ||
* [[Сглаживание]]. | * [[Сглаживание]]. | ||
Строка 100: | Строка 101: | ||
* Проблема «проклятия размерности» и проблема выбора метрики. | * Проблема «проклятия размерности» и проблема выбора метрики. | ||
- | === | + | === Многомерная линейная регрессия === |
* Задача регрессии, [[многомерная линейная регрессия]]. | * Задача регрессии, [[многомерная линейная регрессия]]. | ||
* [[Метод наименьших квадратов]]. [[Сингулярное разложение]]. | * [[Метод наименьших квадратов]]. [[Сингулярное разложение]]. | ||
Строка 108: | Строка 109: | ||
* [[Робастная регрессия]]. | * [[Робастная регрессия]]. | ||
- | === | + | === Шаговая регрессия === |
* [[Модифицированная ортогонализация Грама-Шмидта]], достоинства и недостатки. | * [[Модифицированная ортогонализация Грама-Шмидта]], достоинства и недостатки. | ||
* [[Отбор признаков]] в процессе ортогонализации, критерии выбора и останова. | * [[Отбор признаков]] в процессе ортогонализации, критерии выбора и останова. | ||
* [[Метод наименьших углов]] (LARS), его связь с лассо и шаговой регрессией. | * [[Метод наименьших углов]] (LARS), его связь с лассо и шаговой регрессией. | ||
- | === | + | === Нелинейная параметрическая регрессия === |
* [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]]. | * [[Метод Ньютона-Рафсона]], [[метод Ньютона-Гаусса]]. | ||
* Одномерные нелинейные преобразования признаков: [[метод обратной настройки]] (backfitting) Хасти-Тибширани. | * Одномерные нелинейные преобразования признаков: [[метод обратной настройки]] (backfitting) Хасти-Тибширани. | ||
Строка 119: | Строка 120: | ||
* [[Логистическая регрессия]] как частный случай GLM, [[метод наименьших квадратов с итеративным пересчетом весов]] (IRLS). | * [[Логистическая регрессия]] как частный случай GLM, [[метод наименьших квадратов с итеративным пересчетом весов]] (IRLS). | ||
- | === | + | === Прогнозирование временных рядов === |
* Аддитивная модель временного ряда: тренд, сезонность, цикличность. Модель Бокса-Дженкинса. Модель ARIMA — авторегрессии и интегрированного скользящего среднего. | * Аддитивная модель временного ряда: тренд, сезонность, цикличность. Модель Бокса-Дженкинса. Модель ARIMA — авторегрессии и интегрированного скользящего среднего. | ||
* Адаптивные модели. Примеры экономических приложений. | * Адаптивные модели. Примеры экономических приложений. | ||
Строка 126: | Строка 127: | ||
== Второй семестр == | == Второй семестр == | ||
- | === | + | === Кластеризация: эвристические и статистические алгоритмы === |
* Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. | * Постановка задачи [[кластеризация|кластеризации]]. Примеры прикладных задач. | ||
* [[Графовые алгоритмы кластеризации]]. Алгоритм связных компонент. | * [[Графовые алгоритмы кластеризации]]. Алгоритм связных компонент. | ||
Строка 134: | Строка 135: | ||
* Статистические алгоритмы: [[EM-алгоритм]]. Псевдокод алгоритма [[k-means]]. | * Статистические алгоритмы: [[EM-алгоритм]]. Псевдокод алгоритма [[k-means]]. | ||
- | === | + | === Иерерхическая кластеризация и многомерное шкалирование === |
* [[Агломеративная кластеризация]]: псевдокод алгоритма, [[формула Ланса-Вильямса]] и её частные случаи. | * [[Агломеративная кластеризация]]: псевдокод алгоритма, [[формула Ланса-Вильямса]] и её частные случаи. | ||
* Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров. | * Алгоритм построения [[дендрограмма|дендрограммы]]. Определение числа кластеров. | ||
Строка 144: | Строка 145: | ||
* Примеры прикладных задач. | * Примеры прикладных задач. | ||
- | === | + | === Сети Кохонена и обучающееся векторное квантование === |
* [[Сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM. | * [[Сеть Кохонена]]. [[Конкурентное обучение]], стратегии WTA и WTM. | ||
* [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. | * [[Самоорганизующаяся карта Кохонена]]. Применение для визуального анализа данных. | ||
* [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций. | * [[Сети встречного распространения]], их применение для кусочно-постоянной и гладкой аппроксимации функций. | ||
- | === | + | === Алгоритмические композиции === |
* Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]]. | * Основные понятия: [[базовый алгоритм]] ([[алгоритмический оператор]]), [[корректирующая операция]]. | ||
* Линейные (выпуклые) алгоритмические композиции. | * Линейные (выпуклые) алгоритмические композиции. | ||
Строка 156: | Строка 157: | ||
* [[Решающий список]] (комитет старшинства). Эвристический алгоритм. | * [[Решающий список]] (комитет старшинства). Эвристический алгоритм. | ||
- | === | + | === Бустинг, бэггинг и аналоги === |
* [[Взвешенное голосование]]. | * [[Взвешенное голосование]]. | ||
* Экспоненциальная аппроксимация пороговой функции потерь. Теорема о сходимости [[бустинг]]а. | * Экспоненциальная аппроксимация пороговой функции потерь. Теорема о сходимости [[бустинг]]а. | ||
Строка 163: | Строка 164: | ||
* Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]]. | * Стохастические методы: [[бэггинг]] и [[метод случайных подпространств]]. | ||
- | === | + | === Метод комитетов === |
* Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты). | * Общее понятие: [[комитет]] системы ограничений. Комитеты большинства, простое и взвешенное голосование (''z,p''-комитеты). | ||
* Теоремы о существовании комитетного решения. | * Теоремы о существовании комитетного решения. | ||
Строка 170: | Строка 171: | ||
* Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета. | * Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета. | ||
- | === | + | === Нелинейные алгоритмические композиции === |
* [[Смесь экспертов]], [[область компетентности]] алгоритма. | * [[Смесь экспертов]], [[область компетентности]] алгоритма. | ||
* Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический. | * Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический. | ||
Строка 176: | Строка 177: | ||
* Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. | * Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии. | ||
- | === | + | === Оценивание и выбор моделей === |
* Внутренние и [[внешние критерии]]. | * Внутренние и [[внешние критерии]]. | ||
* [[Скользящий контроль]]. | * [[Скользящий контроль]]. | ||
Строка 184: | Строка 185: | ||
* Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ остатков]]. | * Статистические критерии: [[коэффициент детерминации]], [[критерий Фишера]], [[анализ остатков]]. | ||
- | === | + | === Методы отбора признаков === |
* Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]]. | * Сложность задачи [[отбор признаков|отбора признаков]]. [[Полный перебор]]. | ||
* [[Метод добавления и удаления]] (шаговая регрессия). | * [[Метод добавления и удаления]] (шаговая регрессия). | ||
Строка 192: | Строка 193: | ||
* [[Случайный поиск с адаптацией]] (СПА). | * [[Случайный поиск с адаптацией]] (СПА). | ||
- | === | + | === Логические алгоритмы классификации === |
* Понятие [[логическая закономерность|логической закономерности]]. Эвристическое, статичтическое, энтропийное определение [[информативность|информативности]]. Асимптотическая эквивалентность статичтического и энтропийного определения. Принципиальные отличия эвристического и статичтического определения. | * Понятие [[логическая закономерность|логической закономерности]]. Эвристическое, статичтическое, энтропийное определение [[информативность|информативности]]. Асимптотическая эквивалентность статичтического и энтропийного определения. Принципиальные отличия эвристического и статичтического определения. | ||
* Разновидности закономерностей: шары, гиперплоскости, гиперпараллелепипеды (конъюнкции). | * Разновидности закономерностей: шары, гиперплоскости, гиперпараллелепипеды (конъюнкции). | ||
Строка 198: | Строка 199: | ||
* «Градиентный» алгоритм синтеза конъюнкций, частные случаи: жадный алгоритм, [[стохастический локальный поиск]], [[стабилизация]], [[редукция]]. | * «Градиентный» алгоритм синтеза конъюнкций, частные случаи: жадный алгоритм, [[стохастический локальный поиск]], [[стабилизация]], [[редукция]]. | ||
- | === | + | === Решающие списки и деревья === |
* [[Решающий список]]. Жадный алгоритм синтеза списка. | * [[Решающий список]]. Жадный алгоритм синтеза списка. | ||
* [[Решающее дерево]]. Псевдокод: жадный [[алгоритм ID3]]. Недостатки алгоритма и способы их устранения. Проблема переобучения. | * [[Решающее дерево]]. Псевдокод: жадный [[алгоритм ID3]]. Недостатки алгоритма и способы их устранения. Проблема переобучения. | ||
Строка 206: | Строка 207: | ||
* [[Переключающиеся решающие деревья]] (alternating decision tree). | * [[Переключающиеся решающие деревья]] (alternating decision tree). | ||
- | === | + | === Взвешенное голосование логических закономерностей === |
* Принцип голосования. Проблема различности (диверсификации) закономерностей. | * Принцип голосования. Проблема различности (диверсификации) закономерностей. | ||
* Методы синтеза конъюнктивных закономерностей. Псевдокод: [[алгоритм КОРА]], [[алгоритм ТЭМП]]. | * Методы синтеза конъюнктивных закономерностей. Псевдокод: [[алгоритм КОРА]], [[алгоритм ТЭМП]]. | ||
Строка 212: | Строка 213: | ||
* Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов. | * Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов. | ||
- | === | + | === Алгоритмы вычисления оценок === |
* [[Принцип частичной прецедентности]]. Структура [[АВО]]. | * [[Принцип частичной прецедентности]]. Структура [[АВО]]. | ||
* [[Тупиковые тесты]]. | * [[Тупиковые тесты]]. | ||
Строка 219: | Строка 220: | ||
* Применение бустинга, ТЭМП и СПА для оптимизации АВО. | * Применение бустинга, ТЭМП и СПА для оптимизации АВО. | ||
- | === | + | === Поиск ассоциативных правил === |
* Пример прикладной задачи: [[анализ рыночных корзин]]. | * Пример прикладной задачи: [[анализ рыночных корзин]]. | ||
* Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности. | * Понятие [[Ассоциативное правило|ассоциативного правила]] и его связь с понятием логической закономерности. |
Версия 10:16, 29 августа 2008
Машинное обучение возникло на стыке прикладной статистики, оптимизации, дискретного анализа, и за последние 30 лет оформилось в самостоятельную математическую дисциплину. Методы машинного обучения составляют основу ещё более молодой дисциплины — интеллектуального анализа данных (data mining).
В курсе рассматриваются основные задачи обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности. Изучаются методы их решения, как классические, так и новые, созданные за последние 10–15 лет. Упор делается на глубокое понимание математических основ, взаимосвязей, достоинств и ограничений рассматриваемых методов. Отдельные теоремы приводятся с доказательствами.
Все методы излагаются по единой схеме:
- исходные идеи и эвристики;
- их формализация и математическая теория;
- описание алгоритма в виде слабо формализованного псевдокода;
- анализ достоинств, недостатков и границ применимости;
- пути устранения недостатков;
- сравнение с другими методами;
- примеры прикладных задач.
Данный курс существенно расширяет и углубляет набор тем, рекомендованный международным стандартом ACM/IEEE Computing Curricula 2001 по дисциплине «Машинное обучение и нейронные сети» (machine learning and neural networks) в разделе «Интеллектуальные системы» (intelligent systems).
Курс читается студентам 3 курса кафедры «Интеллектуальные системы / интеллектуальный анализ данных» ФУПМ МФТИ с 2004 года и студентам 3 курса кафедры «Математические методы прогнозирования» ВМиК МГУ с 2007 года. На материал данного курса существенно опираются последующие кафедральные курсы. На кафедре ММП ВМиК МГУ параллельно с данным курсом и в дополнение к нему читается спецкурс Теория надёжности обучения по прецедентам.
От студентов требуются знания курсов линейной алгебры, математического анализа, теории вероятностей. Знание математической статистики, методов оптимизации и какого-либо языка программирования желательно, но не обязательно.
Первый семестр
Вводная лекция
- Постановка задач обучения по прецедентам. Объекты и признаки. Типы шкал: бинарные, номинальные, порядковые, количественные.
- Типы задач: классификация, регрессия, прогнозирование, кластеризация. Примеры прикладных задач.
- Основные понятия: модель алгоритмов, метод обучения, функция потерь и функционал качества, принцип минимизации эмпирического риска, обобщающая способность, скользящий контроль.
- Вероятностная постановка задачи, принцип максимума правдоподобия и его связь с принципом минимизации эмпирического риска.
Байесовские алгоритмы классификации
- Оптимальный байесовский классификатор.
- Функционал среднего риска. Ошибки I и II рода.
- Теорема об оптимальности байесовского решающего правила.
- Оценивание плотности распределения: три основных подхода.
- Наивный байесовский классификатор.
- Непараметрическое оценивание плотности распределения по Парзену-Розенблатту. Выбор функции ядра. Выбор ширины окна, переменная ширина окна. Робастное оценивание плотности. Метод парзеновского окна.
Параметрическое оценивание плотности
- Нормальный дискриминантный анализ. Многомерное нормальное распределение, геометрическая интерпретация. Выборочные оценки параметров многомерного нормального распределения.
- Квадратичный дискриминант. Вид разделяющей поверхности. Подстановочный алгоритм, его недостатки и способы их устранения.
- Линейный дискриминант Фишера.
- Проблемы мультиколлинеарности и переобучения. Регуляризация ковариационной матрицы. Метод редукции размерности Шурыгина. Робастное оценивание.
- Факультатив или семинар: матричное дифференцирование.
Разделение смеси распределений
- Смесь распределений.
- EM-алгоритм: основная идея, понятие скрытых переменных. «Вывод» алгоритма без обоснования сходимости. Псевдокод EM-алгоритма. Критерий останова. Выбор начального приближения. Выбор числа компонентов смеси.
- Стохастический EM-алгоритм.
- Смесь многомерных нормальных распределений. Сеть радиальных базисных функций (RBF) и применение EM-алгоритма для её настройки.
Линейные алгоритмы классификации, однослойный перцептрон
- Естественный нейрон, модель МакКаллока-Питтса, функции активации.
- Линейный классификатор, непрерывные аппроксимации пороговых функций потерь.
- Квадратичная функция потерь, метод наименьших квадратов, связь с линейным дискриминантом Фишера.
- Метод стохастического градиента и частные случаи: адаптивный линейный элемент ADALINE, перцептрон Розенблатта, правило Хэбба.
- Теорема Новикова о сходимости.
Логистическая регрессия
- Гипотеза экспоненциальности функций правдоподобия классов. Теорема о линейности байесовского оптимального классификатора. Оценивание апостериорных вероятностей классов с помощью сигмоидной функции активации.
- Логистическая регрессия. Принцип максимума правдоподобия и логарифмическая функция потерь.
- Настройка порога решающего правила по критерию числа ошибок I и II рода, кривая ошибок (lift curve), отказы от классификации.
- Пример прикладной задачи: кредитный скоринг и скоринговые карты.
Нейронные сети
- Проблема исключающего или. Проблема полноты. Полнота двухслойных сетей в пространстве булевских функций. Теоремы Колмогорова, Стоуна, Горбаня (без доказательства).
- Алгоритм обратного распространения ошибок. Недостатки алгоритма, способы их устранения.
- Проблема переобучения.
- Проблема «паралича» сети.
- Редукция весов (weight decay).
- Подбор структуры сети. Методы постепенного усложнения сети.
- Метод оптимального прореживания сети (optimal brain damage).
Метод опорных векторов
- Оптимальная разделяющая гиперплоскость. Понятие зазора между классами (margin).
- Случай линейной разделимости. Задача квадратичного программирования и двойственная задача. Понятие опорных векторов.
- Случай отсутствия линейной разделимости. Связь с минимизацией эмпирического риска, кусочно-линейная функция потерь. Двойственная задача. Отличие от предыдущего случая. Выбор константы C.
- Функция ядра (kernel functions), спрямляющее пространство, теорема Мерсера.
- Способы построения ядер. Примеры ядер.
- Сопоставление SVM и RBF-сети.
Оптимизационные техники решения задачи SVM
- Обучение SVM методом последовательной минимизации. Псевдокод: алгоритм SMO.
- Обучение SVM методом активных ограничений. Псевдокод: алгоритм INCAS.
- SVM-регрессия.
Метрические алгоритмы классификации
- Метод ближайших соседей (kNN) и его обобщения.
- Подбор числа k по критерию скользящего контроля.
- Обобщённый метрический классификатор.
- Метод потенциальных функций, градиентный алгоритм.
- Настройка весов объектов. Отбор эталонных объектов. Псевдокод: алгоритм СТОЛП.
- Проклятие размерности. Настройка весов признаков.
- Вывод на основе прецедентов (CBR).
Непараметрическая регрессия
- Локально взвешенный метод наименьших квадратов и оценка Надарая-Ватсона.
- Сглаживание.
- Выбор функции ядра. Выбор ширины окна сглаживания. Сглаживание с переменной шириной окна.
- Проблема выбросов и робастная непараметрическая регрессия. Псевдокод: алгоритм LOWESS.
- Проблема «проклятия размерности» и проблема выбора метрики.
Многомерная линейная регрессия
- Задача регрессии, многомерная линейная регрессия.
- Метод наименьших квадратов. Сингулярное разложение.
- Проблемы мультиколлинеарности и переобучения.
- Регуляризация. Гребневая регрессия. Лассо Тибширани. Линейная монотонная регрессия (симплекс-метод).
- Линейные преобразования признакового пространства. Метод главных компонент и декоррелирующее преобразование Карунена-Лоэва.
- Робастная регрессия.
Шаговая регрессия
- Модифицированная ортогонализация Грама-Шмидта, достоинства и недостатки.
- Отбор признаков в процессе ортогонализации, критерии выбора и останова.
- Метод наименьших углов (LARS), его связь с лассо и шаговой регрессией.
Нелинейная параметрическая регрессия
- Метод Ньютона-Рафсона, метод Ньютона-Гаусса.
- Одномерные нелинейные преобразования признаков: метод обратной настройки (backfitting) Хасти-Тибширани.
- Обобщённая линейная модель (GLM).
- Логистическая регрессия как частный случай GLM, метод наименьших квадратов с итеративным пересчетом весов (IRLS).
Прогнозирование временных рядов
- Аддитивная модель временного ряда: тренд, сезонность, цикличность. Модель Бокса-Дженкинса. Модель ARIMA — авторегрессии и интегрированного скользящего среднего.
- Адаптивные модели. Примеры экономических приложений.
- Неквадратичные функции потерь, примеры прикладных задач.
Второй семестр
Кластеризация: эвристические и статистические алгоритмы
- Постановка задачи кластеризации. Примеры прикладных задач.
- Графовые алгоритмы кластеризации. Алгоритм связных компонент.
- Псевдокод алгоритма: кратчайший незамкнутый путь.
- Псевдокод алгоритма: ФОРЭЛ.
- Функционалы качества кластеризации.
- Статистические алгоритмы: EM-алгоритм. Псевдокод алгоритма k-means.
Иерерхическая кластеризация и многомерное шкалирование
- Агломеративная кластеризация: псевдокод алгоритма, формула Ланса-Вильямса и её частные случаи.
- Алгоритм построения дендрограммы. Определение числа кластеров.
- Свойства сжатия/растяжения, монотонности и редуктивности. Псевдокод редуктивной версии алгоритма.
Потоковые (субквадратичные) алгоритмы кластеризации.
- Многомерное шкалирование. Размещение одной точки методом Ньютона-Рафсона. Субквадратичный алгоритм.
- Визуализация: карта сходства, диаграмма Шепарда.
- Совмещение многомерного шкалирования и иерархической кластеризации.
- Примеры прикладных задач.
Сети Кохонена и обучающееся векторное квантование
- Сеть Кохонена. Конкурентное обучение, стратегии WTA и WTM.
- Самоорганизующаяся карта Кохонена. Применение для визуального анализа данных.
- Сети встречного распространения, их применение для кусочно-постоянной и гладкой аппроксимации функций.
Алгоритмические композиции
- Основные понятия: базовый алгоритм (алгоритмический оператор), корректирующая операция.
- Линейные (выпуклые) алгоритмические композиции.
- Процесс последовательного обучения базовых алгоритмов.
- Простое голосование (комитет большинства). Эвристический алгоритм.
- Решающий список (комитет старшинства). Эвристический алгоритм.
Бустинг, бэггинг и аналоги
- Взвешенное голосование.
- Экспоненциальная аппроксимация пороговой функции потерь. Теорема о сходимости бустинга.
- Псевдокод: алгоритм AdaBoost.
- Варианты бустинга: GentleBoost, LogitBoost, BrownBoost, и другие.
- Стохастические методы: бэггинг и метод случайных подпространств.
Метод комитетов
- Общее понятие: комитет системы ограничений. Комитеты большинства, простое и взвешенное голосование (z,p-комитеты).
- Теоремы о существовании комитетного решения.
- Сопоставление комитета линейных неравенств с нейронной сетью.
- Максимальная совместная подсистема, минимальный комитет. Теоремы об NP-полноте задачи поиска минимального комитета.
- Алгоритм построения комитета, близкого к минимальному. Верхняя оценка числа членов комитета.
Нелинейные алгоритмические композиции
- Смесь экспертов, область компетентности алгоритма.
- Выпуклые функции потерь. Методы построения смесей: последовательный и иерархический.
- Построение смесей экспертов с помощью EM-алгоритма.
- Нелинейная монотонная корректирующая операция. Случай классификации. Случай регрессии.
Оценивание и выбор моделей
- Внутренние и внешние критерии.
- Скользящий контроль.
- Критерий непротиворечивости.
- Регуляризация.
- Критерии, основанные на оценках обобщающей способности: Вапника-Червоненкиса, критерий Акаике (AIC), байесовский информационный критерий (BIC).
- Статистические критерии: коэффициент детерминации, критерий Фишера, анализ остатков.
Методы отбора признаков
- Сложность задачи отбора признаков. Полный перебор.
- Метод добавления и удаления (шаговая регрессия).
- Поиск в глубину (метод ветвей и границ).
- Усечённый поиск в ширину (многорядный итерационный алгоритм МГУА).
- Генетический алгоритм, его сходство с МГУА.
- Случайный поиск с адаптацией (СПА).
Логические алгоритмы классификации
- Понятие логической закономерности. Эвристическое, статичтическое, энтропийное определение информативности. Асимптотическая эквивалентность статичтического и энтропийного определения. Принципиальные отличия эвристического и статичтического определения.
- Разновидности закономерностей: шары, гиперплоскости, гиперпараллелепипеды (конъюнкции).
- Бинаризация признаков, алгоритм выделения информативных зон.
- «Градиентный» алгоритм синтеза конъюнкций, частные случаи: жадный алгоритм, стохастический локальный поиск, стабилизация, редукция.
Решающие списки и деревья
- Решающий список. Жадный алгоритм синтеза списка.
- Решающее дерево. Псевдокод: жадный алгоритм ID3. Недостатки алгоритма и способы их устранения. Проблема переобучения.
- Редукция решающих деревьев: предредукция и постредукция.
- Преобразование решающего дерева в решающий список.
- Решающий лес и бустинг над решающими деревьями.
- Переключающиеся решающие деревья (alternating decision tree).
Взвешенное голосование логических закономерностей
- Принцип голосования. Проблема различности (диверсификации) закономерностей.
- Методы синтеза конъюнктивных закономерностей. Псевдокод: алгоритм КОРА, алгоритм ТЭМП.
- Алгоритм бустинга. Теорема сходимости.
- Примеры прикладных задач: кредитный скоринг, прогнозирование ухода клиентов.
Алгоритмы вычисления оценок
- Принцип частичной прецедентности. Структура АВО.
- Тупиковые тесты.
- Тупиковые представительные наборы.
- Проблема оптимизации АВО. АВО как композиция метрических закономерностей.
- Применение бустинга, ТЭМП и СПА для оптимизации АВО.
Поиск ассоциативных правил
- Пример прикладной задачи: анализ рыночных корзин.
- Понятие ассоциативного правила и его связь с понятием логической закономерности.
- Псевдокод: алгоритм APriori, его недостатки и пути усовершенствования.
Файлы
Экзаменационные билеты
Практикум