使用稀疏编码估计基于推文的地理坐标

时间:2015-10-05 22:14:45

标签: matlab sparse-matrix


我试图仅根据推文内容的特点估计Twitter上的推文的地理坐标。我使用了this论文中的算法。
基本上,来自用户的推文被收集并预处理以创建序列/字数矢量。提取子矢量(块)并且使用无监督学习方法来学习词典(KSVD)。使用学习的词典,可以找到稀疏代码。之后,引入了最大池方案。最后,创建一个查找表,其中包含键(稀疏代码)/值(地理坐标)的条目。为了估计推文(同一用户)的地理坐标,我们计算相应的稀疏码,然后使用kNN找到邻居。可以通过这些相邻向量的平均值来估计地理坐标。

以下是我实现算法的方法:

  • 我从GeoText数据集中提取数据,按用户分隔数据(例如,80%的用户用于培训集,20%用于验证集)
  • 将补丁/子向量放在一起以创建训练集和验证集的大矩阵
  • 对于学习字典,我使用了来自http://www.cs.technion.ac.il/~ronrubin/software.html
  • 的KSVD-BOX
  • 对于稀疏编码,我使用了上述相同网站的OMP-BOX
  • 一些必要的参数:
    • N = 64(补丁或子矢量的维度)
    • K = 600(原子数)
    • T = 10(稀疏性)
    • kNN = 30(最近邻居的数量)
    • epsilon = 0.1(美白常数)

可以看出,该算法运行速度非常快,需要10分钟进行训练,5分钟进行测试。但是,我从未获得过高精度。事实上,平均值距离误差总是在1000公里左右,这不如纸张(500公里)那么好。我已经按照论文中的每一点,包括增强选项。这是我的Matlab source code

嗯,我知道描述很长,但我试着以一种简单的方式解释我的理解。我希望你能帮助我提高准确性。 谢谢你的病人。

0 个答案:

没有答案