<p>I think that a very nice example of what you are talking about saying the word bigger, is probably a microarray transciptional analysis of RNA extracted from a biological sample. Simplifying, in these analyis, each observation is analised on, up to 10000 genes expression levels of different mRNA coding genes. Thus, from these type of molecular biology experiments, we obtain matrices with few observations (d, the samples) respect to the dimensions observed (k, the target gene expression levels). Well, d &lt;&lt; k. In this situation, in order to perform a classification-like task, and to reduce the problem of the overfitting related with dimensionality maledition, the ways that we might follow are several: </p>

<p>1) PCA: it is a good tool to visualize multidimensional datasets reducing dimensionality and noise level in the consolidated and standardized data. Problem: it is an unsupervised machine learning algorithm. Alone, it haven't the capacity of class discrimination. </p>

<p>2) PCA-LDA is a good combination, where PCA eliminates  hyperdimensionality and background in our data sheets, and than LDA (linear discriminant analysis) finds the directions onto the new subspace of characteristics, that are able to maximize variances between classes and decrease the variances within these. For this reason LDA is known as a kind of supervised machine learning technique. Furthermore, PCA and LDA are usually used together because LDA applied on high dimensional datasets could lead us toward overfitting problems. After the training of PCA-LDA pipeline, being LDA a classificator object trained and shaped on the principal component subspace, you can use this to examine new unknown samples or observation and predict its class by similarity. e.g. recently, Martin et al., on a Nature article talk about PCA-LDA approach to identify and than to predict cancer cells from those are normal, starting from ranman spectra of tissues.</p>

<p>3) PCA-LDA on transpose matrix: to use as better as possible the huge dimensionality, some authors used to transpose the initial matrix in order to force positioning of genes as rows and samples as columns. Then, the subsequent LDA is performed not on PC scores, but on loading factors of the eigenfactor matrix obtaining thus the list of the most important discriminant gene expression levels to segregate normal samples to cancer ones.</p>

CC BY-SA 3.0
2017-09-30T00:46:36.770Z
2017-10-01T10:50:36.113Z
2017-10-01T10:50:36.113Z
Ad87F
<p>I have been thinking about this problem and reading some related papers for sometime.</p>

<p>The problem can be described as follows:</p>

<p>Suppose that each biometric template is a $d-$dimensional vector. A database is composed of $n$ such templates ( $n$ could be large, like 1 million). Given a query template $q$, the task is to identify the "closest" template according to some distance metric.</p>

<p>Now, since the dimension $d$ and the database size $n$ could be both large, it is not quite efficient to linearly scan the whole database.</p>

<p>So my question is, are there any algorithms to efficiently fulfill the above task? What are the state of the art algorithms for biometric identification?</p>

<p>Through some literature review, I can think of two approaches. But both of them seem to have some limitations.</p>

<ol>
<li><p>Building space partitioning index like R-tree. The problem is that such index does not suit for high dimensional data. The final search efficiency would be close to linear search.</p></li>
<li><p>Locality sensitive hash. The problem is that this method can only provide <strong>approximate</strong> searching result. For biometic identification, it is not guaranteed that the matched template could be found.</p></li>
</ol>

CC BY-SA 3.0
2017-09-22T14:36:49.983Z
If this is properly stored in a database using indexes might be quite fast to retrieve the $n_i$ template if one variable should be identical. Otherwise it can be reduced to a n-dimensional through PCA techniques, and predict where the query q might fall on the dimensions, thus look on the nearest templates.
llrs
CC BY-SA 3.0
2017-10-01T15:59:31.197Z
In practice: a) have cluster precompute all pairwise distances, so that you can query similarity to other records b) exploit specifics of your distance metric [with a million records or so this is usually still fast enough if your workstation is large enough to hold full matrix in memory, so that speed doesn't become an annoyance]; note that the possible modifications on the space and strategy and valid simplifications will depend on your distance metric
tsttst
<database><identifiers>
What are the algorithms for biometric identification in large database?
# What are the algorithms for biometric identification in large database?

(Asked by: username_0 on 2017-09-22)

I have been thinking about this problem and reading some related papers for sometime.

The problem can be described as follows:

Suppose that each biometric template is a $d-$dimensional vector. A database is composed of $n$ such templates ( $n$ could be large, like 1 million). Given a query template $q$, the task is to identify the "closest" template according to some distance metric.

Now, since the dimension $d$ and the database size $n$ could be both large, it is not quite efficient to linearly scan the whole database.

So my question is, are there any algorithms to efficiently fulfill the above task? What are the state of the art algorithms for biometric identification?

Through some literature review, I can think of two approaches. But both of them seem to have some limitations.

1. Building space partitioning index like R-tree. The problem is that such index does not suit for high dimensional data. The final search efficiency would be close to linear search.
2. Locality sensitive hash. The problem is that this method can only provide **approximate** searching result. For biometic identification, it is not guaranteed that the matched template could be found.

**Tags:** database, identifiers
> **Comments:**
> **username_1**: If this is properly stored in a database using indexes might be quite fast to retrieve the $n_i$ template if one variable should be identical. Otherwise it can be reduced to a n-dimensional through PCA techniques, and predict where the query q might fall on the dimensions, thus look on the nearest templates.  
> **username_2**: In practice: a) have cluster precompute all pairwise distances, so that you can query similarity to other records b) exploit specifics of your distance metric [with a million records or so this is usually still fast enough if your workstation is large enough to hold full matrix in memory, so that speed doesn't become an annoyance]; note that the possible modifications on the space and strategy and valid simplifications will depend on your distance metric  

---

## 1 answers

### Answer by username_3 on 2017-09-30. Score: 2

I think that a very nice example of what you are talking about saying the word bigger, is probably a microarray transciptional analysis of RNA extracted from a biological sample. Simplifying, in these analyis, each observation is analised on, up to 10000 genes expression levels of different mRNA coding genes. Thus, from these type of molecular biology experiments, we obtain matrices with few observations (d, the samples) respect to the dimensions observed (k, the target gene expression levels). Well, d << k. In this situation, in order to perform a classification-like task, and to reduce the problem of the overfitting related with dimensionality maledition, the ways that we might follow are several:

1) PCA: it is a good tool to visualize multidimensional datasets reducing dimensionality and noise level in the consolidated and standardized data. Problem: it is an unsupervised machine learning algorithm. Alone, it haven't the capacity of class discrimination.

2) PCA-LDA is a good combination, where PCA eliminates hyperdimensionality and background in our data sheets, and than LDA (linear discriminant analysis) finds the directions onto the new subspace of characteristics, that are able to maximize variances between classes and decrease the variances within these. For this reason LDA is known as a kind of supervised machine learning technique. Furthermore, PCA and LDA are usually used together because LDA applied on high dimensional datasets could lead us toward overfitting problems. After the training of PCA-LDA pipeline, being LDA a classificator object trained and shaped on the principal component subspace, you can use this to examine new unknown samples or observation and predict its class by similarity. e.g. recently, Martin et al., on a Nature article talk about PCA-LDA approach to identify and than to predict cancer cells from those are normal, starting from ranman spectra of tissues.

3) PCA-LDA on transpose matrix: to use as better as possible the huge dimensionality, some authors used to transpose the initial matrix in order to force positioning of genes as rows and samples as columns. Then, the subsequent LDA is performed not on PC scores, but on loading factors of the eigenfactor matrix obtaining thus the list of the most important discriminant gene expression levels to segregate normal samples to cancer ones.


---

