首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于训练模型的近似文本压缩?

基于训练模型的近似文本压缩?
EN

Data Science用户
提问于 2018-12-21 17:19:42
回答 4查看 264关注 0票数 2

我有一个键值形式的数据集。在多对一映射中基本上有两组整数。与f(123)一样,f(123)对应于4652,f(24)对应于12等等。这个数据集的大小大约是10^7。

这个太大了。因此,我的想法是在某些模型上训练这个数据集,并且只存储经过训练的模型参数,所以当我必须回答f( 24 )时,我可以传递24作为模型的输入,并打印模型的输出。我认为数据集上的某些模型过分拟合,可能会导致高精度的结果,比如大于99%。我严格要求参数的大小小于50,000字节。

我试着制作香草神经网络,但是错误率太高了。我发现一个有趣的博客正在尝试与我的方法相同的方法。如果你在评论中有什么不清楚,请告诉我。

具体实例问题

给你一个我正在尝试的具体例子。这是DataSet,ith行在这个文件中存储f(i)。我正在尝试制作一个50k字节的代码,它可以回答查询f(i)。当然,训练是没有限制的,但是训练后文件的长度应该是50k。

EN

回答 4

Data Science用户

发布于 2018-12-26 15:04:55

您的问题可以通过散列映射来解决。如果数据集非常大,则可以使用近似的hashmap。近似散列映射的例子是布卢姆滤波器布库滤波器

票数 1
EN

Data Science用户

发布于 2018-12-27 08:37:02

这似乎是个有趣的问题。我以前从未遇到过这样的问题,但以下是我的观察:

  1. 您的方法的问题可能是因为您的数值数据缺乏数值意义。当您的输入是用于例如带有数字的分类数据时,就会发生这种情况。在这种情况下,尝试编码您的输入数据,然后将它们传递给您的神经Network.If (维度太高),尝试使用主成分分析。
  2. 你想要解决的问题是一个典型的哈希问题。因此,我同意@Brian关于使用近似Hashmap的回答。

希望这会有所帮助:)

票数 1
EN

Data Science用户

发布于 2018-12-27 11:15:54

基本上,你在问题中提到的是,你只有一个输入特性和一个输出,而你的任务是回归。这里的要点是,你必须先调查你的数据,并确定它是否可以学习。稍后我将解释这一点,但在此之前,我有一个关于您考虑分离模型的建议。如果您不确定每个培训拆分是否具有与实际数据分发相同的分布,请不要这样做。似乎你想用一种错误的方式来学习合奏。没有找到好的精度的主要原因是,如果更改数据的分布,则测试数据的性能将很差。换句话说,由于训练不佳,你的模型不能很好地推广。另一方面,改变培训数据的大小并不会减少您的模型的大小,如果它们被绘制为iid,并且它们足够大以便学习。

首先,您必须找到训练数据的Bayes错误。因为您只有一个输入特性,所以可能存在很高的Bayes错误,这意味着您的输入和输出不满足功能条件,对于每个特定的输入,您应该只有一个输出。您必须调查每个输入是否只有一个输出。如果您发现有一个较大的Bayes错误,您可以确保您不能有一个良好的性能。相反,如果你看到你有较低的Bayes误差,那么你可以使用线性和非线性模型。

我的解决方案是,试着用两层神经网络来解决你的问题,找到正确的结构,首先可以很好地概括,然后,在找到一个好的模型之后,检查网络的大小。另一个解决方案可以是使用非线性SVM,如果你确信你的数据是非线性的,尽管我想如果你没有很高的贝叶斯误差,两层网络可以解决你的问题。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/43015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档