Recommendation System Matrix Factorization Convergence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Matrix factorization methods, such as alternating least squares (ALS), face high computational costs due to the need for separate matrix inversions for each user and item, limiting their effectiveness in large-scale applications, while softImpute-ALS reduces computational cost but achieves smaller improvements in the objective function per iteration.

Innovation Solution

The proposed solution involves updating parameter matrices using direction matrices and step-size parameters greater than one, optimizing the objective function through data augmentation and incorporating bias terms, allowing for simultaneous updates of factor matrices and bias terms, thereby achieving more aggressive improvements in the objective function with comparable computational complexity to softImpute-ALS.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If alternating least squares (ALS) is used to update parameter matrices, then the objective function improves aggressively in each iteration, but the computational cost becomes prohibitively high due to separate matrix inversions for each user and item

Engineering Contradiction:
Improveobjective function improvementVSAvoidcomputational efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent merges the separate matrix inversion operations for each user and item into a single batched inversion operation. By grouping multiple user or item updates together and solving their normal equations simultaneously through a single matrix inversion, the method achieves the same objective function improvement as ALS while dramatically reducing computational cost from O((m+n)·k³) to O(k³) per iteration, where m and n are the numbers of users and items respectively.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If softImpute-ALS is used to reduce computational cost, then the computational savings are achieved, but the objective function improvement shrinks significantly per iteration

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidobjective function improvement
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent changes the update rule parameters by introducing step-size parameters (learning rates) that allow for larger updates while maintaining convergence. By adjusting these step-size parameters, the method can achieve aggressive objective function improvement similar to ALS while still using the computationally efficient softImpute-ALS framework with only two matrix inversions per iteration, thus resolving the trade-off between computational efficiency and improvement magnitude.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If separate matrix inversions are performed for each user and item in ALS, then the learning objective improves aggressively, but the computational complexity increases significantly

Engineering Contradiction:
Improvelearning objective improvementVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple separate matrix inversion operations into a single batched inversion by constructing augmented normal equations that incorporate multiple user or item updates. This merging reduces the computational complexity from performing m+n separate inversions to a single inversion of a larger but still manageable matrix, thereby maintaining learning objective improvement while significantly reducing computational complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11379743B2Recommendation system
Publication Date: 2022.07.05 SAS INSTITUTE INC
  • US11379743B2 patent drawing
  • US11379743B2 patent drawing
  • US11379743B2 patent drawing

AI summary

A computing device determines a recommendation. (A) A first parameter matrix is updated using a first direction matrix and a first step-size parameter value that is greater than one. The first parameter matrix includes a row dimension equal to a number of users of a plurality of users included in a ratings matrix and the ratings matrix includes a missing matrix value. (B) A second parameter matrix is updated using a second direction matrix and a second step-size parameter value that is greater than one. The second parameter matrix includes a column dimension equal to a number of items of a plurality of items included in the ratings matrix. (C) An objective function value is updated based on the first parameter matrix and the second parameter matrix. (D) (A) through (C) are repeated until the first parameter matrix and the second parameter matrix satisfy a convergence test.