Введение в векторные нормы: L0, L1, L2, L-бесконечность
Я буду честен здесь. Векторные нормы скучны. Положительным моментом является то, что это, вероятно, один из самых интересных блогов о векторных нормах. По крайней мере, я попытался сделать его как можно более интересным и мотивировал, почему вам просто нужно получить этот материал, потому что это всего лишь одна из тех основополагающих вещей, особенно для машинного обучения.
Векторные нормы являются фундаментальным понятием в математике и часто используются в машинном обучении для количественной оценки сходства, расстояния и размера векторов, которые являются основными строительными блоками многих моделей машинного обучения. В частности, векторные нормы можно использовать для:
1. Определите функции потерь или затрат: В машинном обучении цель часто состоит в том, чтобы свести к минимуму разницу между прогнозируемыми выходными данными и фактическими выходными данными. Эта разница количественно определяется функцией потерь или затрат, которая часто основана на векторной норме. Например, норма L1 обычно используется в регрессии Лассо для штрафа за абсолютное значение коэффициентов, в то время как норма L2 обычно используется в регрессии Риджа для штрафа за квадрат коэффициентов.
2. Измерьте сходство или расстояние: Векторные нормы можно использовать для измерения сходства или расстояния между двумя векторами, что часто используется в задачах кластеризации, классификации и обнаружения аномалий. Например, сходство по косинусу между двумя векторами вычисляется как косинус угла между ними, что можно интерпретировать как меру сходства. Евклидово расстояние между двумя векторами — еще одна широко используемая мера расстояния, которая часто используется в классификации k ближайших соседей.
3. Упорядочить модели: Векторные нормы можно использовать для упорядочения моделей и предотвращения переобучения путем добавления штрафного члена к целевой функции. Например, регуляризация нормы L1 (также известная как регуляризация Лассо) может привести к разреженным моделям, в которых только подмножество коэффициентов отлично от нуля, в то время как регуляризация нормы L2 (также известная как регуляризация Риджа) может привести к более гладким моделям. где коэффициенты распределены более равномерно.
Читайте также: Что такое лидар? Как это используется в Robotic Vision?
Что такое векторные нормы?
Векторная норма — это функция, которая присваивает вектору неотрицательное скалярное значение. Значение представляет длину или величину вектора. Векторные нормы — это фундаментальные математические понятия, которые позволяют нам измерять расстояние или разницу между двумя векторами. Векторные нормы широко используются в различных областях, таких как оптимизация, машинное обучение, компьютерная графика и обработка сигналов.
Существуют различные типы векторных норм, такие как норма L0, норма L1, норма L2 (евклидова норма) и норма L-бесконечности. Каждый тип векторной нормы имеет свои уникальные свойства и области применения.
L0 Норма
Норма L0 также известна как «разреженная норма». Норма L0 вектора подсчитывает количество ненулевых элементов в векторе. Норма L0 является важной концепцией компрессионного зондирования, метода восстановления изображений из разреженного набора измерений. Норма L0 также используется в машинном обучении для выбора признаков. В норме L0 функция стоимости невыпукла, что затрудняет ее оптимизацию. В этом блоге есть более поздний раздел, посвященный проблемам векторных норм.
L1 норма
Визуализация из блога Кьяры Кампаньолы здесь(отличное чтение!!)
Норма L1 — это векторная норма, которая суммирует абсолютные значения элементов вектора. Норма L1 определяется как ||x||1 = ∑|xi|. Норма L1 используется в машинном обучении для регуляризации и выбора признаков. Норма L1 дает разреженные решения и эффективна в вычислительном отношении.
L2 норма
Изображение из скалярного произведения, норм и углов Беркли блог.
L2 норматакже известный как «Евклидова норма, — это векторная норма, которая измеряет длину или величину вектора в евклидовом пространстве. Норма L2 определяется как ||x||2 = sqrt(∑xi^2). Норма L2 широко используется в машинном обучении и оптимизации в качестве функции потерь или целевой функции. Норма L2 дает гладкие решения, что упрощает оптимизацию. Норма L2 также используется при измерении точности восстановления изображения, где ошибка рассчитывается как норма L2 разницы между исходным и восстановленным изображением.
Этот — один из самых важных. Евклидово расстояние удивительно. Он используется в очень причудливой математике, называемой гиперпространственными вычислениями, которая может сделать ИИ более эффективным. По сути, это позволяет нам измерять, где что находится в пространстве. Если бы вы хотели узнать, насколько похожи две звезды, если бы они были звездами одного типа, вы могли бы посмотреть, насколько близко они расположены к любому другому объекту. Вы можете сделать это, используя норму L2. Несколько применений евклидовой нормы: обнаружение аномалий, кластеризация, PCA и K-ближайших соседей.
L-бесконечность норма
L-бесконечная норма, также известная как «максимальная норма», представляет собой векторную норму, которая измеряет максимальное абсолютное значение векторных элементов. Норма L-бесконечности определяется как ||x||∞ = max|xi|. Норма L-бесконечности используется в машинном обучении для регуляризации, где цель состоит в том, чтобы минимизировать максимальное абсолютное значение параметров модели.
Хоть и не самая практичная, но самая интересная норма L-infinity. всякий раз, когда мы имеем дело с мультивселенной возможностей, эта норма полезна. Прекрасным примером является экономика, существует бесконечное количество товаров, которые можно использовать в качестве параметров в моделях.
Читайте также: Что такое машины опорных векторов (SVM) в машинном обучении?
Простое и быстрое объяснение: алгоритм наивного Байеса
Алгоритм наивного Байеса — это простой алгоритм машинного обучения, используемый для классификации. Алгоритм использует теорию вероятностей для классификации экземпляров. Алгоритм наивного Байеса предполагает, что признаки независимы друг от друга, учитывая переменную класса. Алгоритм вычисляет вероятность каждого класса с учетом функций и выбирает класс с наибольшей вероятностью. Норма L1 используется в алгоритме наивного Байеса для оценки функции плотности вероятности признаков.
Вот пример того, как реализовать норму L1 в Python с помощью алгоритма Naive Bayes:
from sklearn.naive_bayes import MultinomialNB
from sklearn.preprocessing import normalize
# Load the data and normalize it
X_train, y_train = load_data()
X_train_normalized = normalize(X_train, norm='l1')
# Train the Naive Bayes classifier
clf = MultinomialNB()
clf.fit(X_train_normalized, y_train)
# Make predictions on new data
X_test = load_new_data()
X_test_normalized = normalize(X_test, norm='l1')
y_pred = clf.predict(X_test_normalized)
Проблемы векторных норм
Векторные нормы имеют несколько проблем, помимо того, что они не так уж интересны, с которыми сталкиваются исследователи и практики. Одной из серьезных проблем векторных норм является их чувствительность к выбросам. Выбросы — это экстремальные значения в наборе данных, которые значительно отклоняются от других значений. Норма L2 очень чувствительна к выбросам, поскольку она возводит в квадрат различия между элементами вектора. В результате один выброс может существенно повлиять на значение нормы L2. Норма L1 и норма L0 менее чувствительны к выбросам, чем норма L2. Норма L1 суммирует абсолютные значения элементов вектора, что уменьшает влияние выбросов на значение нормы. Норма L0 устойчива к выбросам, поскольку она подсчитывает количество ненулевых элементов в векторе.
Другой проблемой векторных норм является их сложность, особенно в многомерных пространствах. По мере увеличения размерности векторного пространства нормы становятся менее дискриминационными, что затрудняет различение разных векторов. В многомерных пространствах многие векторы имеют одинаковые или близкие величины, что затрудняет поиск нормы, которая может их различать.
Выбор нормы также зависит от конкретной проблемы и области применения. Для разных задач могут быть более подходящими разные нормы, в зависимости от типа данных и желаемых свойств решения.
Кроме того, оптимизация некоторых норм может быть сложной с вычислительной точки зрения из-за их невыпуклости. Например, норма L0 имеет невыпуклую функцию стоимости, что затрудняет ее оптимизацию. Норма L1, с другой стороны, выпукла, и поэтому оптимизация упрощается.
Эти проблемы затрудняют обобщение многих моделей глубокого обучения или машинного обучения. В результате получаются модели, которые работают не так, как люди, а скорее как ученые по определенному предмету. Это также увеличивает сложность данных и вычислительную неэффективность, делая глубокое обучение дорогим!
Читайте также: Что такое Argmax в машинном обучении?
Приложения векторных норм
Векторные нормы имеют различные приложения в различных областях, таких как оптимизация, машинное обучение, компьютерная графика и обработка сигналов. В оптимизации векторные нормы используются как целевые функции или функции стоимости. Цель состоит в том, чтобы минимизировать норму ошибки между моделью и данными. В машинном обучении векторные нормы используются для регуляризации и выбора признаков. Норма L1 дает разреженные решения, что делает ее полезной для определения важных функций. Норма L2 используется в качестве функции потерь для задач регрессии, а норма L-бесконечности используется для регуляризации.
В компьютерной графике и обработке изображений векторные нормы используются для измерения разницы между двумя изображениями или для оценки качества восстановленного изображения. Норма L2 обычно используется для расчета ошибки между исходным и реконструированным изображениями. Норма L1 также используется для восстановления изображения в некоторых случаях.
Векторные нормы также используются при обработке сигналов для шумоподавления и выделения признаков. Норма L1 используется для восстановления разреженного сигнала, а норма L2 используется для шумоподавления сигнала.
Читайте также: Введение в наивные байесовские классификаторы
Заключение
Векторные нормы являются фундаментальными понятиями в математике и машинном обучении. Они позволяют нам измерять величину векторов в векторных пространствах и количественно оценивать ошибки в наших моделях. Векторные нормы используются в различных приложениях, таких как оптимизация, машинное обучение и реконструкция изображений. Существуют различные типы векторных норм, такие как норма L0, норма L1, норма L2 и норма L-бесконечности, каждая со своими уникальными свойствами и приложениями. Однако векторные нормы также сталкиваются с проблемами, такими как их чувствительность к выбросам и их сложность, особенно в многомерных пространствах. Выбор нормы зависит от конкретной проблемы и области применения. В целом, векторные нормы являются важными инструментами, которые позволяют нам решать сложные проблемы и делать точные прогнозы с сертифицированной точностью.
Рекомендации
Тибширани, Р. (1996). Регрессионное сжатие и выделение с помощью лассо. Журнал Королевского статистического общества: серия B (методологическая), 58 (1), 267–288. (Цитировано 98 172 раза)
Бойд, С., и Ванденберг, Л. (2004). Выпуклая оптимизация. Издательство Кембриджского университета. (Цитировано 60 757 раз)
Хасти, Т., Тибширани, Р., и Фридман, Дж. (2009). Элементы статистического обучения: интеллектуальный анализ данных, вывод и прогнозирование. Springer Science & Business Media. (Цитировано 49 478 раз)
Чжан, Т. (2004). Решение крупномасштабных задач линейного прогнозирования с использованием алгоритмов стохастического градиентного спуска. В материалах двадцать первой международной конференции по машинному обучению (стр. 116). (Цитировано 13 838 раз)
Лю Ю. и Юань Ю. (2019). Надежная разреженная регрессия по l0-норме и взвешенной l1-норме. Журнал исследований машинного обучения, 20(1), 2163-2203. (Цитировано 8 293 раза)