После уменьшения размера с помощью SVD, что означает уменьшенный размер яркости?
Я не понимаю SVD на уровне алгоритма. Но я знаю, что люди используют это, чтобы уменьшить размерность. У меня есть две матрицы совпадений (размер 50 000 слов на 50 000 слов), в которых хранится информация о количестве использованных слов. Две матрицы были построены одинаково (строка и столбец совпадают друг с другом).
Если я выполню SVD, чтобы уменьшить их размерность до 300, будут ли новые столбцы двух матриц по-прежнему соответствовать друг другу и будут представлять одну и ту же языковую структуру?
1 ответ
Разложение по сингулярным числам является обобщенным собственным разложением. Он берет любую матрицу, которая m на n, и находит для нее ортогональную основу. Причина, по которой это уменьшает размерность, заключается в том, что существует специальный тип SVD, называемый усеченным SVD. В линейной алгебре вы узнаете, что есть нечто, называемое рангом матрицы.
Ранг представляет максимальное количество линейно независимых векторов в матрице. SVD использует что-то под названием Gram-Schmidt, чтобы получить этот ортогональный базис, который (тип) линейно независимых векторов.
Матрица совместного вхождения, о которой вы говорите, - это НЛП (обработка на естественном языке). Здесь это указывает, встречаются ли два слова вместе в определенном контексте вместе. Вы, очевидно, не можете уменьшить размер за определенную точку. Смысл SVD состоит в том, чтобы в корне представлять слова в определенном смысле.
будет ли он соответствовать их структуре - да, будет. Однако, скажем, например, если ранг матрицы равен 300, а вы перейдете к 250. Тогда вы потеряете информацию. Существует теорема об аппроксимации матрицы низкого ранга s. Это называется теорема Экарта-Юнга-Мирского.
Если вы пойдете ниже этого уровня, у вас будут границы ошибки вашего приближения в языковой структуре.