Прикладная линейная алгебра для исследователей данных

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Линейная алгебра, предметом которой являются матрицы и операции на них, составляет математическую основу почти всех алгоритмов и методов анализа, реализованных в компьютерах. Но в учебниках десятилетней давности она преподносится без учета того, как профессионалы применяют линейную алгебру сегодня для решения реальных задач. В книге рассказывается о ключевых концепциях линейной алгебры, реализованных на Python, и о том, как их использовать в науке о данных, машинном и глубоком обучении и вычислительном моделировании. Вооружившись этими знаниями, вы сможете понять, как внедрять и адаптировать под свои задачи целый ряд современных методов анализа и алгоритмов. Данная книга посвящена линейно-алгебраическим приложениям в рабочем коде. Я написал эту книгу, ориентируясь на Python, потому что Python в настоящее время является наиболее широко используемым языком в науке о данных, машинном обучении и смежных областях. Если вы предпочитаете другие языки, такие как MATLAB, R, C или Julia, то я надеюсь, что вам будет легко переложить рабочий код Python на эти языки. Я постарался сделать код Python как можно проще, оставляя его при этом релевантным для приложений. Глава 16 содержит базовое введение в программирование на Python. Стоит ли вам просматривать эту главу? Все зависит от вашего уровня владения языком Python. https://github.com/mikexcohen/LinAlg4DataScience

Author(s): Майк Икс Коэн
Publisher: ДМК Пресс
Year: 2023

Language: Russian
Pages: 328
City: М.
Tags: python

Содержание
От издательства
Об авторе
Колофон
Предисловие
Условные обозначения в книге
Использование примеров исходного кода
Благодарности
Глава 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
Вложенные инструкции управления
Измерение времени вычислений
Получение помощи и приобретение новых знаний
Что делать, когда дела идут наперекосяк
Резюме
Дополнение А. Теорема о ранге и нульности
Тематический указатель