Разложение по сингулярным значениям (SVD): Полное руководство
Линейная алгебра служит связующим звеном между теорией и практической реализацией концепций. Итак, важно иметь четкое представление о линейной алгебре, чтобы расширить знания об алгоритмах машинного обучения, которые включают в себя немного сложные концепции. Одной из таких тем, о которой вы должны узнать, является разложение матрицы по сингулярным значениям для уменьшения размерности.
SVD присутствует повсюду, особенно в науке о данных или при работе с уменьшением размерности. Но что это значит и как это работает?
В этом блоге мы ответим на все подобные вопросы и более подробно.
Разложение по сингулярным значениям в машинном обучении означает разложение матрицы на три матрицы. Оно обладает несколькими алгебраическими свойствами, а также теоретическими и геометрическими представлениями о линейных преобразованиях.
Когда мы узнаем о SVD матрицы, мы часто будем сталкиваться с термином ‘ранг матрицы’. Итак, сначала давайте познакомимся с концепцией ранга матрицы.
Ранг матрицы означает максимальное количество линейно независимых векторов-столбцов или строк в матрице.
Если вектор ‘r’ не может быть выражен как линейная комбинация векторов r1 и r2, он линейно независим от r1 и r2.
Взгляните на следующие три матрицы:
Проще говоря, ранг матрицы отражает количество уникальной информации, представленной матрицей. Чем выше ранг, тем выше информация.
Сингулярная декомпозиция матрицы имеет дело с разложением матрицы на произведение 3 матриц:
Допустим, размеры A равны m x n, тогда:
Можно задаться вопросом, зачем проходить утомительную декомпозицию и брать на себя столько хлопот. Что ж, альтернативное представление декомпозиции поможет вам лучше понять причину.
Давайте взглянем на следующую диаграмму
С помощью декомпозиции мы можем выразить исходную матрицу как линейную комбинацию матриц низкого ранга.
Теперь, говоря о практическом применении, вы можете видеть, что только первые несколько особых значений (k) являются большими, в то время как остальные особые значения приближаются к нулю. Таким образом, мы можем игнорировать термины, за исключением первых нескольких, не упуская при этом большую часть информации.
Итак, мы можем сделать вывод:
Общие области применения сингулярной декомпозиции заключаются в следующем:
Прежде чем мы подробно обсудим приложения SVD, вот несколько ключевых моментов, которые следует знать:
Мы продолжаем нажимать на красивые картинки со своих смартфонов, и однажды мы понимаем, что у нас больше нет памяти или свободного места. Мы все проходили через эту ситуацию, не так ли? Следовательно, мы используем сжатие изображений, чтобы минимизировать размер изображения до приемлемого качества. Это позволяет нам хранить больше изображений в том же пространстве, что и раньше.
Мы используем разложение по сингулярным значениям при обработке изображений, чтобы сократить трудоемкость задач. Это использует тот факт, что несколько сингулярных значений, полученных после SVD, являются большими. Мы можем обрезать три матрицы в соответствии с первыми несколькими сингулярными значениями и получить сжатое приближение исходного изображения.
Мы часто задумываемся о роскошном и крутом прошлом актеров в рекламных роликах и программах. Многие делают это вручную, но некоторые выбирают машинное обучение, чтобы избежать ручного труда. Поскольку фон видео статичен и не имеет большого движения, чего нельзя сказать о переднем плане, мы можем использовать эту функцию для разделения фона и переднего плана с помощью SVD.
Что такое поисковые системы? Поисковые системы – это сложные программные комплексы, предназначенные для поиска информации…
Интернет – это невероятное пространство возможностей, но одновременно и место, где за вашей онлайн-активностью может…
В современном цифровом мире защита конфиденциальности стала первостепенной задачей. Каждый день мы оставляем следы своей…
Что это такое? Анонимность в интернете – это состояние, при котором ваша личность и действия…
Фишинг – это одна из самых распространенных киберугроз, которая ежегодно обходится пользователям интернета в миллионы…
Что такое защита данных в облаке? Защита данных в облаке – это комплекс мер, направленных…