You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "Dmitriy Lyubimov (JIRA)" <ji...@apache.org> on 2011/08/29 20:22:37 UTC

[jira] [Issue Comment Edited] (MAHOUT-638) Stochastic svd's is not handling well all cases of sparse vectors

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

Dmitriy Lyubimov edited comment on MAHOUT-638 at 8/29/11 6:21 PM:
------------------------------------------------------------------

it's random projection multiplication Y_{i*}=A_{i*}\Omega (part of the Omega class). Since that's the only operation we ever do with Omega, i did not feel like I needed to implement the whole Matrix api for Omega; and even if i did, it would've looked as something similar except here it is optimized to re-use the same holder object (yRow).

      was (Author: dlyubimov):
    it's random projection multiplication Y_{i*}=A_{i*}\Omega (part of the Omega class). Since that's the only operation we ever do with Omega, i did not feel like I needed to implement the whole Matrix api for Omega; and even if i did, it would've looked as something similar except here it is optimized to re-used the same holder (yRow).
  
> Stochastic svd's is not handling well all cases of sparse vectors 
> ------------------------------------------------------------------
>
>                 Key: MAHOUT-638
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-638
>             Project: Mahout
>          Issue Type: Bug
>          Components: Math
>    Affects Versions: 0.5
>            Reporter: Dmitriy Lyubimov
>            Assignee: Dmitriy Lyubimov
>             Fix For: 0.5
>
>         Attachments: MAHOUT-622-2.patch, MAHOUT-638-2.patch, MAHOUT-638-2.patch, MAHOUT-638.patch
>
>
> The Mahout patch of the algorithm is not handling all types of sparse input efficiently. BtJob doesn't handle SequentialSparseVector in a way to pick only non-zero elements from initial input and QJob doesn't iterate over RandomAccessSparseVector correctly. With extremely sparse inputs (0.05% non-zero elements) that leads to a terrible inefficiency in the aforementioned jobs (QJob, BtJob).

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