Density-based indexing method for efficient execution of high dimensional nearest-neighbor queries on large databases
AssigneeMicrosoft Corporation
InventorsUsama Fayyad, Kristin P. Bennett, Dan Geiger
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsUsama Fayyad, Kristin P. Bennett, Dan Geiger
Estimating the term…
Method and apparatus for efficiently performing nearest neighbor queries on a database of records wherein each record has a large number of attributes by automatically extracting a multidimensional index from the data. The method is based on first obtaining a statistical model of the content of the data in the form of a probability density function. This density is then used to decide how data should be reorganized on disk for efficient nearest neighbor queries. At query time, the model decides the order in which data should be scanned. It also provides the means for evaluating the probability of correctness of the answer found so far in the partial scan of data determined by the model. In this invention a clustering process is performed on the database to produce multiple data clusters. Each cluster is characterized by a cluster model. The set of clusters represent a probability density function in the form of a mixture model. A new database of records is built having an augmented record format that contains the original record attributes and an additional record attribute containing a cluster number for each record based on the clustering step. The cluster model uses a probability density function for each cluster so that the process of augmenting the attributes of each record is accomplished by evaluating each record's probability with respect to each cluster. Once the augmented records are used to build a database the augmented attribute is used as an index into the database so that nearest neighbor query analysis can be very efficiently conducted using an indexed look up process. As the database is queried, the probability density function is used to determine the order clusters or database pages are scanned. The probability density function is also used to determine when scanning can stop because the nearest neighbor has been found with high probability.
A method for evaluating data records contained within a database wherein each record has multiple data attributes;
A method for evaluating data records stored on a storage medium wherein each record has multiple data attributes that have been characterized by a probability function found by clustering the data in the database to produce a clustering model;
A process for use in answering queries comprising the steps of:
In a computer data mining system, apparatus for evaluating data in a database comprising:
A computer-readable medium having computer-executable components comprising:
A method for evaluating data records stored on a storage medium wherein each record has multiple data attributes that have been clustered to define a probability function of the data records stored on the storage medium;
A method for evaluating data records stored on a storage medium wherein each record has multiple data attributes that have been characterized by a probability function found by clustering the data in the database to produce a clustering model;
A method for performing an approximate nearest neighbor search of data records in a database stored on a storage medium wherein each record has multiple data attributes comprising:
Dependencies are inferred from the claim text.