US 12,079,700 B2
Structured orthogonal random features for kernel-based machine learning
Daniel Holtmann-Rice, New York, NY (US); Sanjiv Kumar, Jericho, NY (US); Xinnan Yu, Forest Hills, NY (US); Krzysztof Marcin Choromanski, New York, NY (US); and Ananda Theertha Suresh, New York, NY (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by GOOGLE LLC, Mountain View, CA (US)
Filed on Oct. 25, 2017, as Appl. No. 15/793,455.
Claims priority of provisional application 62/413,011, filed on Oct. 26, 2016.
Prior Publication US 2018/0114145 A1, Apr. 26, 2018
Int. Cl. G06N 20/10 (2019.01); G06F 17/14 (2006.01); G06F 17/16 (2006.01); G06F 17/17 (2006.01); G06F 18/00 (2023.01); G06N 20/00 (2019.01)
CPC G06N 20/10 (2019.01) [G06F 17/14 (2013.01); G06F 17/16 (2013.01); G06F 17/175 (2013.01); G06F 18/00 (2023.01); G06N 20/00 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
performing a classification operation on a first item, including:
generating, by processing circuitry of a computer configured to operate a kernel-based machine learning classifier, a plurality of diagonal matrices, each of the plurality of diagonal matrices having non-diagonal elements that are zero and diagonal elements that have values distributed according to a specified probability distribution function and having a dimension based on a specified dimension;
producing, by the processing circuitry, a plurality of orthogonal matrices, each of the plurality of orthogonal matrices having mutually orthogonal rows;
for each of the plurality of diagonal matrices, forming, by the processing circuitry, a plurality of matrix pairs, each of the plurality of matrix pairs including (i) that diagonal matrix, and (ii) a respective orthogonal matrix of the plurality of orthogonal matrices;
generating, by the processing circuitry, a product of each of the plurality of matrix pairs to produce a linear transformation matrix;
obtaining, by the processing circuitry, an input vector representing the first item from a database, the input vector having the specified dimension;
using the linear transformation matrix to produce an approximated feature vector for the input vector, the approximated feature vector including a nonlinear function of inner products of row vectors of the linear transformation matrix and the input vector; and
providing the approximated feature vector as input into the kernel-based machine learning classifier; and
determining, by the processing circuitry, whether the first item has a particular classification based on an output of the kernel-based machine learning classifier.