442
правки
Изменения
→Алгоритм SVD
Применяя усеченное разложение, получим следующее:
<tex> R'_{n \times m} = U'_{n \times d} \times \Sigma '_{d \times d} \times V'^T_{d \times m} </tex>.
Из свойств сингулярного разложения мы знаем, что матрица <tex> R'_{n \times m} </tex> является наилучшим низкоранговым приближением с точки зрения средне-квадратичного отклонения. Несколько упростим формулу: запишем произведение первых двух матриц <tex> \bar{U}_{n \times d} = U'_{n \times d} \times \Sigma '_{d \times d} </tex>, а матрицу <tex> V'^T_{d \times m} </tex> обозначим как <tex> \bar{V}_{d \times m} </tex>. Получим формулу следующего вида <tex> R'_{n \times m} = \bar{U}_{n \times d} \times \bar{V}_{d \times m} </tex>. Интуиция следующая: приближенную матрицу оценок можно посчитать как произведенных усеченных матриц пользователей и оценок.
Благодаря использованию такого усечения можно решить одну из главных проблем всех ранее упомянутых алгоритмов: ресурсоемкость вычислений.