Class AchlioptasRandomProjectionFamily

  • All Implemented Interfaces:
    RandomProjectionFamily

    @Reference(title="Database-friendly random projections: Johnson-Lindenstrauss with binary coins",
               authors="D. Achlioptas",
               booktitle="Proc. 20th ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems",
               url="https://doi.org/10.1145/375551.375608",
               bibkey="DBLP:conf/pods/Achlioptas01")
    public class AchlioptasRandomProjectionFamily
    extends AbstractRandomProjectionFamily
    Random projections as suggested by Dimitris Achlioptas.

    Reference:

    D. Achlioptas
    Database-friendly random projections: Johnson-Lindenstrauss with binary coins
    Proc. 20th ACM SIGMOD-SIGACT-SIGART Symp. on Principles of database systems

    TODO: faster implementation exploiting sparsity.

    Since:
    0.6.0
    Author:
    Erich Schubert
    • Field Detail

      • sparsity

        private double sparsity
        Projection sparsity.
    • Constructor Detail

      • AchlioptasRandomProjectionFamily

        public AchlioptasRandomProjectionFamily​(double sparsity,
                                                RandomFactory random)
        Constructor.
        Parameters:
        sparsity - Projection sparsity
        random - Random number generator.
    • Method Detail

      • generateProjection

        public RandomProjectionFamily.Projection generateProjection​(int idim,
                                                                    int odim)
        Description copied from interface: RandomProjectionFamily
        Generate a projection matrix for the given dimensionalities.
        Parameters:
        idim - Input Dimensionality
        odim - Output Dimensionality
        Returns:
        Projection matrix