METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR NON-LINEAR MAPPING OF MULTI-DIMENSIONAL DATA

Abstract: A method, system and computer program product for scaling, or dimensionally reducing, multi-dimensional data sets. The invention selects a sample of points from an n-dimensional data set and non-linearly maps the sample of points to obtain the corresponding set of m-dimensional points. Any suitable non-linear mapping or multi-dimensional scaling technique can be employed. The process then trains a system (e.g., a neural network), using the corresponding sets of points. During, or at the conclusion of the training process, the system develops or determines a relationship between the two sets of points. In an embodiment, the relationship is in the form of one or more non-linear functions. The one or more non-linear functions are then implemented in a system. Thereafter, additional n-dimensional points are provided to the system, which maps the additional points using the one or more non-linear functions.

Description: Method, System and Computer Program Product for Non- Linear Mapping of Multi-Dimensional Data Background of the Invention Field of tit e In vention The present invention relates to scaling of multi-dimensional data sets and, more particularly, to non-linear mapping of a sample of points from a multidimensional data set, determining one or more non-linear functions for the mapped sample of points, and mapping additional points using the one or more non-linear functions, including mapping members of the original multi-dimensional data set and mapping new and previously unseen points. RelatedArt Conventional techniques for multi-dimensional scaling do not scale well for large multi-dimensional data sets. What is needed is a method, system, and computer program product for multi-dimensional scaling, which is fast and efficient for large multi-dimensional data sets. Summary of the Invention A method, system and computer program product for scaling, or dimensionally reducing, multi-dimensional data sets, that scales well for large data sets. The invention scales multi-dimensional data sets by determining one or more non-linear functions between a sample of points from the multi-dimensional data set and a corresponding set of dimensionally reduced points, and thereafter using the non-linear function to non-linearly map additional points. The additional points may be members of the original multi-dimensional data set or may be new, previously unseen points. In an embodiment, the invention begins with a sample of points from an n-dimensional data set and a corresponding set of m-dimensional points. Alternatively, the invention selects a sample of points from an n- dimensional data set and non-linearly maps the sample of points to obtain the corresponding set of m-dimensional points. Any suitable non-linear mapping or multi-dimensional scaling technique can be employed. The process then trains a system (e.g., a neural network), using the corresponding sets of points. During, or at the conclusion of the training process, the system develops or determines a relationship between the two sets of points. In an embodiment, the relationship is in the form of one or more non-linear functions. The one or more non-linear functions are then implemented in a system. Thereafter, additional n-dimensional points are provided to the system, which maps the additional points using the one or more non-linear functions, which is much faster than using conventional multidimensional scaling techniques. In an embodiment, the determination of the nonlinear relationship is performed by a self-learning system such as a neural network. The additional points are then be mapped using the self-learning system in a feedforward manner. Brief Description of the Figures The present invention will be described with reference to the accompanying drawings, wherein: FIG. 1A illustrates a lateral view of a face data set; FIG. IB illustrates a frontal view of the face data set; FIG. 2 illustrates stochastic stress of a non-linear map as a function of sample size for the face data set; FIG. 3 A illustrates a two dimensional principal component projection of the face data set; FIG.3B illustrates a two dimensional non-linear mapping projection of the face data set; FIG.3C illustrates a two dimensional neural network projection of the face data set; FIG. 4 illustrates a comparison of stress between principal component analysis and non-linear mapping; FIG. 5 illustrates a comparison of stress for projections using neural network, non-linear mapping, and principal component analysis; FIG. 6 A illustrates actual versus projected distances for the face data set using principal component analysis; FIG. 6B illustrates actual versus projected distances for the face data set using non-linear mapping; FIG. 6C illustrates actual versus projected distances for the face data set using neural network projection; FIG. 7A illustrates combinatorial scaffolds; FIG. 7B illustrates combinatorial scaffolds; FIG. 7C illustrates combinatorial scaffolds; FIG. 8 illustrates stress as a function of sample size for a Gasteigner data set; FIG. 9A illustrates a principal component projection of the Gasteiger data set; FIG. 9B illustrates a non-linear mapping projection of the Gasteiger data set; FIG. 9C illustrates a neural network projection of the Gasteiger data set; FIG. 10 illustrates a synthetic sequence for generation of a diamine library; FIG. 11 illustrates stress as a function of sample size for a diamine data set; FIG. 12A illustrates a principal component projection of the diamine data set; FIG. 12B illustrates a non-linear mapping projection of the diamine data set; FIG. 12C illustrates a neural network projection of the diamine data set: FIG. 13A illustrates actual versus projected distances for a principal component projection of the diamine data set; FIG. 13B illustrates actual versus projected distances for a principal nonlinear mapping of the diamine data set; FIG. 13C illustrates actual versus projected distances for a neural network projection of the diamine data set; FIG. 14 illustrates an example process flowchart for implementing the present invention; FIG. 15 A illustrates an example block diagram of a system and data flow for implementing the present invention; FIG. 15B illustrates an example block diagram of a system and data flow for implementing the present invention; FIG. 16 illustrates an example process flowchart for utilizing multiple nonlinear functions, in accordance with the present invention; FIG. 17 illustrates an example block diagram of a system and data flow for implementing multiple non-linear functions in accordance with the present invention; FIG. 18 illustrates an example block diagram of a system and data flow for implementing multiple non-linear functions, in accordance with the present invention; FIG. 19 illustrates an example block diagram of a system and data flow for implementing multiple non-linear functions, in accordance with the present invention; FIG. 20A illustrates an example process flowchart for utilizing multiple non-linear functions, in accordance with the present invention; FIG. 20B illustrates an example process flowchart for utilizing multiple non-linear functions, in accordance with the present invention; FIG. 21 A illustrates an example process flowchart for utilizing multiple non-linear functions, in accordance with the present invention; FIG. 21 B illustrates an example process flowchart for utilizing multiple non-linear functions, in accordance with the present invention; FIG. 22 illustrates an example computer system that can be used to implement the present invention; and FIG. 23 illustrates a table showing principal component analysis of the face, Gasteiger and diamine data sets. In the drawings, like reference numbers indicate identical or functionally similar elements. Also, the leftmost digit(s) of the reference numbers identify the drawings in which the associated elements are first introduced. Detailed Description of the Preferred Embodiments Table of Contents I. Non-Linear Mapping Networks A. Introduction B. Dimensionality Reduction C. Non-Linear Mapping D. Non-Linear Mapping Networks E. Combinatorial Chemistry II. Implementation in a Process A. Selecting a Sample of Points B. Non-Linearly Mapping the Sample of Points C. Determining One or More Non-Linear Functions D. Mapping Additional Points Using the Non-Linear Functions III. Implementation in a System IV. Additional Features of the Invention A. Multiple Non-Linear Functions V. Implementation in a Computer Program Product VI. Conclusions Non-Linear Mapping Networks A. Introduction Among the many dimensionality reduction techniques that have appeared in the statistical literature, multi-dimensional scaling and non-linear mapping stand alone for their conceptual elegance and ability to reproduce the topology and structure of the data space in a faithful and unbiased manner. Unfortunately, all known algorithms exhibit quadratic time complexity which imposes severe limitations on the size of data sets that can be effectively analyzed using existing hardware. This specification describes a novel approach that combines "conventional" non-linear mapping techniques with feed-forward neural networks, and allows the processing of data sets orders of magnitude larger than those accessible using conventional methodologies. Rooted on the principle of probability sampling, the method employs an algorithm to multi-dimensionally scale a small random sample, and then "learns" the underlying non-linear transform using a multi-layer perceptron trained with the back-propagation algorithm. Once trained, the neural network can be used in a feed-forward manner to project new, unseen samples with minimal distortion. Using examples from the fields of combinatorial chemistry and computer vision, we demonstrate that this method can generate projections that are virtually indistinguishable from those derived by classical methodologies, and can do so at a fraction of the time required by these techniques. The ability to encode the non-linear transform in the form of a neural network opens new possibilities and makes non-linear mapping applicable in situations where its use has been hitherto unthinkable. B. Dimensionality Reduction Dimensionality reduction and visualization is of paramount importance in scientific data analysis. Of particular importance is the ability to understand the structure and topology of the data, and the interrelationships and associations between the subj ects of our study. Such relationships are often described by means of a similarity index derived either through direct observation, or through the measurement of a set of characteristic features which are subsequently combined in some form of dissimilarity or distance measure. Indeed, distance is an ubiquitous concept, and represents one of the most reliable guiding principles for understanding our universe, one that we can comprehend, feel comfortable with, and navigate with ease and confidence. This specification describes a new approach to an old-fashioned way of looking at high-dimensional data. High-dimensional spaces possess properties that challenge and often contradict the intuition that we have developed from our experience with 2- or 3 -dimensional geometry. This complexity has often been referred to as the ''curse of dimensionality", a term originally introduced by Bellman to describe the complexity of combinatorial optimization over many dimensions. (See Bellman, R.E., Adaptive Control Processes, Princeton University Press, 1961, incorporated herein by reference in its entirety). In statistics, this expression is used to describe the sparsity of data in higher dimensions. As the classic examples of the effect of dimensionality on the volumes of a hypersphere and a hypercube illustrate, (see for example, Wegman, E. J. Ann. Statist., 1970, and Scott, D.W., Multivariate Density Estimation: Theory, Practice and Visualization, Wiley, New York. 1992, both of which are incorporated herein by reference in their entireties), most of the density of a high-dimensional space is concentrated near its boundaries, leaving the "core" virtually empty. Indeed, the concept of "neighborhoods" in higher dimensions is somewhat distorted; if the neighborhoods are "local", they are virtually empty; if they are not empty, then they are not "local". This has important consequences in many statistical applications. Yet, high-dimensional spaces are encountered in all disciplines of science, from chemistry and physics, to social sciences and psychology. In modern science, phenomena are understood by measuring and analyzing a set of characteristic features, and by constructing models to explain their structure and causality. If the number of features is small, patterns in the data can be extracted using conventional graphical methods such as 1- and 2-dimensional histograms, scatter-plot diagrams and/or kinematic techniques. In a higher-dimensional setting, however, such techniques are of limited value since they lead to a combinatorial explosion of possibilities, and loss of potential higher-order relationships. High-dimensional representations pose a number of additional problems. The first, and perhaps most important, is the presence of substantial correlation between the variables. The importance of correlation is domain-dependent, but in general redundant variables tend to exert undue influence in data analysis. Moreover, if the features are to be used for regression or classification, over-fitting can be a serious threat. The existence of a large number of variables can cause most regression and classification techniques to focus on the idiosyncrasies of the individual samples and lose sight of the broad picture that is essential for generalization beyond the training set. Finally, as the dimensionality of the space increases, the size of the computational effort needed to perform the analysis can be daunting even for today's most powerful computers. Fortunately, most multivariate data in 9t are almost never d-dimensional. That is, the underlying structure of the data is almost always of dimensionality lower than d. In the interest of parsimony, and to simplify the analysis and representation of the data, it is often desirable to reduce the dimensionality of the space by eliminating dimensions that add very little to the overall picture. Most methods reported to date attempt to do so by projecting the original space into one or more 2- or 3-dimensional representations. Perhaps the most common dimensionality reduction technique is principal component analysis (PCA). See for example, Cooley, W., Lohnes, P., Multivariate Data Analysis, Wiley, New York, 1971, incorporated herein by reference in it's entirety. PCA reduces a set of partially cross-correlated data into a smaller set of orthogonal variables (principal components) with minimal loss in the contribution to variation. In effect, the method detects and combines features which behave in a similar way into a new set of variables that are orthogonal, i.e. non-correlated. Principal components are computed by diagonalizing the variance-covariance matrix. The eigenvectors of this matrix are the principal components, and the eigenvalues are their respective variances. Although the number of PC's is equal to the number of input variables, if there is some redundancy in the data, it is usually sufficient to retain only the first few PC's that account for "most" of the variance in the original samples. This limit is arbitrary, and is usually determined by heuristic rules (typically, a threshold of 90 or 95% is used). The main advantage of PCA is that it makes no assumptions about the probability distributions of the original variables. The elements of each eigenvector reflect the influence of the original variables in that eigenvector, and are used to establish natural associations between variables. Closely related to PCA is a technique known as factor analysis (FA). Factor analysis is an attempt to explain the correlations between variables in the form of underlying factors, which are themselves not directly observable, and which are thought to be representative of the underlying process that has created these correlations. On the surface, factor analysis and principal component analysis are very similar. Both rely on an eigenvalue analysis of the covariance matrix, and both use linear combinations of variables to explain a set of observations. However, in PCA the quantities of interest are the observed variables themselves; the combination of these variables is simply a means for simplifying their analysis and interpretation. Conversely, in factor analysis the observed variables are of little intrinsic value; what is of interest is the underlying factors. Unfortunately, both PCA and FA are sensitive to outliers, missing data and poor correlations due to poorly distributed variables. More importantly, these techniques assume a linear constraint of the input space and perform poorly in high-dimensional, non-linear spaces. Finally, none of these methods guarantees to extract the most important features for the problem at hand, and there is always the possibility that some critical piece of information is left behind, buried under a pile of redundancies. C. Non-Linear Mapping Multi-dimensional scaling (MDS), non-linear mapping (NLM) and Kohonen networks represent alternative dimensionality reduction techniques that deal specifically with non-linear spaces. See for example: Borg, I., Groenen, P., Modern Multidimensional Scaling, Springer- Verlag, New York, 1997; Sammon, J. W. IEEE Trans. Comp., 1969; and Kohonen, T. Self-Organizing Maps, Springer-Verlag, Heidelberg, 1996; respectively, all of which are incorporated by reference in their entirety. The first two were designed to reproduce coordinates from a distance matrix, while the latter features data abstraction by means of prototyping, achieved though a powerful self-organizing principle. In the first two techniques, the reduction is effected by reconstructing a low-dimensional coordinate set from a distance matrix computed from a higher-dimensional representation, while in the latter the original property vectors are mapped onto a two dimensional cell array arranged in a way that preserves the topology and density of the original data set. These reduced representations can subsequently be used for a variety of pattern recognition and classification tasks. Multi-dimensional scaling (MDS) emerged from the need to visualize a set of objects described by means of a similarity or dissimilarity matrix. The technique originated in the field of psychology and can be traced back to the work of Torgerson and Kruskal. See Torgeson, W. S., Psychometrika, 1952, and Kruskal, J. B. Phychometrika, 1964, respectively, both of which are incorporated by reference in their entirety. The problem is to construct a configuration of points in a low-dimensional space from information about the distances between these points. In particular, given a set of k data points in the input space {x„ i = 1, 2, ... k}, a symmetric matrix d y of the observed dissimilarities between these points, and a set of images of x, on a d-dimensional display plane {ξ,, i = 1, 2, .., k; ξ, e 3ι d }, the objective is to place ξ, onto the plane in such a way that their Euclidean distances δ, j = ||ξ, - ξ j || approximate as closely as possible the corresponding values d, r A sum-of-squares error function can be used to decide the quality of the embedding. The most commonly used criterion is Kruskal 's stress: The actual embedding is carried out in an iterative fashion. The process starts by 1) generating an initial set of coordinates ξ,, 2) computing the distances δ , 3) finding a new set of coordinates ξ, using a steepest descent algorithm such as Kruskal' s linear regression or Guttman's rank-image permutation, and 4) repeating steps 2 and 3 until the change in the stress function falls below some predefined threshold. Non-linear mapping (NLM) is a closely related technique proposed by Sammon in 1969. See for example, Sammon. J. W. IEEE Trans. Comp., 1969, discussed above. Just like MDS, NLM attempts to approximate local geometric relationships on a 2- or 3 -dimensional plot. Although an "exact" projection is only possible when the distance matrix is positive definite, meaningful projections can be obtained even when this criterion is not satisfied. As in MDS, the process starts with a finite set of samples {x,. i = 1 , 2, ..., k} , a symmetric dissimilarity matrix d , and a set of images of x, on a display plane {ξ„ i = 1, 2, .., k; ξ, e 9t d }, and attempts to place ξ, onto the plane in such a way that their Euclidean distances δ = ||ξ, - ξ || approximate as closely as possible the corresponding values d,,. The embedding (which can only be made approximately) is carried out in an iterative fashion by minimizing an error function, E, which measures the difference between the distance matrices of the original and projected vector sets: d „ - δ A m) Σ E(m) = Eq. 2 ∑ J, E is minimized using a steepest-descent algorithm. The initial coordinates, ξ,, are determined at random or by some other projection technique such as PCA, and are updated using Eq. 3 : <?„(" + 1) ) ■ ΛΔ „M Eq. 3 where m is the iteration number and λ is the learning rate parameter, and The advantage of non-linear maps compared to Kohonen networks is that they provide much greater individual detail and lend themselves beautifully for interactive analysis and visual inspection. By preserving the distances of the original samples on the projected map, MDS and NLM are able to represent the topology and structural relationships in the data set in a unique and faithful manner. Although in most cases projection does lead to some loss of information, the amount of distortion induced by NLM and MDS is minimal compared to other dimensionality reduction techniques. Unfortunately, despite these advantages, all known non-linear mapping algorithms exhibit quadratic time complexity and scale adversely with the size of the data set. This specification describes a novel approach that combines non-linear mapping techniques, such as conventional non-linear mapping techniques, with feed-forward neural networks, and allows the processing of data sets orders of magnitude larger than those accessible using conventional methodologies. The following paragraphs provide an overview of the key algorithmic details, and describe the advantages of this approach using examples from the fields of combinatorial chemistry and computer vision. D. Non-Linear Mapping Networks The method described herein is rooted in the principle of probability sampling, i.e. the notion that a small number of randomly chosen members of a given population will tend to have the same characteristics, and in the same proportion, with the population as a whole. Our approach is to employ an algorithm to multi-dimensionally scale a small random sample which reflects the overall structure of the data, and then "learn" the underlying non-linear transform using a multi-layer perceptron trained with the back-propagation algorithm. See for example, Haykin, S. Neural Networks: A Comprehensive Foundation. Prentice-Hall, 1998. Once trained, the neural network can be used in a feed-forward manner to project the remaining members of the population as well as new, unseen samples with minimal distortion. For a non-linear projection from n to m dimensions, a 3-layer neural network with n input and m output units is employed. The number of hidden neurons is determined empirically based on the dimensionality and structure of the input space and the size of the training set. We begin our analysis using a data set from the computer vision literature. The data set is a 3-dimensional image of a man's face comprised of 2,630 data points. The task was to project that image onto a plane and visually inspect the results. The object can be easily recognized in both its original and projected forms, and helps to illustrate the subtle differences between linear and non-linear dimensionality reduction techniques. The original data is shown in two orthogonal views in Fig. la and lb, respectively. Letus first examine the characteristics of the Kruskal stress function which measures the quality of the fit between the distance matrices of the original and projected vector sets. As is evident from Eq. 1, this function scales to the square of the number of items in the collection, and is impossible to compute for data sets containing hundreds of thousands to millions of items. However, like many quantities of this kind, stress has well-defined statistical properties: one can obtain reliable estimates of that quantity by examining only a small fraction of the total number of pair-wise distances in the data. Fig. 2 shows the dependence of stress on the size of the sample used to derive it for the 2-dimensional non-linear map of the face data set. The numbers reported were derived by selecting pairs of points at random, measuring their pair- wise distances in the original and projected vector spaces, and accumulating the error in Eq. 1. For each sample size, n, 100 stress evaluations were carried out, each using a different randomly chosen set of n pair-wise distances. The mean and standard deviation of the resulting distributions are plotted in Fig. 2. It is clear that the "stochastic" stress obtained by this method shows negligible variance for all but the smallest samples, and asymptotically approaches the true stress; indeed, by sampling a mere one thousandth of the total number of distances we obtain a stress that is within 4 decimal places to the true value. This turns out to be true for every data set that we studied, regardless of dimensionality, structure and origin. In Fig. 2, the first four columns and their respective error bars represent the mean standard deviation of the stress of the NLM projection computed using 100, 1,000, 10,000 and 100,000 randomly selected distances, respectfully. The last two columns represent the true stress of the NLM and PC projections, respectively, computed by evaluating all 3,457,135 pair-wise distances. We now turn our attention to the effect of sampling in deriving the non-linear map itself. The 2-D PCA and NLM projections of the face data are shown in Fig. 3a and Fig. 3b, respectively. For this and all other data sets used in this study, the PCA projection was derived from the first 2 principal components that accounted for most of the variance in the data, while the non-linear map was obtained with a variant of Sammon' s original algorithm developed by our group. See, for example, U.S. Patent Application 09/073,845, filed May 7, 1998, titled, "System, Method and Computer Program Product for Representing Proximity Data in a Multi-Dimensional Space," incorporated in its entirety above by reference. In general, the two projections are very similar, but differ in one important aspect: in the principal component projection, one dimension is completely suppressed and all characteristics of the man's profile are virtually lost (see Fig. 3a). In contrast, the non-linear map represents a "hybrid" view that combines important, distinctive features of the entire object. While the general shape is still dominated by the head-on view, one can clearly recognize key elements of the facial profile such as the nose, the lips and the chin, as well as a detectable protrusion in the occipotal area of the skull (Fig. 3b). In terms of distortion, NLM does a much better job in preserving the distance matrix than PCA, as manifested by a Kruskal stress of 0.152 and 0.218 for the NLM and PCA projections, respectively. The failure of linear methods to preserve distance relationships becomes more pronounced as the true dimensionality of the space increases. Consider, for example, the stress of the PCA and NLM projections of 1,000 data points uniformly distributed in the unit (hyper) cube. The results for hypercubes of 3 to 10 dimensions are illustrated in Fig. 4. While NLM appears to maintain its effectiveness in high-dimensional spaces, PCA' s performance deteriorates rapidly and the method becomes virtually useless beyond a few dimensions. The present invention captures, or determines, one or more non-linear transforms produced by the classical iterative algorithm, or equivalents thereof, in the form of an analytical function. In order to determine how many points are needed to extract such a relationship, we used a multi-layered perceptron as the non-linear mapping device, and carried out an extensive set of simulations using several sample sizes ranging from 100 to 1 ,600 points. The experiment consisted of the following steps. For each sample size, n, 100 different random subsets of n points were extracted from the original 3 -dimensional object, and were independently mapped using our "classical" non-linear mapping algorithm. The 3D input and 2D output coordinates obtained from the NLM were then used to train 100 separate neural networks with 3 input, 10 hidden and 2 output neurons having logistic activation functions. All networks were trained for 10,000 epochs with alinearly decreasing learning rate from 0.5 to 0.01, and a momentum of 0.8. Once the networks were trained, the entire data set of 2,630 points was presented to each one, and 100 new sets of 2-D coordinates were obtained. As stated above, this procedure was repeated for 5 different sample sizes containing 100, 200, 400, 800 and 1 ,600 points, respectively. To simplify the notation, we will refer to each of these 100 subsets and all of its associated data as a separate "run". The results of this experiment are summarized in Fig.5. The two columns on the right represent the stress of the full NLM and PC projections, respectively, and serve as reference points to gauge the quality of the neural approximation. The five pairs of columns on the left and their respective error bars represent the mean and standard deviation of the stress of the NLM projection for the training set (solid) and the neural projection for the entire data set (diagonally shaded) for each particular sample size. These results are fully consistent with our intuition and expectations. First, the average stress of the non-linear map increases with the number of points in an asymptotic manner. The average stress of 400 points for example (15% of the entire data set) is within 0.001 units to the stress of the full NLM, with a standard deviation of only 0.006. More importantly, the stress of the corresponding neural projection exhibits a similar but opposite trend of the same asymptotic character. As one would expect, the more information is used to train the neural network, the more predictive it becomes and the better it approximates the true underlying transform. Interestingly enough, even with a mere 100 points, every single set that we tried led to a neural approximation that was better than that obtained with PCA. The most significant observation, however, is that the standard deviation of the neural stress is very small and lies well within the limits of acceptable error. Fig. 5 illustrates stress as a function of sample size for the face data set. The two columns and their respective error bars represent the mean and standard deviation of the stress of the NLM projection for the training set (solid) and the neural network proj ection for the entire data set (diagonally shaded) over 100 runs for 5 different sample sizes. Each run represents a different set of points comprising the training set. The last two columns represent the stress of the NLM and the PC projections of the entire data set, respectively. To get a better appreciation of what the stress values really mean in the context of structure, Fig. 3c shows the non-linear map obtained from a neural network trained with an "average" 400-point sample and having a stress of 0.158. The map is virtually identical to that obtained by NLM, revealing the same characteristic mix of features from the frontal and lateral views, albeit in a more "regular" form. Indeed, for the purposes of exploratory data analysis, the two images are virtually indistinguishable. Finally, let us look at the distortion from a different perspective. Fig. 6 shows three scatter plots obtained by selecting 1,000 pairs of points at random, and plotting their distances in the latent 2-D space against the corresponding distances in the original 3-D space. Fig. 6a, 6b and 6c correspond to the PCA, NLM and NN projections, respectively. In the PCA plot (Fig. 6a) all distances lie below the diagonal which is consistent with the loss of dimensionality and linear nature of the transformation. However, the distortion is more pronounced in the lower left hand side of the plot, which means that short pair- wise distances are much more poorly preserved. Although distortion is also evident in the non-linear maps, the error appears to be more evenly distributed, and there is less bias against the distances in the lower end of the spectrum. This is an important difference, since we are usually much more interested in preserving the proximities of objects that are closely related to each other, as long as dissimilar objects appear to be sufficiently distant. The NLM and NN plots are, again, virtually identical, which confirms our earlier remarks regarding the quality of the neural approximation. Fig. 6 illustrates actual vs projected distances for the face data set. E. Combinatorial Chemistry Although the face data provides a useful test case, it pales in comparison to the data sets for which this method was intended, both in terms of size and dimensionality. One area of particular interest to us, and one in which large data sets are commonplace, is combinatorial chemistry. In recent years, the pharmaceutical and chemical industry have embraced a new set of technologies that allow the simultaneous synthesis and biological evaluation of large chemical libraries containing hundreds to hundreds of thousands or even millions of molecules. See for example, Thompson, L. A., Ellman, J. A. Chem. Rev. , 1996, incorporated herein by reference in its entirety. Also see U.S. Patent No. 5,463,564, incorporated by reference in its entirety. A combinatorial library is a collection of chemical compounds derived from the systematic application of a synthetic principle to a prescribed set of building blocks. It is that very same principle that has given rise to the enormous diversity of the living world, whose proteome is comprised of a mere 20 amino-acids connected together via peptide bonds in innumerable combinations . The design and analysis of combinatorial libraries is becoming an integral part of modern drug design and involves data sets of truly staggering size. See for example: Agrafiotis, D. K. Diversity of Chemical Libraries, in The Encyclopedia of Computational Chemistry, Schleyer, P. v. R., Allinger, N. L., Clark, T., Gasteiger, J., Kollman, P. A., Schaefer III, H. F., Schreiner, P. R., Eds., John Wiley & Sons, Chichester, 1998, Vol. 1, 742-761 ; and Agrafiotis, D. A., Myslik, J. C, Salemme, F. R., Molecular Diversity, 1998, 4(1), 1 -22, Advances in Diversity Profiling and Combinatorial Series Design, in Annual Reports in Combinatorial Chemistry and Molecular Diversity, Pavia, M., Moos, W. Eds., Kluwer, 1999, 2, 71-92. Both of the above documents are incorporated herein by reference in their entirety. Our group was the first to demonstrate the importance of non-linear mapping in library design because of its unparalleled ability to convey complex relationships in an intuitive manner without loss of individual detail. See for example, Agrafiotis, D. K. Stochastic algorithms for maximizing molecular diversity. J. Chem. Info. Comput. Sci., 1997, incorporated herein by reference in its entirety. This work followed an earlier successful application in the analysis of 390 multiply aligned protein kinase domains, using as a property vector the 339 amino-acids that comprised each of the aligned sequences. See for example, Agrafiotis, D. K. Protein Science, 1997, incorporated herein by reference in its entirety. Indeed, we found that the non-linear maps were able to capture the essential features of the distance matrix, and revealed clusters that were consistent with the known substrate specificities of these proteins. The remaining paragraphs in this section describe the use of neural networks for the multi-dimensional scaling of two combinatorial libraries. The first was originally developed by Gasteiger and represents one of the first demonstrations of the importance of visualization in library design. See for example, Sadowski, J., Wagener, M.; Gasteiger, j. Angew. Chem. Int. Ed. Engl, 1996, incorporated herein by reference in its entirety. The data set consists of three sub-libraries derived by condensing three rigid central scaffolds with a set of 19 L-amino-acids. These scaffolds were based on the cubane, adamantane and dimethylxanthene cores, funcionalized by four acid chloride groups (Fig. 7). (Fig. 7a, xanthene; Fig. 7b, cubane; Fig. 7c, adamantane). Due to symmetry, this scheme resulted in a total of 87,723 unique compounds, or 1 1,191 , 1 1,191 and 65,341 cubane, adamantane and xanthene derivatives, respectively. Each compound was described by a 12-dimensional spatial auto-correlation vector, which represents the distribution of the electrostatic potential on the van der Waals surface of the molecule. This vector was derived by computing the electrostatic potential (MEP) on an evenly distributed set of points on the surface of the molecule, dividing all pair- wise distances between these points into 12 preset intervals, and summing the MEP values over all pairs in each interval according to Eq. 5. A(d,,d u ) = -∑ p, Pj , d l ≤ d ιj ≤ d u Eq. 5 L KJ where p, and P j are the values of the MEP at the i-th and j-th surface points, d,, is the distance between these points, d, and d u are the lower and upper bounds of the auto-correlation interval, and L is the total number of distances in [d,, dj. The analysis was based on a single low-energy conformation and a simple Coulomb approach, using partial atomic charges derived with an empirical method. See, for example, Gasteiger, J., Marsili, M., Tetrahedron, 1980, 36, 3219-3228; and Angew. Chem. Int. Ed. Engl. , 1985, 24, 687-689, inorporated by reference in their entireties. In Gasteiger' s original publication, these autocorrelation vectors were used to train a Kohonen network, which was able to separate the xanthene from the cubane and adamantane derivatives in a way that was consistent with the 3-dimensional geometry of the scaffolds and the relative disposition of the four amino-acid R-groups. This data set was subjected to the same type of analysis that was used in the previous example. In particular, 100 independent runs were carried out at 5 different sample sizes (100, 200, 400, 800 and 1600 points), each involving a different set of random points comprising the training set. The networks consisted of 12 input, 10 hidden and 2 output units, having a total of 140 freely adjustable synaptic weights. Similar training parameters were used, with the exception that the training epochs were limited to 10,000 for samples containing 100 and 200 points, and 5,000, 2,000 and 1,000 for samples containing 400, 800 and 1,600 points, respectively. The mean and standard deviation of the stress distributions for each sample size are shown in Fig. 8. along with the stress of the full NLM and PCA projections. The plot reveals similar trends to those established in the analysis of the face data. The average stress of the random sample increases with sample size, and the composition of the sample itself becomes less significant as it becomes increasingly more representative of the entire population. Perhaps the most important difference is the rather poor performance of the network with small training sets. Indeed, a network trained with 100 points performs, on average, only slightly better than PCA, as manifested by a mean stress of 0.209 compared to 0.221 for PCA. Two reasons contribute to this problem: first, the training set is not sufficiently representative, and second, the network is very susceptible to ovefitting since there are 140 synaptic weights for only 100 training cases. Overfitting becomes less of a factor as the number of training cases increases, and indeed, the mean stress drops to 0.167 ± 0.005 with 400 points, and to 0.160 ± 0.002 with 1,600 points. These samples represent 0.45% and 1.8% of the entire collection, respectively. Fig. 8 illustrates stress as a function of sample size for the Gasteiger data set. The two columns and their respective error bars represent the mean and standard deviation of the stress of the NLM projection for the training set (solid) and the NN projection for the entire data set (diagonally shaded) over 100 runs for 5 different sample sizes. Each run represents a different set of points comprising the training set. The last two columns represent the stress of the NLM and the PC projections of the entire data set, respectively. The PCA, NLM and neural maps of the three libraries are shown in Fig. 9, and are color-coded according to their scaffold (xanthene in blue, cubane in green, and adamantane in red). The neural map in Fig. 9c was obtained from a network trained with 800 points and had a stress of 0.162. Again, the NLM and NN maps are essentially indistinguishable, and both reflect the sharp separation between the planar and tetrahedral systems that was observed in the original self-organized maps. In addition, the non linear maps reveal a more subtle distinction between the cubane and adamantane libraries that was not captured by the Kohonen networks. However, the Gasteiger descriptor set is fairly redundant. Principal component analysis reveals that 99% of the variance in the data can be recovered with only 7 PC's (Table 1). The first 2 PC's alone account for nearly 80% of the variance, which explains the relatively low stress (0.22) of the principal component projection. This low effective dimensionality is reflected in the PCA map itself (Fig.9a), whose overall structure is not dramatically different from that of the non-linear projections. Indeed, the Gasteiger data set does not build a strong case for the use of the numerically more elaborate non-linear methods, at least for exploratory data analysis. However, as we pointed out earlier, the difference between these methods becomes more evident as the dimensionality of the space increases. The final example demonstrates this point with a second combinatorial data set of significantly higher dimensionality. The data set is a 3 -component combinatorial library taken from the work of Cramer et al. See for example, Cramer, R. D., Patterson, D. E., Clark, R. D., Soltanshahi, F., Lawless, M. S.,J. Chem. Info. Comput. Sci, 1998, incorporated herein by reference in its entirety. A diamine molecule containing two primary or secondary amines served as the central scaffold, and was derivatized on both sides using an acylating agent, reactive halide or carbonyl group susceptible to reductive amination. The synthetic sequence required to generate this library involves selective protection of one of the amines and introduction of the first side chain, followed by deprotection and introduction of the second side chain (Fig. 10). As the original authors noted, use of commercially available reagents alone (the 1996 Available Chemical Directory, marketed by MDL Information Systems, Inc., 140 Catalina Street, San Leandro, CA 94577, contained 1750 reagents of type HNXNH and 26,700 reagents of type RX) would yield over 10 12 potential products, 50,000 times more than the world's cumulative chemical literature! Since the objective of this work was to validate the non-linear mapping algorithm, we generated a smaller library comprised of 57,498 compounds using 42 commercially available diamines and 37 acid chlorides and alkylating agents. Each compound was described by 117 topological indices designed to capture the essential features of the molecular graph, which were subsequently reduced to 16 orthogonal principal components which accounted for 99% of the total variance in the data. These principal components were used as input to the non-linear dimensionality reduction techniques described above. The PCA preprocessing step was necessary in order to eliminate duplication and redundancy in the data, which is typical of graph-theoretic descriptors. The results are summarized in Fig. 11. The network had 16 input, 10 hidden and 2 output neurons (i.e. a total of 180 synaptic weights) and was trained for 10,000 epochs for training sets containing 100 and 200 points, and for 5,000, 2,000 and 1,000 epochs for training sets containing 400, 800 and 1,600 points, respectively. Surprisingly enough, the network does not overfit even with training sets of 100 points (less than 0.2% of the entire library) where there are nearly 2 synapses per training case. Indeed, every single network that we trained outperformed PCA by a wide margin. As for the overall trends, they are no different than those observed in the two previous examples: increase in sample size leads to better approximations and less variability across different samples. A random sample of 400 points (0.7% of the entire library) leads to a neural map with an average stress of 0.193 ± 0.006, while increase in sample size to 1,600 points (2.8% of the entire library) improves the stress to 0.183 ± 0.002, close to the actual NLM stress of 0.169. Fig. 11 illustrates stress as a function of sample size for the diamine data set. The two columns and their respective error bars represent the mean and standard deviation of the stress of the NLM projection for the training set (solid) and the NN projection for the entire data set (diagonally shaded) over 100 runs for 5 different sample sizes. Each run represents a different set of points comprising the training set. The last two columns represent the stress of the NLM and the PC projections of the entire data set, respectively. The resulting maps (Fig. 12) (Fig. 12a, diamine data set; 12b, NLM projection; 12c, NN projection; 400 point training set), confirm the close agreement between the conventional and neural non-linear mapping algorithms, and the substantial differences between them and PCA which had a stress of 0.332. A look at the variances of the principal components in Table 1, (FIG. 23) reveals why PCA is such a poor method in this case. The first 2 PC's account for only 69% of the total variance in the data, 10% less than the variance captured by the first 2 PC's in the Gasteiger data set, and 14% less than that of the respective components in the face data set. This unaccounted "residual" variance leads to significant distortion in the principal component map, which in the case of the diamine library provides a mere hint of the true structure of the data, evidenced only by the presence of the two disproportionately populated clusters . Finally, the distance plots (Fig. 13)(diamine data set, actual v. projected distances; 13a, PC projection; 13b, NLM projection; 13c, NN projection; 400 point training set), reveal that short distances are distorted much more severely by PCA, a problem that was also encountered to a lesser extent in the face data set (Fig. 6). Conversely, the non-linear maps distribute the error more evenly across the board, and they show little difference between them. The results described above were based on an extensive but not exhaustive analysis of three very different data sets. Two important observations need to be made. First, no attempt was made to optimize the network parameters for each particular data set. The main focus of this specification is sampling, and to enable comparisons the topology of the network did not change as a function of sample size. The training sets differed greatly in size, and overfitting may have been a contributing factor for some of the results, particularly those obtained from smaller samples. Secondly, although 100 runs were carried out for each particular sample size, the network was trained only once for each particular training set. As a consequence, part of the observed variance in stress may be due to poorly optimized networks stuck in local minima in synaptic weight space. Preliminary calculations have confirmed that there is indeed some variability from one optimization run to another, and the results become significantly better if we perform several optimizations and select the best network for each particular training set. Significant improvements can also be achieved by increasing the number of training epochs or by fine tuning other training parameters such as the learning schedule and momentum, as well as by increasing the number of hidden neurons, particularly for larger samples. We should also mention that neural networks are one of many different non-linear devices that can be used to "learn" a non-linear map, and the structure of these devices can take an arbitrarily complex form. A powerful extension of this method involves use of multiple sub-networks, each specializing in a particular domain of the feature space. Finally, although all our examples were based on 2-dimensional projections, the proposed architecture is general and can be used to extract constraint surfaces of any desired dimensionality. II. Implementation in a Process The present invention is now described in terms of a series of steps which may be performed manually or automatically (or a combination thereof) by an apparatus utilizing hardware, software, firmware, or any combination thereof. Figure 14 illustrates a process flow chart 1402 implementing the present invention. A. Selecting a Sample of Points The process begins at step 1404 which includes selecting a sample of points from an n-dimensional data set. The n-dimensional data set is referred to interchangeably herein as a multi-dimensional data set. The multi-dimensional data-set can include any of a variety of types of multi-dimensional data, such as, for example, chemical compounds characterized by a set of properties. The properties can include chemical properties, physical properties, biological properties, electronic properties, computed properties and combinations thereof. The multi-dimensional data set can also or alternatively include, protein sequences characterized by a set of properties and/or gene sequences characterized by a set of properties. Typically, the multi-dimensional data is stored in a database of records having numerical fields. Step 1404 can be performed in any of a variety of ways. For example, the sample of points can be selected randomly, or according to some property or properties associated with the points. The sample of points can be selected to reflect characteristics of the multi-dimensional data set, or to reflect characteristics of a sub-set of the multi-dimensional data set. B. Non-Linearly Mapping the Sample of Points Step 1406 includes non-linearly mapping the n-dimensional sample of points to an m-dimensional space, where n and m can be any values, so long as n is greater than m. Step 1406 is also referred to as dimensionality reduction because it scales or reduces the number of dimensions associated with the n- dimensional sample of points. The sample of points are non-linearly mapped using any of a variety of suitable conventional or yet to be developed mapping techniques, or combinations thereof, including, but not limited to techniques disclosed in U.S. Patent Application No. 09/073,845, filed May 7, 1998, titled, "System, Method and Computer Program Product for Representing Proximity Data in Multi-Dimensional Space." C. Determining One or More Non-Linear Functions Step 1408 includes determining one or more non-linear functions underlying the mapped sample of points. In other words, Step 1408 determines one or more non-linear functions that correlate the n-dimensional sample of points from step 1404 with the corresponding m-dimensional points from step 1406. Step 1408 can be performed using any of a variety of techniques, including self learning or organizing techniques such as, but not limited to, multilayer neural networks, as well as other search and/or optimization techniques including, but not limited to, Monte Carlo/random sampling, greedy search algorithms, simulated annealing, evolutionary programming, genetic algorithms, genetic programming, gradient minimization techniques, and combinations thereof. Preferably, the one or more non-linear functions of step 1408 are derived from a basis set of linear and/or non-linear functions combined in a linear and/or non-linear manner. In an embodiment, the basis set of linear and/or non-linear functions can include, but are not limited to analytical functions, look-up tables, software modules and/or sub-routines, hardware, and combinations thereof. D. Mapping Additional Points Using the Non-Linear Functions Step 1410 includes mapping additional points using the one or more nonlinear functions determined in step 1408. In other words, the one or more nonlinear functions are then used to map additional n-dimensional points to the m- dimensional space. The additional points can include remaining members of the original n-dimensional data-set and/or new, previously unseen points, which are not part of the original n-dimensional data-set. III. Implementation in a System The present invention can be implemented in hardware, software, firmware or combinations thereof. FIG. 15A illustrates an exemplary block diagram of modules and data flow that can be included in a system 1502 that implements the present invention. The block diagram of FIG. 15 A is intended to aid in the understanding of the present invention. The present invention is not limited to the exemplary embodiment illustrated in the block diagram of FIG. 15 A. The system 1502 includes a multi-dimensional storage or data generation device 1504, a sample points selection module 1506, a non-linear mapping module 1508, a non-linear function module 1510, and an output device 1512, which can be, for example, a display, a printer, a storage device, etc. In operation, the multi-dimensional storage or data generation device 1504 provides an n-dimensional data set 1505 to the sample points selection module 1506. The sample points selection module 1506 selects a sample of points 1505 from the n-dimensional data set 1505, as described in step 1404. The sample of points 1505 is provided to the non-linear mapping module 1508. The non-linear mapping module 1508 maps the n-dimensional sample points 1507 to an m-dimensional space, as described in Step 1406. The non-linear mapping module 1507 provides m-dimensional sample points 1509 to the nonlinear function module 1510. The non-linear function module 1510 receives the m-dimensional sample points 1509 and the n-dimensional sample of points 1507, and determines one or more non-linear functions that define one or more relationships between the two, as described in step 1408. The m-dimensional points 1509 are optionally provided to the output device 1512, for display, printing, storage, etc. After the non-linear function module 1510 determines the one or more non-linear functions, the non-linear function module 1510 operates in a feedforward manner to map additional n-dimensional points 1513 to the m- dimensional space, as described in step 1410. The additional n-dimensional points 1513 can include remaining members of the n-dimensional data set 1505 and/or new, previously unseen points from other sources 1514. The results are illustrated here as m-dimensional additional points 1511, which are optionally provided to the output device 1512. In the feed-forward mode of operation, the non-linear function module 1510 multi-dimensionally maps, or scales, the additional n-dimensional points 1513 without using the non-linear mapping module 1508. This is important because large numbers of additional points can be efficiently handled by the one or more non-linear functions of the non-linear function module. Conventional non-linear mapping techniques used in the non-linear mapping module, on the other hand, do not scale well for large multi-dimensional data sets. The non-linear function module 1510 can include hardware, software, firmware, or combinations thereof. FIG. 15B illustrates an exemplary implementation of the non-linear function module 1510, including a non-linear function(s) determining module 1518 and a non-linear function implementation module 1520. The non-linear function(s) determining module 1518 determines one or more non-linear functions 1519, as described in step 1408. Preferably, the nonlinear function(s) determining module 1518 determines, or derives the one or more non-linear functions from a basis set of linear and/or non-linear functions combined in a linear and/or non-linear manner. In an embodiment, the basis set of linear and/or non-linear functions can include, but are not limited to analytical functions, look-up tables, software modules and/or sub-routines, hardware, and combinations thereof. In an embodiment, the non-linear function(s) determining module 1518 determines, or derives, the one or more non-linear functions using any of a variety of techniques including self learning or organizing techniques such as, but not limited to, multilayer neural networks, as well as other search and/or optimization techniques including, but not limited to, Monte Carlo/random sampling, greedy search algorithms, simulated annealing, evolutionary programming, genetic algorithms, genetic programming, gradient minimization techniques, and combinations thereof. The one or more non-linear functions 1519 are provided to the non-linear function implementation module 1520, which uses them in a feed-forward manner to map the additional n-dimensional points 1513, as described in step 1410. When the non-linear function module 1510 includes self-learning or training systems, such as multi-layer neural networks, the non-linear function(s) determining module 1518 represents the training of the self-learning system and the non-linear function implementation module 1520 represents operation of the self-learning system in a feed-forward (predictive) manner. IV. Additional Features of the Invention Additional features of the invention and optional implementation enhancements are now described. A. Multiple Non-Linear Functions In an embodiment, multiple non-linear functions are determined or derived for the n-dimensional points. In an embodiment, non-linear functions are determined for different sub-sets of points. In an embodiment, one or more of the sub-sets of points overlap. In an alternative embodiment, the multiple sub-sets of point are mutually exclusive. FIG. 16 is a process flowchart 1602 that illustrates an example process for determining and using multiple non-linear functions for non-linearly mapping multi-dimensional points. The process begins with steps 1404 and 1406, as previously described. Step 1406 can be performed with conventional, or classical non-linear mapping techniques, or with new and/or yet to be determined techniques. The process proceeds to step 1408, which is illustrated in the process flowchart 1602 as steps 1610 through 1616. Step 1610 includes selecting a first sub-set of points from the sample of points. Step 1612 includes determining a first set of one or more non-linear functions for the first sub-set of points. Step 1614 includes selecting a second sub-set of points from the sample of points. Step 1616 includes determining a second set of one or more non-linear functions for the second sub-set of points. Additional sub-sets of points can be selected from the sample of points and additional sets of one or more non-linear functions can be determined, or derived, for the additional sub-sets of points. In an embodiment, two or more of the sub-sets of points overlap. In an alternative embodiment, the sub-sets of points are mutually exclusive of one another. Step 1410 is illustrated in flowchart 1602 as step 1618, which includes mapping additional n-dimensional points using one or more of the non-linear functions (i.e., operating the non-linear functions in a feed-forward, or predictive manner). This typically involves directing the additional n-dimensional point to one or more of the non-linear functions derived in steps 1612 and 1616. This can be performed in a variety of ways. In an exemplary embodiment, each set of the one or more non-linear functions derived in steps 1612 and 1616 is associated with a point or region in the n-dimensional space. When an additional n-dimensional point is to be non- linearly mapped, one of the sets of non-linear functions is selected to perform the mapping, based on the proximity of the additional point to the points or regions associated with the sets of non-linear functions. In an embodiment, the additional point is mapped by the "nearest" non-linear function(s). This process is illustrated in the process flowchart of FIG. 20A. FIG. 17 illustrates an example non-linear function module 1701, for implementing the process. The non-linear function module 1701 is an example implementation of the non-linear function module 1510 of FIG. 15 A. In FIG. 17, the non-linear function module 1701 includes a plurality of sub-nets 1702a - 1702n, which represent the multiple sets of non-linear functions derived in steps 1612 and 1616. Each sub-net 1702 can include or employ any non-linear technique, or combination of non-linear techniques, as previously described. The non-linear function module 1701 also includes a dispatcher 1704 that directs additional n-dimensional points 1513 to one or more of the sub-nets 1702. Selected sub-nets 1702 non-linearly map the additional n-dimensional points 1513 from n-dimensions to m-dimensions. The dispatcher 1704 selects one or more of the sub-nets 1702 in any suitable manner. In an embodiment, each sub-net 1702 is associated with a different point or region in the n-dimensional space. The dispatcher 1704 selects one or more of the sub-nets 1702 based on the proximity of an additional point 1513 to the points or regions associated with the sub-nets 1702. Typically, the sub-net(s) 1702 "nearest" to the additional point 1513 are selected to non-linearly map the additional point. In an alternative embodiment, the sub-nets 1702 are associated with points or regions in the m-dimensional space, rather than in the n-dimensional space. The dispatcher 1704 directs the additional n-dimensional points 1513 to one or more of the sub-nets 1702, based on the proximity of approximated m-dimensional coordinates of the additional points 1513 to the m-dimensional point or region associated with the sub-nets 1702. This process is illustrated in the process flowchart of FIG. 20B. FIG. 19 illustrates the example non-linear function module 1701, including a master net 1902, which approximates m-dimensional coordinates, or points, 1904 for the additional n-dimensional points 1513. The master net 1902 preferably uses one or more non-linear functions, which can be determined or derived during the training phase of step 1406. For example, the master net 1902 can be trained from the sample of points or from a sub-sample thereof. The dispatcher 1704 directs the additional n-dimensional points 1513 to one or more of the sub-nets 1702, based on the proximity of the approximated m- dimensional coordinates 1904 to the m-dimensional points or regions associated with the sub-nets 1702. When the dispatcher 1704 selects multiple sub-nets 1702 to non-linearly map an additional point 1513, as illustrated in FIGS. 17 and 19, for example, the outputs of the multiple selected sub-nets 1702 are combined in a suitable manner to produce m-dimensional coordinates, or points, 151 1. FIGS . 21 A and 21 B illustrate example process flowcharts for combining outputs of multiple sub-nets 1702. FIG. 18 illustrates an example implementation for combining the outputs of multiple selected sub-nets 1702. In FIG. 18, the non-linear function module 1701 includes an accumulator 1802 that accumulates outputs from multiple selected sub-nets 1702, for an additional point 1513. The accumulator combines the outputs from the multiple sub-nets 1702 in a suitable manner and outputs m-dimensional point 151 1. In an embodiment, the accumulator 1802 weights or averages the outputs from the multiple sub-nets 1702, based on the proximity of the additional point 1513 to the point or region associated with the the sub-nets 1702. V. Implementation in a Computer Program Product The present invention can be implemented using one or more computers. Referring to FIG. 22, an exemplary computer 2202 includes one or more processors, such as processor 2204. Processor 2204 is connected to a communication bus 2206. Various software embodiments are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or computer architectures. Computer 2202 also includes a main memory 2208, preferably random access memory (RAM), and can also include one or more secondary storage devices 2210. Secondary storage devices 2210 can include, for example, a hard disk drive 2212 and/or a removable storage drive 2214, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. Removable storage drive 2214 reads from and/or writes to a removable storage unit 2216 in a well known manner. Removable storage unit 2216 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to by removable storage drive 2214. Removable storage unit 2216 includes a computer usable storage medium having stored therein computer software and/or data. In alternative embodiments, the computer 2202 can include other similar means for allowing computer programs or other instructions to be loaded into computer 2202. Such means can include, for example, a removable storage unit 2220 and an interface 2218. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 2220 and interfaces 2218 which allow software and data to be transferred from the removable storage unit 2220 to computer 2202. The computer 2202 can also include a communications interface 2222. Communications interface 2222 allows software and data to be transferred between computer 2202 and external devices. Examples of communications interface 2222 include, but are not limited to a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 2222 are in the form of signals (typically data on a carrier) which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 2222. In this document, the term "computer program product" is used to generally refer to media such as removable storage units 2216, 2220, a hard drive 2212 that can be removed from the computer 2202, and signals carrying software received by the communications interface 2222. These computer program products are means for providing software to the computer 2202. Computer programs (also called computer control logic) are stored in main memory and/or secondary storage devices 2210. Computer programs can also be received via communications interface 2222. Such computer programs, when executed, enable the computer 2202 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 2204 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer 2202. In an embodiment where the invention is implemented in whole or in part, using software, the software can be stored in a computer program product and loaded into computer 2202 using removable storage drive 2214, hard drive 2212, and/or communications interface 2222. The control logic (software), when executed by the processor 2204, causes the processor 2204 to perform the functions of the invention as described herein. In another embodiment, the automated portion of the invention is implemented primarily or entirely in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). In yet another embodiment, the invention is implemented using a combination of both hardware and software. The computer 2202 can be any suitable computer, such as a computer system running an operating system supporting a graphical user interface and a windowing environment. A suitable computer system is a Silicon Graphics, Inc. (SGI) workstation/server, a Sun workstation/ server, a DEC workstation/server, an IBM workstation/server, an IBM compatible PC, an Apple Macintosh, or any other suitable computer system, such as one using one or more processors from the Intel Pentium family, such as Pentium Pro or Pentium II. Suitable operating systems include, but are not limited to, IRIX, OS/Solaris, Digital Unix, AIX, Microsoft Windows 95/NT, Apple Mac OS, or any other operating system. For example, in an exemplary embodiment the program may be implemented and run on an Silicon Graphics Octane workstation running the IRIX 6.4 operating system, and using the Motif graphical user interface based on the X Window System. In an embodiment, the system 1502 is implemented, in whole or in part, in the computer 2202. VI. Conclusions This specification describes new non-linear mapping systems, methods, and computer program products, designed specifically for very large data sets, and useful for smaller data sets as well. In an embodiment, the invention combines "conventional" non-linear mapping techniques with feed-forward neural networks, and allows the processing of data sets orders of magnitude larger than those accessible using conventional methodologies. Embodiments use one or more classical techniques, or equivalents thereof, to multi-dimensionally scale a sample, which may be a small random sample, and then "learn" one or more underlying non-linear transforms using, for example, a multi-layer perceptron. Once trained, the neural network can be used in a feed-forward manner to project the remaining members of the population as well as new, unseen samples with minimal distortion. This method is rooted on the principle of probability sampling, and works extremely well across a wide variety of data sets of diverse origin, structure, and dimensionality. This approach makes possible the multi-dimensional scaling of very large data sets, and, by capturing non-linear transforms in the form of analytical functions, opens new possibilities for the application of this invaluable statistical technique. The present invention has been described above with the aid of functional building blocks illustrating the performance of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Any such alternate boundaries are thus within the scope and spirit of the claimed invention and would be apparent to persons skilled in the relevant art(s). These functional building blocks may be implemented by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof. It is well within the scope of one skilled in the relevant art(s) to develop the appropriate circuitry and /or software to implement these functional building blocks. Based on the above descriptions and examples, a person skilled in the relevant art(s) will be able to implement the present invention in a wide variety of applications, all of which fall within the scope of the invention. While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims: What ls Claimed Is: 1. A method for mapping multi-dimensional data sets, comprising the steps of: ( 1 ) non-linearly mapping a sample of points from a multi-dimensional data set; (2) determining a non-linear function for the non-linearly mapped sample of points; and (3) mapping additional points using the non-linear function. 2. The method according to claim 1. further comprising selecting the sample of points at random. 3. The method according to claim 1 , further comprising selecting the sample of points to reflect characteristics of the multi-dimensional data set. 4. The method according to claim 1 , further comprising selecting the sample of points to reflect characteristics of a sub-set of the multi-dimensional data set. 5. The method according to claim 1. wherein the non-linear function of step (2) is derived from a basis set of linear and/or non-linear functions combined in a linear and/or non-linear manner. 6. The method according to claim 5, wherein the set of linear and/or nonlinear functions include one or more of: one or more analytical functions; one or more look-up tables; one or more software modules and or sub-routines; and hardware. 7. The method according to claim 1 , where the non-linear function of step (2) is determined by a system that can be configured/trained to substantially reproduce a given set of outputs from a given set of inputs. 8. The method according to claim 5 , wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a search and/or optimization process/procedure. 9. The method according to claim 8, wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a Monte Carlo/random search process/procedure. 10. The method according to claim 8 , wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a simulated annealing process/procedure. 11. The method according to claim 8, wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by an evolutionary programming process/procedure. 12. The method according to claim 8 , wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a genetic algorithm. 13. The method according to claim 8, wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a genetic programming process/procedure. 14. The method according to claim 8. wherein the manner in which the linear or non-linear functions are combined in step (2) are determined by a gradient minimization process/procedure. 15. The method according to claim 1 , wherein the non-linear function in step (2) is encoded in the form of a neural network. 16. The method according to claim 15, wherein the parameters of the neural network are determined by a neural network training algorithm. 17. The method according to claim 1 , wherein the non-linear function in step (2) is encoded in the form of multiple neural networks. 18. The method according to claim 17, wherein the parameters of the multiple neural networks are determined by one or more neural network training algorithms. 19. The method according to claim 1, wherein step (3) comprises mapping one or more remaining members of the multi-dimensional data set, which are part of the original multi-dimensional data set, using the non-linear function of step (2). 20. The method according to claim 1, wherein step (3) comprises mapping one or more new, previously unseen points, which are not part of the original multi-dimensional data set, using the non-linear function of step (2). 21. The method according to claim 1 , wherein the multi-dimensional data set includes a set of database records having numerical fields. 22. The method according to claim 1 , wherein the multi-dimensional data set includes chemical compounds characterized by a set of properties. 23. The method according to claim 1 , wherein the multi-dimensional data set includes chemical compounds characterized by one or more of the following properties: chemical properties; physical properties; biological properties; electronic properties; and computed properties. 24. The method according to claim 1 , wherein the multi-dimensional data set includes collections of chemical compounds characterized by a set of properties. 25. The method according to claim 1 , wherein the multi-dimensional data set includes protein sequences characterized by a set of properties. 26. The method according to claim 1 , wherein the multi-dimensional data set includes gene sequences characterized by a set of properties. 27. A method for mapping multi-dimensional data sets, comprising the steps of: ( 1 ) non-linearly mapping a sample of points from a multi-dimensional data set; (2) selecting a first sub-set of points from the sample of points; (3) determining a first non-linear function for the first sub-set of points; (4) selecting a second sub-set of points from the sample of points; (5) determining a second non-linear function for the second sub-set of points; and (6) mapping additional points using one or more of the non-linear functions. 28. The method according to claim 27, further comprising repeating steps (4) and (5) for additional sub-sets of points from the sample of points. 29. The method according to claim 27, wherein a portion of the first and second sub-sets of points overlap. 30. The method according to claim 27, wherein the first and second sub-sets of points are mutually exclusive of one another. 31. The method according to claim 27, wherein step (6) comprises selecting one or more of the non-linear functions to map an additional point based on the n-dimensional coordinates of the additional point. 32. The method according to claim 27, wherein step (6) comprises selecting one or more of the non-linear functions to map an additional point based on approximated m-dimensional coordinates of the additional point. 33. The method according to claim 27, wherein step (6) comprises the steps of: (a) associating an n-dimensional point or region with each of the non-linear functions; (b) determining proximities between the additional n-dimensional point and the n-dimensional points or regions associated with the non-linear functions; and (c) selecting one or more of the non-linear functions to non-linearly map the additional n-dimensional point, based on the proximities. 34. The method according to claim 27, wherein step (6) comprises the steps of: (a) associating an m-dimensional point or region with each of the non-linear functions; (b) approximating m-dimensional coordinates for an additional n-dimensional point using a non-linear mapping technique; (c) determining proximities between the m-dimensional coordinates of the additional n-dimensional point and the m-dimensional points or regions associated with the non-linear functions; and (d) selecting one or more of the non-linear functions to non-linearly map the additional n-dimensional point, based on the proximities.

Inventors: AGRAFIOTIS DIMITRIS K, LOBANOV VICTOR S, SALEMME FRANCIS R, AGRAFIOTIS, DIMITRIS, K., LOBANOV, VICTOR, S., SALEMME, FRANCIS, R.
Applicants: DIMENSIONAL PHARM INC, 3-DIMENSIONAL PHARMACEUTICALS, INC.
Application year: 2000
Main classification: G06F17
IPC codes: G06F17, G06K9, G06N3