В этой книге рассказывается о ключевых концепциях линейной алгебры, реализованных на Python, и о том, как их использовать в науке о данных, машинном и глубоком обучении и вычислительном моделировании. Рассматриваются интерпретации и приложения векторов и матриц, матричная арифметика, важные разложения, используемые в прикладной линейной алгебре, и пр. Прочитав книгу, вы научитесь внедрять и адаптировать под свои задачи целый ряд современных методов анализа и алгоритмов.
Издание адресовано специалистам по обработке данных, а также будет полезно студентам и широкому кругу разработчиков ПО.
Author(s): Майк Икс Коэн
Edition: 1
Publisher: ДМК Пресс
Year: 2023
Language: Russian
Commentary: Publisher's PDF
Pages: 328
City: М.
Tags: Regression; Data Science; Python; NumPy; Linear Algebra; Time Series Analysis
От издательства
Об авторе
Колофон
Предисловие
Глава 1. Введение
Что такое линейная алгебра и зачем ее изучать?
Об этой книге
Предварительные требования
Математика
Отношение
Программирование
Математические доказательства в противовес интуитивному пониманию на основе программирования
Рабочий код в книге и предназначенный для скачивания онлайн
Упражнения по программированию
Как пользоваться этой книгой (для учителей и самообучающихся)
Глава 2. Векторы. Часть 1
Создание и визуализация векторов в NumPy
Геометрия векторов
Операции на векторах
Сложение двух векторов
Вычитание двух векторов
Геометрия сложения и вычитания векторов
Умножение вектора на скаляр
Сложение скаляра с вектором
Геометрия умножения вектора на скаляр
Транспонирование
Транслирование векторов в Python
Модуль вектора и единичные векторы
Точечное произведение векторов
Точечное произведение является дистрибутивным
Геометрия точечного произведения
Другие умножения векторов
Адамарово умножение
Внешнее произведение
Перекрестное и тройное произведения
Ортогональное разложение векторов
Резюме
Упражнения по программированию
Глава 3. Векторы. Часть 2
Множества векторов
Линейно-взвешенная комбинация
Линейная независимость
Математика линейной независимости
Независимость и вектор нулей
Подпространство и охват
Базис
Определение базиса
Резюме
Упражнения по программированию
Глава 4. Применения векторов
Корреляция и косинусное сходство
Фильтрация временных рядов и обнаружение признаков
Кластеризация методом k-средних
Упражнения по программированию
Упражнения по корреляции
Упражнения по фильтрации и обнаружению признаков
Упражнения по алгоритму k-средних
Глава 5. Матрицы. Часть 1
Создание и визуализация матриц в NumPy
Визуализация, индексация и нарезка матриц
Специальные матрицы
Матричная математика: сложение, умножение на скаляр, адамарово умножение
Сложение и вычитание
«Сдвиг» матрицы
Умножение на скаляр и адамарово умножение
Стандартное умножение матриц
Правила допустимости умножения матриц
Умножение матриц
Умножение матрицы на вектор
Линейно-взвешенные комбинации
Результаты геометрических преобразований
Матричные операции: транспонирование
Обозначение точечного и внешнего произведений
Матричные операции: LIVE EVIL (порядок следования операций)
Симметричные матрицы
Создание симметричных матриц из несимметричных
Резюме
Упражнения по программированию
Глава 6. Матрицы. Часть 2
Нормы матриц
След матрицы и норма Фробениуса
Пространства матрицы (столбцовое, строчное, нуль-пространство)
Столбцовое пространство
Строчное пространство
Нуль-пространства
Ранг
Ранги специальных матриц
Ранг сложенных и умноженных матриц
Ранг сдвинутых матриц
Теория и практика
Применения ранга
В столбцовом пространстве
Линейная независимость множества векторов
Определитель
Вычисление определителя
Определитель с линейными зависимостями
Характеристический многочлен
Резюме
Упражнения по программированию
Глава 7. Применения матриц
Матрицы ковариаций многопеременных данных
Геометрические преобразования посредством умножения матриц на векторы
Обнаружение признаков изображения
Резюме
Упражнения по программированию
Упражнения по матрицам ковариаций и корреляций
Упражнения по геометрическим преобразованиям
Упражнения по обнаружению признаков изображения
Глава 8. Обратные матрицы
Обратная матрица
Типы обратных матриц и условия обратимости
Вычисление обратной матрицы
Обратная матрица матрицы 2×2
Обратная матрица диагональной матрицы
Инвертирование любой квадратной полноранговой матрицы
Односторонние обратные матрицы
Уникальность обратной матрицы
Псевдообратная матрица Мура–Пенроуза
Численная стабильность обратной матрицы
Геометрическая интерпретация обратной матрицы
Резюме
Упражнения по программированию
Глава 9. Ортогональные матрицы и QR-разложение
Ортогональные матрицы
Процедура Грама–Шмидта
QR-разложение
Размеры матриц Q и R
Почему матрица R является верхнетреугольной
QR и обратные матрицы
Резюме
Упражнения по программированию
Глава 10. Приведение строк и LU-разложение
Системы уравнений
Конвертирование уравнений в матрицы
Работа с матричными уравнениями
Приведение строк
Метод устранения по Гауссу
Метод устранения по Гауссу–Жордану
Обратная матрица посредством метода устранения по Гауссу–Жордану
LU-разложение
Взаимообмен строками посредством матриц перестановок
Резюме
Упражнения по программированию
Глава 11. Общие линейные модели и наименьшие квадраты
Общие линейные модели
Терминология
Настройка общей линейной модели
Решение общих линейных моделей
Является ли решение точным?
Геометрическая перспектива наименьших квадратов
В чем причина работы метода наименьших квадратов?
Общая линейная модель на простом примере
Наименьшие квадраты посредством QR-разложения
Резюме
Упражнения по программированию
Глава 12. Применения метода наименьших квадратов
Предсказывание количеств велопрокатов на основе погоды
Регрессионная таблица с использованием библиотеки statsmodels
Мультиколлинеарность
Регуляризация
Полиномиальная регрессия
Поиск в параметрической решетке для отыскания модельных параметров
Резюме
Упражнения по программированию
Упражнения по аренде велосипедов
Упражнения по мультиколлинеарности
Упражнения по регуляризации
Упражнение по полиномиальной регрессии
Упражнения по поиску в параметрической решетке
Глава 13. Собственное разложение
Интерпретации собственных чисел и собственных векторов
Геометрия
Статистика (анализ главных компонент)
Подавление шума
Уменьшение размерности (сжатие данных)
Отыскание собственных чисел
Отыскание собственных векторов
Неопределенность собственных векторов по знаку и шкале
Диагонализация квадратной матрицы
Особая удивительность симметричных матриц
Ортогональные собственные векторы
Действительно-значные собственные числа
Собственное разложение сингулярных матриц
Квадратичная форма, определенность и собственные числа
Квадратичная форма матрицы
Определенность
ATA является положительной (полу)определенной
Обобщенное собственное разложение
Резюме
Упражнения по программированию
Глава 14. Сингулярное разложение
Общая картина сингулярного разложения
Сингулярные числа и ранг матрицы
Сингулярное разложение на Python
Сингулярное разложение и одноранговые «слои» матрицы
Сингулярное разложение из собственного разложения
Сингулярное разложение матрицы АТА
Конвертация сингулярных чисел в дисперсию: объяснение
Кондиционное число
Сингулярное разложение и псевдообратная матрица Mура–Пенроуза
Резюме
Упражнения по программированию
Глава 15. Применения собственного и сингулярного разложений
Анализ главных компонент с использованием собственного и сингулярного разложений
Математика анализа главных компонент
Шаги выполнения PCA
PCA посредством сингулярного разложения
Линейный дискриминантный анализ
Низкоранговая аппроксимация посредством сингулярного разложения
Сингулярное разложение для шумоподавления
Резюме
Упражнения
Анализ главных компонент (PCA)
Линейный дискриминантный анализ (LDA)
Сингулярное разложение для низкоранговых аппроксимаций
Сингулярное разложение для шумоподавления в изображениях
Глава 16. Краткое руководство по языку Python
Почему Python и какие есть альтернативы?
Интерактивные среды разработки
Использование Python локально и онлайн
Работа с файлами исходного кода в Google Colab
Переменные
Типы данных
Индексация
Функции
Методы в качестве функций
Написание своих собственных функций
Библиотеки
NumPy
Индексация и нарезка в NumPy
Визуализация
Переложение формул в исходный код
Форматирование печати и F-строки
Поток управления
Компараторы
Инструкции if
Инструкции elif и else
Несколько условий
Циклы for
Вложенные инструкции управления
Измерение времени вычислений
Получение помощи и приобретение новых знаний
Что делать, когда дела идут наперекосяк
Резюме
Дополнение А. Теорема о ранге и нульности
Тематический указатель