Математика Data Science с нуля: QR-разложение на Python

- Уроков: 43
- Сложность: easy
- Аудитория: Курс рассчитан на тех, кто хочет с полного нуля получить глубокое понимание всей математики для машинного обучения которая используется в реализации классических алгоритмов машинного обучения и в дальнейшем применять эти знания в Python коде и кто хочет понимать, что происходит под капотом библиотек Scikit-learn, PyTorch, TensorFlow.
10 Сфер применения QR-разложения:
1. Линейная регрессия
- QR-разложение используется для численно устойчивого решения нормальных уравнений в линейной регрессии, особенно когда матрица плохо обусловлена.
2. Анализ главных компонент (PCA)
- QR-разложение применяется как альтернатива сингулярному разложению для понижения размерности данных и выделения главных компонент.
3. Регуляризация моделей
- Используется в гребневой регрессии (Ridge) и других методах регуляризации для численной стабильности при решении переопределенных систем.
4. Градиентный спуск и оптимизация
- QR-разложение помогает в предобуславливании (preconditioning) матриц Гессе для ускорения сходимости оптимизационных алгоритмов.
5. Рекомендательные системы
- Применяется для матричной факторизации и разложения пользовательских рейтинговых матриц для построения персонализированных рекомендаций.
6. Обработка временных рядов
- Используется в авторегрессионных моделях, фильтрации сигналов и прогнозировании временных рядов для решения систем линейных уравнений.
7. Обработка изображений
- QR-разложение применяется для сжатия изображений, шумоподавления и извлечения признаков из матриц пикселей.
8. Нейронные сети и глубокое обучение
- Используется для инициализации весов, ортогонализации матриц параметров и улучшения обусловленности градиентов.
9. Классификация и кластеризация
- Применяется в методе ближайших соседей, линейных классификаторах и для трансформации признакового пространства.
10. Анализ больших данных (Big Data)
- QR-разложение используется в распределенных алгоритмах для обработки больших матриц данных, MapReduce вычислениях и параллельных алгоритмах машинного обучения.
ОСОБЕННОСТИ КУРСА:
- Разбор коммерческого кода действующих проектов по Data Science с сайта kaggle.com
- Способность понимать раздел "Матричная факторизация" в учебнике от Школы Анализа Данных(ШАД) Яндекс education.yandex.ru/handbook/ml/article/matrichnaya-faktorizaciya
- Способность начать понимать научную статью: arxiv.org/pdf/1509.06820
- Применения знаний на новейших моделях машинного обучения и нейросетей на сайте архив: arxiv.org/list/stat.ML/recent
- Способность понимать лекции от Воронцова К.В. http://machinelearning.ru/wiki/index.php?title=Участник:Vokov
- Глубокое понимание раздела "QR разложение": http://www.machinelearning.ru/wiki/index.php?title=Модифицированная_ортогонализация_Грама-Шмидта
- Адаптация полученных знаний по математике и программированию под специфику бизнеса вашего работодателя или вашего стартапа.
- Навык выведения математических формул с нуля
- Имплементация математических формул в Python
- Глубокое понимание математики которая используется в Python
- Фундаментальное понимание алгоритма QR разложение на примере множественной линейной регрессии
- Фундаментальные знания для подготовки к собеседованию в Data Science
Этот курс - лучший способ начать с нуля и стать специалистом по Машинному Обучению в Python и МАТЕМАТИКЕ!
Курс разработан с акцентом на простой и понятный вход в машинное обучение — без необходимости сразу углубляться в сложную математику. Теоретическая база вводится постепенно, по мере необходимости, что делает обучение комфортным даже для тех, кто не имеет технического образования. Многие участники с гуманитарным бэкграундом успешно проходят курс и отмечают это в своих отзывах.
Если в процессе обучения у вас возникнут вопросы, вы можете задать их в комментариях к урокам — я, как автор курса, регулярно просматриваю комментарии и с радостью помогу вам разобраться
В этом курсе Вы изучите следующие темы:
- Решение МНК с помощью QR-разложения
- процесс ортогонализации Грама - Шмидта: Основные понятия
- Геометрический смысл cкалярного произведения
- Норма вектора, L2, Евклидова норма
- Как найти скалярное произведение векторов?
- Угол между векторами:Острый,Тупой,Прямой. Коллинеарность.
- Скалярный квадрат вектора
- Алгебраический смысл скалярного произведения
- Свойства скалярного произведения
- Рекомендательная система. Косинусное сходство векторов
- Ортогональность векторов.
- Ортогональный и Ортонормированный базис, система векторов
- Как найти проекцию вектора на вектор?
- Косинус угла. Выводим с нуля формулу проекции.
- Основные понятия.
- Задача наименьших квадратов
- QR-разложение. Выводим формулу с нуля
- Алгоритм Грама-Шмидта
- Матрица 3х3. Квадратная. QR-разложение
- Матрица 3х2. Прямоугольная. Высокая и узкая. QR-разложение
- Матрица 2х2. Квадратная. QR-разложение
- Матрица 3х3. Квадратная. QR-разложение
- QR-разложение с повотором (pivoting)
- Редуцированное QR
- Геометрический смысл Грама-Шмидта
- Линейная оболочка.Span.
- Явное обращение матрицы VS система линейных уравнений
- scipy.linalg.lstsq. Изучаем ядро библиотеки lapack: gelsy
- Шаг 0. Подключаем датасэт и читаем CSV
- Шаг 1. Разведочный анализ(EDA). Стандартное отклонение.Дисперсия
- Шаг 2. Подготовка данных. Sklearn.preprocessing.MinMaxScaler
- Шаг 3. Построение модели ML.Sikit-learn.linaer regression
- Шаг 4. Метрики: MAE,MSE,RMSE, R2
- Шаг 5. QR-разложение VS Ridge регуляризация
- Test №1 Perfomance qr vs normal equation
- Test №2 Perfomance qr vs normal equation
- Плюсы, Минусы, Где применяется
и много другое!
Курс сопровождается набором Jupyter Notebook — с примерами кода и подробными пояснениями. Для каждой лекции подготовлен отдельный блокнот, структурированный по разделам курса. Это позволяет не только смотреть видео, но и быстро находить нужную информацию в текстовом виде — удобно для повторения и навигации по материалу.
Курс доступен без ограничений по времени: вы можете проходить его в удобном для себя темпе.
Присоединяйтесь к обучению и развивайте свои навыки — добро пожаловать на курс!
- Никаких знаний по математике предварительно не требуется, вся математика будет дана с полного нуля.
- Рекомендуются базовые знания Python (на уровне функций).
-
Либо опыт работы с другими языками программирования и готовность изучать Python в процессе курса.