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

Нишант Шакла

Обложка:


Оглавление
Предисловие..............................................................................................11
Благодарности...........................................................................................13
Об этой книге.............................................................................................15
Содержание книги.................................................................................................................15
Исходный код..........................................................................................................................16
Форум книги ...........................................................................................................................16
Об авторе ..................................................................................................................................17
Об обложке...............................................................................................................................18
От издательства......................................................................................................................18
Часть I. Ваше снаряжение для машинного обучения......................... 19
Глава 1. Одиссея машинного обучения.........................................................21
1.1. Основы машинного обучения....................................................................................24
1.1.1. Параметры .............................................................................................................27
1.1.2. Обучение и вывод................................................................................................28
6    Оглавление
1.2. Представление данных и признаки .........................................................................30
1.3. Метрики расстояния.....................................................................................................37
1.4. Типы обучения ................................................................................................................40
1.4.1. Обучение с учителем..........................................................................................40
1.4.2. Обучение без учителя........................................................................................43
1.4.3. Обучение с подкреплением..............................................................................44
1.5. Библиотека ТensorFlow ...............................................................................................46
1.6. Обзор предстоящих глав .............................................................................................48
1.7. Краткие итоги..................................................................................................................51
Глава 2. Основы TensorFlow........................................................................53
2.1. Убедитесь, что TensorFlow работает ........................................................................56
2.2. Представление тензоров .............................................................................................57
2.3. Создание операторов ....................................................................................................62
2.4. Выполнение операторов во время сеанса ..............................................................65
2.4.1. Представление кода как графа........................................................................67
2.4.2. Настройка конфигурации сеансов ................................................................68
2.5. Написание кода в Jupyter............................................................................................70
2.6. Использование переменных.......................................................................................74
2.7. Сохранение и загрузка переменных ........................................................................76
2.8. Визуализация данных с помощью TensorBoard ..................................................77
2.8.1. Использование метода скользящего среднего ..........................................78
2.8.2. Визуализация метода скользящего среднего.............................................80
2.9. Краткие итоги..................................................................................................................82
Часть II. Основные алгоритмы обучения ............................................ 85
Глава 3. Линейная и нелинейная регрессия...................................................87
3.1. Формальные обозначения...........................................................................................89
3.1.1. Как понять, что алгоритм регрессии работает? .......................................92
3.2. Линейная регрессия ......................................................................................................95
Оглавление 7
3.3. Полиномиальная модель.............................................................................................99
3.4. Регуляризация.............................................................................................................. 102
3.5. Применение линейной регрессии.......................................................................... 106
3.6. Краткие итоги............................................................................................................... 108
Глава 4. Краткое введение в классификацию.............................................. 111
4.1. Формальные обозначения........................................................................................ 114
4.2. Оценка эффективности............................................................................................. 117
4.2.1. Правильность..................................................................................................... 117
4.2.2. Точность и полнота .......................................................................................... 118
4.2.3. Кривая ошибок ................................................................................................. 120
4.3. Использование для классификации линейной регрессии............................ 121
4.4. Использование логистической регрессии.......................................................... 127
4.4.1. Решение одномерной логистической регрессии ................................... 128
4.4.2. Решение двумерной логистической регрессии...................................... 133
4.5. Многоклассовая классификация........................................................................... 136
4.5.1. Один против всех ............................................................................................. 137
4.5.2. Каждый против каждого................................................................................ 138
4.5.3. Многоклассовая логистическая регрессия.............................................. 139
4.6. Применение классификации .................................................................................. 144
4.7. Краткие итоги............................................................................................................... 145
Глава 5. Автоматическая кластеризация данных......................................... 147
5.1. Обход файлов в TensorFlow..................................................................................... 149
5.2. Извлечение признаков из звукозаписи............................................................... 151
5.3. Кластеризация методом k-средних ....................................................................... 156
5.4. Сегментация звуковых данных .............................................................................. 160
5.5. Кластеризация с самоорганизующимися картами.......................................... 163
5.6. Применение кластеризации .................................................................................... 169
5.7. Краткие итоги............................................................................................................... 170
8   Оглавление
Глава 6. Скрытое марковское моделирование............................................. 171
6.1. Пример не интерпретируемой модели ................................................................ 173
6.2. Модель Маркова.......................................................................................................... 174
6.3. Скрытое марковское моделирование................................................................... 178
6.4. Алгоритм прямого хода............................................................................................. 180
6.5. Декодирование Витерби........................................................................................... 184
6.6. Применение скрытых марковских моделей ...................................................... 185
6.6.1. Моделирование видео..................................................................................... 185
6.6.2. Моделирование ДНК...................................................................................... 186
6.6.3. Моделирование изображения...................................................................... 186
6.7. Применение скрытых марковских моделей ...................................................... 186
6.8. Краткие итоги............................................................................................................... 187
Часть III. Парадигма нейронных сетей ............................................. 189
Глава 7. Знакомство с автокодировщиками................................................ 191
7.1. Нейронные сети........................................................................................................... 193
7.2. Автокодировщики....................................................................................................... 198
7.3. Пакетное обучение...................................................................................................... 203
7.4. Работа с изображениями .......................................................................................... 204
7.5. Применение автокодировщиков............................................................................ 210
7.6. Краткие итоги............................................................................................................... 211
Глава 8. Обучение с подкреплением........................................................... 213
8.1. Формальные обозначения........................................................................................ 216
8.1.1. Политика ............................................................................................................. 217
8.1.2. Выгода .................................................................................................................. 219
8.2. Применение обучения с подкреплением ............................................................ 221
8.3. Реализация обучения с подкреплением.............................................................. 223
8.4. Исследование других областей использования обучения
с подкреплением.................................................................................................................. 232
8.5. Краткие итоги............................................................................................................... 233
Оглавление 9
Глава 9. Сверточные нейронные сети......................................................... 235
9.1. Недостатки нейронных сетей.................................................................................. 237
9.2. Сверточные нейронные сети................................................................................... 238
9.3. Подготовка изображения ......................................................................................... 240
9.3.1. Создание фильтров.......................................................................................... 244
9.3.2. Свертывания с использованием фильтров.............................................. 246
9.3.3. Подвыборка с определением максимального значения
(max pooling) ................................................................................................................. 250
9.4. Использование сверточной нейронной сети в TensorFlow........................... 252
9.4.1. Оценка эффективности.................................................................................. 255
9.4.2. Обучения классификатора............................................................................ 256
9.5. Советы и трюки по повышению эффективности............................................. 257
9.6. Применение сверточных нейронных сетей........................................................ 258
9.7. Краткие итоги............................................................................................................... 259
Глава 10. Рекуррентные нейронные сети.................................................... 261
10.1. Контекстная информация...................................................................................... 262
10.2. Введение в рекуррентные нейронные сети...................................................... 263
10.3. Использование рекуррентной нейронной сети.............................................. 265
10.4. Прогностическая модель данных временного ряда...................................... 269
10.5. Применение рекуррентных нейронных сетей ................................................ 274
10.6. Краткие итоги ............................................................................................................ 274
Глава 11. Модели sequence-to-sequence для чат-бота.................................. 275
11.1. Построения на основе классификации и RNN............................................... 277
11.2. Архитектура seq2seq................................................................................................. 280
11.3. Векторное представление символов .................................................................. 286
11.4. Собирая все вместе................................................................................................... 289
11.5. Сбор данных диалога............................................................................................... 299
11.6. Краткие итоги ............................................................................................................ 301
10   Оглавление
Глава 12. Ландшафт полезности................................................................. 303
12.1. Модель предпочтения ............................................................................................. 307
12.2. Встраивание изображения..................................................................................... 313
12.3. Ранжирование изображений................................................................................. 317
12.4. Краткие итоги ............................................................................................................ 323
12.5. Что дальше?................................................................................................................ 323
Приложение. Установка............................................................................ 325
П.1. Установка TensorFlow с помощью Docker......................................................... 326
П.1.1. Установка Docker в ОС Windows.............................................................. 326
П.1.2. Установка Docker в ОС Linux..................................................................... 328
П.1.3. Установка Docker в macOS .......................................................................... 328
П.1.4. Как использовать Docker ............................................................................. 328
П.2. Установка Matplotlib................................................................................................. 331