My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
questions  
Some questions when I implement the algorithms
Updated Apr 7, 2011 by honglianglv

Introduction

Some questions when I implement the algorithms

Details

问题如下

  1. KNN算法中,如何存储稀疏的rate矩阵,是否可以用一个map数组存储?对于netflix数据目前不可以,占用的内存超过3.2G(32位系统用户单进程最大内存),不知道64位系统是否可以。和xlvector交流他的好像可以。问题是,sgi的stl中,一个map节点占用内存多大呢?看了stl源码,仍然不清楚,谁能告诉我呢?

  2. 为什么movielens数据集中,有这么多item之间的相似度为1,难道我的算法实现有问题?

  3. http://www.lifecrunch.biz/archives/194 Recommender system Handbook]P149, bi和bu的公式下面有一句话,"Average are shrunk towards zero by using the regularization parameters, r1,r2,which are determined by cross validation" ,如何通过交叉验证的方式选择参数呢,模型参数选择对结果影响非常大,大家实际怎么选择的这些参数呢?

Comment by Guozhu...@gmail.com, Apr 6, 2011

1、关于稀疏矩阵的数据结构,为什么不采用邻接矩阵的方式,又或者是压缩比高的CSR或CSC方式?

2、现在的rateMatrix是根据ITEM的数量预先静态分配内存的,推广性比较差,很难适用于更灵活的数据集。建议接口定义为以ITEM数量或总记录数量为参数,利用邻接矩阵或CSR格式来动态分配内存。对于movielen与netflix的数据,只要在外面包一个函数,设置一下参数,然后调用这个接口函数即可。

Comment by yan...@gmail.com, Apr 7, 2011

1.对于系数矩阵,用十字链表比较方便些,效率也比较高。 2.这个问题我也碰到过,大部分的item之间的相似度为1。另外你用的数据类型是什么?

Comment by project member honglianglv, Apr 8, 2011

1、我这个是打分矩阵,就是训练数据集,也用十字链表吗? 2、“有很多item之间的相似度为1”我用的是float存储的


Sign in to add a comment
Powered by Google Project Hosting