2

我正在研究一个看起来像这样的机器学习问题:

输入变量

 Categorical

   a

   b

   c

   d

 Continuous

   e

输出变量

Discrete(Integers)
    v
    x
    y

Continuous
    z

我面临的主要问题是输出变量并不完全相互独立,并且它们之间没有可以建立的关系。也就是说,存在依赖关系,但不是由于因果关系(一个值高并不意味着另一个值也会很高,但另一个值更高的机会会提高)

一个例子是:

v - 广告展示次数

x - 广告点击次数

y - 转化次数

z - 收入

现在,要点击广告,它必须首先出现在搜索中,因此点击在某种程度上取决于印象。

同样,对于要转换的广告,它必须首先被点击,所以转换在某种程度上依赖于点击。

因此,运行 4 个预测每个输出变量的问题实例对我来说没有意义。事实上,应该有某种方法来预测所有 4 个一起处理它们的隐式依赖关系。

但是正如您所看到的,不会有直接的关系,实际上会有一个涉及但无法手动计算的概率。

加上输出变量不是分类的,但实际上是离散的和连续的。

关于如何解决这个问题的任何意见。还指导我了解相同的现有实现以及使用哪个工具包来快速实现解决方案。

只是一个随机猜测 - 我认为贝叶斯网络可以解决这个问题。你怎么看 ?

4

1 回答 1

0

贝叶斯网络在您的情况下会做得很好。您的网络也不会那么大,因此您可以使用精确的推理算法,如图形消除或连接树。如果您决定使用 BN,那么您可以使用 Kevin Murphy 的 BN 工具箱。是一个链接。对于使用 Gibbs 采样进行近似蒙特卡罗推理的更通用的工具箱,您可以使用BUGS

编辑:

举个例子,看看著名的喷水器例子。对于完全离散的变量,您可以在链接中定义条件概率表。例如,您说鉴于今天多云,下雨的概率为 0.8。您定义所有概率分布,其中图表显示因果关系(即如果云然后下雨等)然后作为查询,您向推理算法提出问题,例如,假设草是湿的;是否多云,是否下雨,洒水器是否打开等等。

要使用 BN,需要一个系统模型,该模型根据因果关系(有向无环图)和概率转移进行描述。如果您想了解系统参数,可以使用EM 算法等技术。然而,学习图结构是一项非常艰巨的任务,在这种情况下,有监督的机器学习方法会做得更好。

于 2012-06-04T19:00:29.230 回答