我是机器学习的新手,但我有一个有趣的问题。我有大量的人和访问过的网站。有些人指出了性别、年龄和其他参数。现在我想将这些参数恢复给每个用户。
我要寻找哪种方式?哪种算法适合解决这个问题?我熟悉神经网络(监督学习),但似乎它们不适合。
我是机器学习的新手,但我有一个有趣的问题。我有大量的人和访问过的网站。有些人指出了性别、年龄和其他参数。现在我想将这些参数恢复给每个用户。
我要寻找哪种方式?哪种算法适合解决这个问题?我熟悉神经网络(监督学习),但似乎它们不适合。
存在许多填充数据空白的可能性。
还有许多其他策略,但这些是最常见的策略。我的建议是不要填充和保持未知什么是未知的。
尽管 adesantos 已经给出了很好的答案,但我想补充一点背景信息。
您正在查看的问题的名称是“插补”。正如 adesantos 已经说过的,其中一种可能性是拟合分布。例如,您可以将多元高斯拟合到数据中。您将仅从您知道的样本中获得平均值,并且您仅从您知道的样本中计算协方差。然后,您可以使用标准 MVG 结果对缺失数据进行线性插补。
这可能是最简单的概率插补方法,并且已经相当复杂了。如果你是一个神经网络,最近提出的一种可以做到这一点的方法是 Rezende 等人的深度潜在高斯模型。然而,理解该方法需要大量的神经网络知识,相当多的关于马尔可夫链的变分贝叶斯知识。
另一种我听说效果很好的方法是训练生成随机网络(Bengio 等人)。这是通过对您拥有的数据训练去噪自动编码器来完成的(忽略重建损失中的缺失值)。假设你有一个重建函数 f 和一个输入 x。然后你将通过 x' = f(x) 重建它。然后用你从 x 中知道的值重置 x' 的值。(即你只保留重建之前丢失的值。)如果你这样做了很多次,你可以保证从给定你知道的值的分布中抽样。
但无论哪种情况,这些方法都需要相当多的统计知识和神经网络知识。
我遇到了几乎相同的问题:“恢复”社交网络用户的年龄、性别、位置。但是我使用了用户的自我网络,而不是访问过的网站统计数据。我面临两个几乎独立的任务:
这种方法不会填补所有空白,而只会填补可预测的空白。