От издательства....13
Об авторе....14
Колофон....15
Предисловие....16
Глава 1. Введение ....18
Что такое линейная алгебра и зачем ее изучать?....18
Об этой книге....19
Предварительные требования....20
Математика....20
Отношение....20
Программирование....21
Математические доказательства в противовес интуитивному пониманию на основе программирования....21
Рабочий код в книге и предназначенный для скачивания онлайн....23
Упражнения по программированию....23
Как пользоваться этой книгой (для учителей и самообучающихся)....24
Глава 2. Векторы. Часть 1....25
Создание и визуализация векторов в NumPy....25
Геометрия векторов....28
Операции на векторах....29
Сложение двух векторов....29
Вычитание двух векторов....30
Геометрия сложения и вычитания векторов....31
Умножение вектора на скаляр....32
Сложение скаляра с вектором....33
Геометрия умножения вектора на скаляр....33
Транспонирование....34
Транслирование векторов в Python....35
Модуль вектора и единичные векторы....36
Точечное произведение векторов....37
Точечное произведение является дистрибутивным....39
Геометрия точечного произведения....40
Другие умножения векторов....41
Адамарово умножение....41
Внешнее произведение....42
Перекрестное и тройное произведения....43
Ортогональное разложение векторов....43
Резюме....47
Упражнения по программированию....47
Глава 3. Векторы. Часть 2....50
Множества векторов....50
Линейно-взвешенная комбинация....51
Линейная независимость....52
Математика линейной независимости....54
Независимость и вектор нулей....55
Подпространство и охват....55
Базис....58
Определение базиса....61
Резюме....62
Упражнения по программированию....63
Глава 4. Применения векторов....65
Корреляция и косинусное сходство....65
Фильтрация временных рядов и обнаружение признаков....68
Кластеризация методом k-средних....69
Упражнения по программированию....72
Упражнения по корреляции....72
Упражнения по фильтрации и обнаружению признаков....74
Упражнения по алгоритму k-средних....76
Глава 5. Матрицы. Часть 1....77
Создание и визуализация матриц в NumPy....77
Визуализация, индексация и нарезка матриц....77
Специальные матрицы....79
Матричная математика: сложение, умножение на скаляр, адамарово умножение....81
Сложение и вычитание....81
«Сдвиг» матрицы....82
Умножение на скаляр и адамарово умножение....83
Стандартное умножение матриц....83
Правила допустимости умножения матриц....84
Умножение матриц....85
Умножение матрицы на вектор....86
Линейно-взвешенные комбинации....87
Результаты геометрических преобразований....87
Матричные операции: транспонирование....89
Обозначение точечного и внешнего произведений....89
Матричные операции: LIVE EVIL (порядок следования операций)....90
Симметричные матрицы....90
Создание симметричных матриц из несимметричных....91
Резюме....92
Упражнения по программированию....93
Глава 6. Матрицы. Часть 2....98
Нормы матриц....98
След матрицы и норма Фробениуса....100
Пространства матрицы (столбцовое, строчное, нуль-пространство)....101
Столбцовое пространство....101
Строчное пространство....105
Нуль-пространства....105
Ранг....109
Ранги специальных матриц....111
Ранг сложенных и умноженных матриц....113
Ранг сдвинутых матриц....114
Теория и практика....114
Применения ранга....115
В столбцовом пространстве....116
Линейная независимость множества векторов....117
Определитель....118
Вычисление определителя....118
Определитель с линейными зависимостями....120
Характеристический многочлен....120
Резюме....122
Упражнения по программированию....124
Глава 7. Применения матриц....129
Матрицы ковариаций многопеременных данных....129
Геометрические преобразования посредством умножения матриц на векторы....132
Обнаружение признаков изображения....136
Резюме....139
Упражнения по программированию....139
Упражнения по матрицам ковариаций и корреляций....139
Упражнения по геометрическим преобразованиям....141
Упражнения по обнаружению признаков изображения....143
Глава 8. Обратные матрицы....145
Обратная матрица....145
Типы обратных матриц и условия обратимости....146
Вычисление обратной матрицы....147
Обратная матрица матрицы 2×2....147
Обратная матрица диагональной матрицы....149
Инвертирование любой квадратной полноранговой матрицы....150
Односторонние обратные матрицы....152
Уникальность обратной матрицы....154
Псевдообратная матрица Мура–Пенроуза....155
Численная стабильность обратной матрицы....156
Геометрическая интерпретация обратной матрицы....157
Резюме....159
Упражнения по программированию....159
Глава 9. Ортогональные матрицы и QR-разложение....163
Ортогональные матрицы....163
Процедура Грама–Шмидта....165
QR-разложение....166
Размеры матриц Q и R....167
Почему матрица R является верхнетреугольной....169
QR и обратные матрицы....170
Резюме....170
Упражнения по программированию....171
Глава 10. Приведение строк и LU-разложение....175
Системы уравнений....175
Конвертирование уравнений в матрицы....176
Работа с матричными уравнениями....177
Приведение строк....179
Метод устранения по Гауссу....181
Метод устранения по Гауссу–Жордану....182
Обратная матрица посредством метода устранения по Гауссу–Жордану....183
LU-разложение....184
Взаимообмен строками посредством матриц перестановок....186
Резюме....187
Упражнения по программированию....187
Глава 11. Общие линейные модели и наименьшие квадраты....190
Общие линейные модели....191
Терминология....191
Настройка общей линейной модели....191
Решение общих линейных моделей....193
Является ли решение точным?....194
Геометрическая перспектива наименьших квадратов....195
В чем причина работы метода наименьших квадратов?....196
Общая линейная модель на простом примере....198
Наименьшие квадраты посредством QR-разложения....202
Резюме....203
Упражнения по программированию....204
Глава 12. Применения метода наименьших квадратов....208
Предсказывание количеств велопрокатов на основе погоды....208
Регрессионная таблица с использованием библиотеки statsmodels....213
Мультиколлинеарность....214
Регуляризация....214
Полиномиальная регрессия....216
Поиск в параметрической решетке для отыскания модельных параметров....219
Резюме....221
Упражнения по программированию....222
Упражнения по аренде велосипедов....222
Упражнения по мультиколлинеарности....223
Упражнения по регуляризации....224
Упражнение по полиномиальной регрессии....225
Упражнения по поиску в параметрической решетке....226
Глава 13. Собственное разложение....228
Интерпретации собственных чисел и собственных векторов....229
Геометрия....229
Статистика (анализ главных компонент)....230
Подавление шума....231
Уменьшение размерности (сжатие данных)....232
Отыскание собственных чисел....232
Отыскание собственных векторов....235
Неопределенность собственных векторов по знаку и шкале....236
Диагонализация квадратной матрицы....237
Особая удивительность симметричных матриц....239
Ортогональные собственные векторы....239
Действительно-значные собственные числа....241
Собственное разложение сингулярных матриц....242
Квадратичная форма, определенность и собственные числа....244
Квадратичная форма матрицы....244
Определенность ....246
ATA является положительной (полу)определенной....246
Обобщенное собственное разложение....247
Резюме....249
Упражнения по программированию....250
Глава 14. Сингулярное разложение....255
Общая картина сингулярного разложения....255
Сингулярные числа и ранг матрицы....257
Сингулярное разложение на Python....257
Сингулярное разложение и одноранговые «слои» матрицы....258
Сингулярное разложение из собственного разложения....260
Сингулярное разложение матрицы АТА....261
Конвертация сингулярных чисел в дисперсию: объяснение....261
Кондиционное число....262
Сингулярное разложение и псевдообратная матрица Mура–Пенроуза....263
Резюме....264
Упражнения по программированию....265
Глава 15. Применения собственного и сингулярного разложений....269
Анализ главных компонент с использованием собственного и сингулярного разложений....269
Математика анализа главных компонент....270
Шаги выполнения PCA....272
PCA посредством сингулярного разложения....273
Линейный дискриминантный анализ....274
Низкоранговая аппроксимация посредством сингулярного разложения....276
Сингулярное разложение для шумоподавления....277
Резюме....277
Упражнения....278
Анализ главных компонент (PCA)....278
Линейный дискриминантный анализ (LDA)....282
Сингулярное разложение для низкоранговых аппроксимаций....286
Сингулярное разложение для шумоподавления в изображениях....288
Глава 16. Краткое руководство по языку Python....292
Почему Python и какие есть альтернативы?....292
Интерактивные среды разработки....293
Использование Python локально и онлайн....293
Работа с файлами исходного кода в Google Colab....294
Переменные....295
Типы данных....297
Индексация....298
Функции....298
Методы в качестве функций....300
Написание своих собственных функций....300
Библиотеки....302
NumPy....302
Индексация и нарезка в NumPy....303
Визуализация....304
Переложение формул в исходный код....306
Форматирование печати и F-строки....309
Поток управления....310
Компараторы....310
Инструкции if....311
Инструкции elif и else....311
Несколько условий....312
Циклы for....313
Вложенные инструкции управления....313
Измерение времени вычислений....314
Получение помощи и приобретение новых знаний....314
Что делать, когда дела идут наперекосяк....315
Резюме....315
Дополнение А. Теорема о ранге и нульности....316
Тематический указатель....318
Линейная алгебра, предметом которой являются матрицы и операции на них, составляет математическую основу почти всех алгоритмов и методов анализа, реализованных в компьютерах. Но в учебниках десятилетней давности она преподносится без учета того, как профессионалы применяют линейную алгебру сегодня для решения реальных задач.
В книге рассказывается о ключевых концепциях линейной алгебры, реализованных на Python, и о том, как их использовать в науке о данных, машинном и глубоком обучении и вычислительном моделировании. Вооружившись этими знаниями, вы сможете понять, как внедрять и адаптировать под свои задачи целый ряд современных методов анализа и алгоритмов.
Книга идеально подходит специалистам по обработке данных, а также будет полезна студентам и широкому кругу разработчиков ПО.