experimental-mf, 缓存友好的多线程矩阵分解

分享于 

3分钟阅读

GitHub

  繁體 雙語
cache-friendly multithread matrix factorization
  • 源代码名称:experimental-mf
  • 源代码网址:http://www.github.com/dmlc/experimental-mf
  • experimental-mf源代码文档
  • experimental-mf源代码下载
  • Git URL:
    git://www.github.com/dmlc/experimental-mf.git
    Git Clone代码到本地:
    git clone http://www.github.com/dmlc/experimental-mf
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/dmlc/experimental-mf
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    基于的快速矩阵分解

    特性

    • 缓存友好的多线程矩阵分解。
    • 矩阵分解的快速多线程随机梯度动力学( SGLD )。
    • 快速多线程差分 private 矩阵分解。
    • 自适应Regularizer矩阵分解。

    数据

    我们支持google的Protobuf作为输入。 尝试数据/getdata。cc将userwise原始数据转换为protobuf格式:

    
    ./getdata -r [userwise_raw_data] -w [protobuf_binary] --method [protobuf] --size [int]
    
    
    
    

    userwise原始数据的示例如下所示:

    
    0:
    
    
    11,5.0
    
    
    21,3.0
    
    
    1:
    
    
    9,5.0
    
    
    12,1.0
    
    
    
    

    其中有两个用户'0'和'1'。

    或者,如果你只有rating原始数据,你可以首先转换为userwise原始数据:

    
    ./getdata -r [rating_wise_raw] -w [userwise_raw_data] --method [userwise] --split [int]
    
    
    
    

    带有标题的rating_wise_raw数据示例如下所示:

    
    100000
    
    
    0,1,5.0
    
    
    0,2,1.0
    
    
    
    

    标题表示分级数,并按 user_id。item_id和每行分级进行排序。

    环境要求

    • GCC 4.9或者更高版本

      tar zxf gcc-4.9.2.tar.gz;cd gcc-4.9.2;contrib/download_prerequisites;cd.. ;mkdir buildc;cd buildc;../gcc-4.9.2/configure --disable-multilib;make -j 32;sudo make install;cd.. ;
    • 英特尔 TBB

      sudo apt-get install libtbb-dev
    • 谷歌 Protobuf

      sudo apt-get install -y libprotobuf-dev; sudo apt-get install -y protobuf-compiler;
    • 英特尔 MKL

    引用

    [1] 快速差分 private 矩阵分解法。 Ziqi,yu,Alex。

    基于自适应正则化的[2] 学习推荐系统。 Steffen Rendle。


    MAT  CAC  友元  cache  FACT  Matrix  
    相关文章