Difference between revisions of "Dimensional Reduction"

From
Jump to: navigation, search
m
m
 
(6 intermediate revisions by the same user not shown)
Line 20: Line 20:
 
[https://www.bing.com/news/search?q=~Dimensional+~Reduction+AI&qft=interval%3d%228%22 ...Bing News]
 
[https://www.bing.com/news/search?q=~Dimensional+~Reduction+AI&qft=interval%3d%228%22 ...Bing News]
  
* [[Embedding]] ... [[Fine-tuning]] ... [[Agents#AI-Powered Search|Search]] ... [[Clustering]] ... [[Recommendation]] ... [[Anomaly Detection]] ... [[Classification]] ... [[Dimensional Reduction]].  [[...find outliers]]
+
* [[Embedding]] ... [[Fine-tuning]] ... [[Retrieval-Augmented Generation (RAG)|RAG]] ... [[Agents#AI-Powered Search|Search]] ... [[Clustering]] ... [[Recommendation]] ... [[Anomaly Detection]] ... [[Classification]] ... [[Dimensional Reduction]].  [[...find outliers]]
 
* [[Math for Intelligence]] ... [[Finding Paul Revere]] ... [[Social Network Analysis (SNA)]] ... [[Dot Product]] ... [[Kernel Trick]]
 
* [[Math for Intelligence]] ... [[Finding Paul Revere]] ... [[Social Network Analysis (SNA)]] ... [[Dot Product]] ... [[Kernel Trick]]
 
* [[Hyperdimensional Computing (HDC)]]  
 
* [[Hyperdimensional Computing (HDC)]]  
Line 87: Line 87:
 
** [https://arxiv.org/pdf/1802.03426.pdf Uniform Manifold Approximation and Projection (UMAP) | L. McInnes, J. Healy, and J. Melville] ... a dimension reduction technique that can be used for visualisation similarly to [[T-Distributed Stochastic Neighbor Embedding (t-SNE) | t-SNE]], but also for general non-linear dimension reduction.  
 
** [https://arxiv.org/pdf/1802.03426.pdf Uniform Manifold Approximation and Projection (UMAP) | L. McInnes, J. Healy, and J. Melville] ... a dimension reduction technique that can be used for visualisation similarly to [[T-Distributed Stochastic Neighbor Embedding (t-SNE) | t-SNE]], but also for general non-linear dimension reduction.  
 
*** [https://github.com/lmcinnes/umap UMAP]...[[Python]] version
 
*** [https://github.com/lmcinnes/umap UMAP]...[[Python]] version
*** [https://github.com/pair-code/umap-js UMAP-JS] ...[[Javascript]] version
+
*** [https://github.com/pair-code/umap-js UMAP-JS] ...[[JavaScript]] version
 
* [https://www.sciencedirect.com/science/article/pii/S2215016120303137 Uncovering High-dimensional Structures of Projections from Dimensionality Reduction Methods | Michael Thrun & Alfred Ultsch - ScienceDirect]
 
* [https://www.sciencedirect.com/science/article/pii/S2215016120303137 Uncovering High-dimensional Structures of Projections from Dimensionality Reduction Methods | Michael Thrun & Alfred Ultsch - ScienceDirect]
  
Line 95: Line 95:
 
* [[Inverted File Indexes (IVF)]]
 
* [[Inverted File Indexes (IVF)]]
 
* [[Approximate Nearest Neighbor (ANN)]]
 
* [[Approximate Nearest Neighbor (ANN)]]
 +
* [[Excel]] ... [[LangChain#Documents|Documents]] ... [[Database|Database; Vector & Relational]] ... [[Graph]] ... [[LlamaIndex]]
  
 
Product quantization (PQ) is a technique used for vector compression and is very effective in compressing high-dimensional vectors for nearest neighbor search. The idea behind PQ is to decompose the space into a Cartesian product of low-dimensional subspaces and to quantize each subspace separately. This technique is used in [[Approximate Nearest Neighbor (ANN)|Approximate Nearest Neighbor Search (ANNs)]] and is a vital part of many vector quantization techniques.
 
Product quantization (PQ) is a technique used for vector compression and is very effective in compressing high-dimensional vectors for nearest neighbor search. The idea behind PQ is to decompose the space into a Cartesian product of low-dimensional subspaces and to quantize each subspace separately. This technique is used in [[Approximate Nearest Neighbor (ANN)|Approximate Nearest Neighbor Search (ANNs)]] and is a vital part of many vector quantization techniques.
Line 101: Line 102:
  
 
* PQ divides and splits vectors into segments and quantizes each segment of the vectors separately.
 
* PQ divides and splits vectors into segments and quantizes each segment of the vectors separately.
* Each vector in the database is converted to a short code, known as a PQ code, which is a representation that is extremely memory-efficient for the approximate nearest neighbor search.
+
* Each vector in the database is converted to a short code, known as a PQ code, which is a representation that is extremely [[memory]]-efficient for the approximate nearest neighbor search.
 
* PQ methods decompose the embedding manifold into a Cartesian product of M disjoint partitions and quantize each partition into K clusters.
 
* PQ methods decompose the embedding manifold into a Cartesian product of M disjoint partitions and quantize each partition into K clusters.
 
* PQ is highly scalable and can be used for large-scale searches.
 
* PQ is highly scalable and can be used for large-scale searches.
 
* PQ is used in many vector search libraries, including Faiss, which contains different index types, including one with product quantization (IVF-PQ).
 
* PQ is used in many vector search libraries, including Faiss, which contains different index types, including one with product quantization (IVF-PQ).
 +
 +
PQ is a very effective way to compress vectors because it can achieve high compression rates while still preserving the semantic relationships between the vectors. This is because PQ preserves the pairwise distances between the vectors, which is what is important for many NLP and ML tasks. PQ is often used in conjunction with other vector indexing techniques, such as [[Inverted File Indexes (IVF)]] and [[K-Nearest Neighbors (KNN)]]. This is because PQ can be used to compress the vectors, which makes them smaller and faster to search, while the other techniques can be used to further improve the search performance. Some of the disadvantages of using product quantization for vector indexing are it can be sensitive to the choice of codebook size and the number of subvectors and it can be difficult to tune the hyperparameters for optimal performance. Here are some of the advantages of using product quantization for vector indexing:
 +
* It is very effective at compressing vectors while preserving their semantic relationships.
 +
* It is fast and scalable, making it suitable for indexing large datasets of vectors.
 +
* It is often used in conjunction with other vector indexing techniques to further improve the search performance.
  
 
<youtube>t9mRf2S5vDI</youtube>
 
<youtube>t9mRf2S5vDI</youtube>
 
<youtube>PNVJvZEkuXo</youtube>
 
<youtube>PNVJvZEkuXo</youtube>

Latest revision as of 22:54, 1 March 2024

YouTube ... Quora ...Google search ...Google News ...Bing News


To identify the most important Features to address:

  • reduce the amount of computing resources required
  • 2D & 3D intuition often fails in higher dimensions
  • distances tend to become relatively the 'same' as the number of dimensions increases



Dimensional Reduction techniques for reducing the number of input variables in training data - captures the “essence” of the data



Some datasets may contain many variables that may cause very hard to handle. Especially nowadays data collecting in systems occur at very detailed level due to the existence of more than enough resources. In such cases, the data sets may contain thousands of variables and most of them can be unnecessary as well. In this case, it is almost impossible to identify the variables which have the most impact on our prediction. Dimensional Reduction Algorithms are used in this kind of situations. It utilizes other algorithms like Random Forest, Decision Tree to identify the most important variables. 10 Machine Learning Algorithms You need to Know | Sidath Asir @ Medium



Projection

Youtube search... ...Google search

Product Quantization (PQ)

Product quantization (PQ) is a technique used for vector compression and is very effective in compressing high-dimensional vectors for nearest neighbor search. The idea behind PQ is to decompose the space into a Cartesian product of low-dimensional subspaces and to quantize each subspace separately. This technique is used in Approximate Nearest Neighbor Search (ANNs) and is a vital part of many vector quantization techniques.

Here are some key points about product quantization:

  • PQ divides and splits vectors into segments and quantizes each segment of the vectors separately.
  • Each vector in the database is converted to a short code, known as a PQ code, which is a representation that is extremely memory-efficient for the approximate nearest neighbor search.
  • PQ methods decompose the embedding manifold into a Cartesian product of M disjoint partitions and quantize each partition into K clusters.
  • PQ is highly scalable and can be used for large-scale searches.
  • PQ is used in many vector search libraries, including Faiss, which contains different index types, including one with product quantization (IVF-PQ).

PQ is a very effective way to compress vectors because it can achieve high compression rates while still preserving the semantic relationships between the vectors. This is because PQ preserves the pairwise distances between the vectors, which is what is important for many NLP and ML tasks. PQ is often used in conjunction with other vector indexing techniques, such as Inverted File Indexes (IVF) and K-Nearest Neighbors (KNN). This is because PQ can be used to compress the vectors, which makes them smaller and faster to search, while the other techniques can be used to further improve the search performance. Some of the disadvantages of using product quantization for vector indexing are it can be sensitive to the choice of codebook size and the number of subvectors and it can be difficult to tune the hyperparameters for optimal performance. Here are some of the advantages of using product quantization for vector indexing:

  • It is very effective at compressing vectors while preserving their semantic relationships.
  • It is fast and scalable, making it suitable for indexing large datasets of vectors.
  • It is often used in conjunction with other vector indexing techniques to further improve the search performance.