Метод главных компонент (PCA)/SVD
#algorithms
Это один из основных алгоритмов машинного обучения. Позволяет уменьшить размерность данных, потеряв наименьшее количество информации. Применяется во многих областях, таких как распознавание объектов, компьютерное зрение, сжатие данных и т. п. Вычисление главных компонент сводится к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных или к сингулярному разложению матрицы данных.
SVD — это способ вычисления упорядоченных компонентов.
#algorithms
Это один из основных алгоритмов машинного обучения. Позволяет уменьшить размерность данных, потеряв наименьшее количество информации. Применяется во многих областях, таких как распознавание объектов, компьютерное зрение, сжатие данных и т. п. Вычисление главных компонент сводится к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных или к сингулярному разложению матрицы данных.
SVD — это способ вычисления упорядоченных компонентов.
Метод наименьших квадратов
#algorithms
Метод наименьших квадратов — математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений некоторых функций от искомых переменных.
Он может использоваться для "решения" переопределенных систем уравнений (когда количество уравнений превышает количество неизвестных), для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений, а также для аппроксимации точечных значений некоторой функции.
Используйте этот алгоритм, чтобы соответствовать простым кривым/регрессии.
Полезные ссылки:
numpy.linalg.lstsq
numpy.polyfit
#algorithms
Метод наименьших квадратов — математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений некоторых функций от искомых переменных.
Он может использоваться для "решения" переопределенных систем уравнений (когда количество уравнений превышает количество неизвестных), для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений, а также для аппроксимации точечных значений некоторой функции.
Используйте этот алгоритм, чтобы соответствовать простым кривым/регрессии.
Полезные ссылки:
numpy.linalg.lstsq
numpy.polyfit
Снижение размерности
#algorithms
Этот термин легко понять интуитивно. Есть набор данных и нужно уменьшить количество его измерений. В Data Science под этим подразумевается количество переменных признаков.
Куб представляет набор данных, имеет три измерения и содержит 1000 точек. Конечно, при современных вычислительных мощностях таким количеством никого не напугать, но когда это число начнёт расти, могут появиться проблемы. Однако, если посмотреть на данные с двухмерной точки зрения, можно увидеть, что с такого угла легко разделить все цвета. С помощью снижения размерности можно спроецировать 3D-данные на 2D-плоскость, что эффективно снижает количество точек для вычисления до 100 единиц.
Снизить размерность также можно с помощью отбрасывания маловажных признаков. Например, после изучения набора данных было выявлено, что из 10 признаков 7 сильно коррелируют с выходом, а остальные 3 — нет. Значит, 3 этих признака не стоят траты ресурсов на них и их можно исключить без вреда для выхода.
Наиболее распространённый метод для снижения размерности — метод главных компонент (PCA), который создаёт векторные представления признаков, тем самым показывая их связь с выходом. PCA можно использовать для обоих вариантов снижения размерности, описанных выше.
#algorithms
Этот термин легко понять интуитивно. Есть набор данных и нужно уменьшить количество его измерений. В Data Science под этим подразумевается количество переменных признаков.
Куб представляет набор данных, имеет три измерения и содержит 1000 точек. Конечно, при современных вычислительных мощностях таким количеством никого не напугать, но когда это число начнёт расти, могут появиться проблемы. Однако, если посмотреть на данные с двухмерной точки зрения, можно увидеть, что с такого угла легко разделить все цвета. С помощью снижения размерности можно спроецировать 3D-данные на 2D-плоскость, что эффективно снижает количество точек для вычисления до 100 единиц.
Снизить размерность также можно с помощью отбрасывания маловажных признаков. Например, после изучения набора данных было выявлено, что из 10 признаков 7 сильно коррелируют с выходом, а остальные 3 — нет. Значит, 3 этих признака не стоят траты ресурсов на них и их можно исключить без вреда для выхода.
Наиболее распространённый метод для снижения размерности — метод главных компонент (PCA), который создаёт векторные представления признаков, тем самым показывая их связь с выходом. PCA можно использовать для обоих вариантов снижения размерности, описанных выше.
Ограниченная линейная регрессия
#algorithms
Метод наименьших квадратов может смутить выбросами, ложными полями и т. д.
Нужны ограничения, чтобы уменьшить дисперсию линии, которую мы помещаем в набор данных. Правильное решение состоит в том, чтобы соответствовать модели линейной регрессии, которая гарантирует, что веса не будут вести себя “плохо”.
Модели могут иметь норму L1 (LASSO) или L2 (Ridge Regression) или обе (elastic regression).
Используйте этот алгоритм для соответствия линиям регрессии с ограничениями, избегая переопределения.
Полезная ссылка:
Обобщенные линейные модели (eng)
Вводные гайды:
Ридж-регрессия (eng)
LASSO регрессия (eng)
#algorithms
Метод наименьших квадратов может смутить выбросами, ложными полями и т. д.
Нужны ограничения, чтобы уменьшить дисперсию линии, которую мы помещаем в набор данных. Правильное решение состоит в том, чтобы соответствовать модели линейной регрессии, которая гарантирует, что веса не будут вести себя “плохо”.
Модели могут иметь норму L1 (LASSO) или L2 (Ridge Regression) или обе (elastic regression).
Используйте этот алгоритм для соответствия линиям регрессии с ограничениями, избегая переопределения.
Полезная ссылка:
Обобщенные линейные модели (eng)
Вводные гайды:
Ридж-регрессия (eng)
LASSO регрессия (eng)
Метод k-средних
#algorithms
Всеми любимый неконтролируемый алгоритм кластеризации. Учитывая набор данных в виде векторов, мы можем создавать кластеры точек на основе расстояний между ними. Это один из алгоритмов машинного обучения, который последовательно перемещает центры кластеров, а затем группирует точки с каждым центром кластера. Входные данные – количество кластеров, которые должны быть созданы, и количество итераций.
Полезная ссылка:
sklearn.cluster.KMeans
Вводные гайды:
Видео по кластеризации
Введение в кластеризацию
#algorithms
Всеми любимый неконтролируемый алгоритм кластеризации. Учитывая набор данных в виде векторов, мы можем создавать кластеры точек на основе расстояний между ними. Это один из алгоритмов машинного обучения, который последовательно перемещает центры кластеров, а затем группирует точки с каждым центром кластера. Входные данные – количество кластеров, которые должны быть созданы, и количество итераций.
Полезная ссылка:
sklearn.cluster.KMeans
Вводные гайды:
Видео по кластеризации
Введение в кластеризацию