让我用一个例子详细地问这个问题:
我有一个包含列(a,b,c,d,e,f,g)的历史数据集
现在我必须根据'a'的值预测(b,c,d,e,f,g)。
用一个真实的例子替换a,b,c,d,e,f,g。
考虑一个数据集,其中包含基于租赁次数和租赁每小时成本的自行车租赁商店一天的收入。
现在我的目标是预测每月的出租数量和每小时的成本,以达到我的5万美元的收入目标。
这能做到吗?我只是想知道怎么做
你基本上想要最大化:
P(B|A)*P(C|A,B)*P(D|A,B,C)*P(E|A,B,C,D)*P(F|A,B,C,D,E)*P(G|A,B,C,D,E,F)
如果数据B,C,D,E,F,G都是id(但确实取决于A
),你基本上是在尝试最大化:
P = P(B|A)*P(C|A)*P(D|A)*P(E|A)*P(F|A)*P(G|A)
解决这个问题的一种方法是使用监督学习。
用您的历史数据训练一组分类器(或回归器,取决于B,C,D,E,F,G的值):A->B, A->C ... A->G
,当给定某个值a
的查询时,使用所有分类器/回归器来预测B,C,D,E,F,G的值。
"诀窍"是为多个输出使用多个学习器。请注意,在I.I.D因变量的情况下,这样做没有损失,因为分别最大化每个P(Z|A)
也会最大化P
。
如果数据不是i.i.d,最大化P(B|A)*P(C|A,B)*P(D|A,B,C)*P(E|A,B,C,D)*P(F|A,B,C,D,E)*P(G|A,B,C,D,E,F)
的问题是NP-Hard的,并且可以从哈密顿路径问题(P(X_i|X_i-1,...,X_1)
> 0,如果有一条边(X_i-1,X_i)
,寻找非零路径)中约简。
这是一个典型的分类问题,一个简单的例子是"如果a>0.5那么b=1 and c=0…如果a<=0.5,则b=0, c=1…"你可能喜欢看nnet或h2o。