mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lance Norskog (JIRA)" <>
Subject [jira] [Commented] (MAHOUT-771) Random Projection using sampled values
Date Mon, 25 Jul 2011 02:35:10 GMT


Lance Norskog commented on MAHOUT-771:

I'm using this for visualization, downprojecting to 2 and 3 dimensions. It is production-quality,
but I've only implemented vectors. If encouraged, I'll do matrices as well. 

This tool is clearly useful in map/reduce operations. It has some affinity to the LinearOperator
class. The only difference in interface is that there is no need to "bake in" output dimensions
to each projector.  I would wait until the LinearOperator situation settles down before adopting

> Random Projection using sampled values
> --------------------------------------
>                 Key: MAHOUT-771
>                 URL:
>             Project: Mahout
>          Issue Type: New Feature
>          Components: Math
>            Reporter: Lance Norskog
>            Priority: Minor
>         Attachments: RandomProjector.patch,
> Random Projection implementation which follows two deterministic guarantees:
> # The same data projected multiple times produces the same output
> # Dense and sparse data with the same contents produce the same output
> Custom class that does Random Projection based on Johnson-Lindenstrauss. This implementation
uses Achlioptas's results, which allow using method other than a full-range random multiplier
per sample:
> * use 1 random bit to add or subtract a sample to a row sum 
> * use a random value from 1/6 to add (1/6), subtract (1/6), or ignore (4 out of 6) a
sample to a row sum
> Custom implementations for both dense and sparse vectors are included. The sparse vector
implementation assumes the active values will fit in memory.
> An implementation using full-range random multipliers made by java.util.Random is included
for reference/research. 
> *Database-friendly random projections: Johnson-Lindenstrauss with binary coins*
> _Dimitris Achlioptas_
> []

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message