我是机器学习的新手,但我有一个有趣的问题。我有很多人样本,并参观了网站。有些人表示性别,年龄和其他参数。现在,我想向每个用户还原这些参数。

我要寻找哪种方式?哪种算法适合解决此问题?我熟悉神经网络(有监督的学习),但似乎它们不合适。

有帮助吗?

解决方案

我几乎遇到了同样的问题:社交网络用户的“恢复”年龄,性别和位置。但是我使用了用户的自我网络,没有访问站点统计信息。我面对了两个几乎独立的任务:

  1. “恢复”或“预测”数据。您可以使用一堆不同的技术来完成此任务,但是我的投票是最简单的(亲吻,是)。例如,就我而言,对于年龄预测,自我网络用户的年龄的平均值给出了令人满意的结果(对于约70%的用户错误小于+/- 3年,我的情况就足够了)。这只是一个想法,但是您可以尝试用于年龄预测的加权平均值,将权重定义为访问的当前用户和其他人之间的相似性度量。
  2. 评估预测质量。在所有情况下,Task-1的算法几乎都会产生预测。第二任务是确定预测是否可靠。例如,如果是自我网络和年龄预测:如果用户在他的自我网络中只有一个“朋友”,我们可以信任预测吗?此任务更多的是机器学习:这是一个二进制分类问题。您需要从数据中撰写功能,形成培训和测试样本,并具有对与错预测。创建适当的分类器将帮助您滤除不可预测的用户。但是您需要确定您的功能设置了什么。我使用了许多网络指标,以及关于自我网络中兴趣分布的特征的摘要统计信息。

这种方法不会填充所有差距,而只会填充可预测的差距。

其他提示

存在许多可能填充数据上空隙的可能性。

  • 最重复的值: :用最常见的值填充空白。
  • 创建分布: :根据该分布制作直方图和下降值。
  • 创建一个新标签: :由于您没有信息,因此请勿假设任何值,并创建另一个标签/类别以表明该值是空的。
  • 创建一个分类器: :在变量之间建立一个空间隙和其余数据的关系,并创建一个简单的分类器。这样,填充其余数据。

还有许多其他,但是这些是最常见的策略。我的建议不是要填充并保持未知的未知。

尽管Adesantos已经给出了一个很好的答案,但我想添加一些背景信息。

您正在查看的问题的名称是“归合”。正如Adesantos已经说过的那样,一种可能性是适合分配。例如,您可以将多元高斯拟合到数据。您只会从您知道的样本中获得平均值,并且只能从您知道的样本中计算协方差。然后,您可以使用标准的MVG结果线性地估算丢失的数据。

这可能是插补的最简单的概率方法,并且已经非常参与其中。如果您是神经网络,那么最近提出的方法是Rezende等人的深层高斯模型。但是,了解该方法将需要大量的神经净知识,这是关于马尔可夫链的一些变异贝叶斯知识。

我已经听到的另一种方法是训练生成的随机网络(Bengio等人)。这是通过对您拥有的数据进行训练的自动编码器(在重建损失中忽略缺失值)来完成的。假设您具有重建函数F和一个输入X。然后,您将通过x'= f(x)重建它。然后,您将X'的值与您从X中认识的值重置。 (即,您只保留重建之前缺少的值。)如果您多次这样做,则可以保证从分布中采样给定的值。

但是,无论哪种情况,这些方法都需要有关统计和神经网的知识。

许可以下: CC-BY-SA归因
scroll top