mahout-dev mailing list archives

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

    [ https://issues.apache.org/jira/browse/MAHOUT-771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070302#comment-13070302
] 

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
it.

> Random Projection using sampled values
> --------------------------------------
>
>                 Key: MAHOUT-771
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-771
>             Project: Mahout
>          Issue Type: New Feature
>          Components: Math
>            Reporter: Lance Norskog
>            Priority: Minor
>         Attachments: RandomProjector.patch, RandomProjectorBenchmark.java
>
>
> 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_
> [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.4546&rep=rep1&type=pdf]

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message