一位朋友正在使用因子图进行文本挖掘(识别文本中对人的引用),这让我对这个工具感兴趣,但是我很难找到因子图是什么以及如何使用它们。
任何人都可以提供非数学重要因子图的解释,并且重点关注实际应用而不是抽象理论吗?
答案 0 :(得分:21)
它们被广泛用于将问题分解成碎片。因子图(以及消息传递)的一个非常有趣的应用是XBox Live TrueSkill算法。我wrote extensively about it在我的博客上,我试图进行介绍性解释,而不是过于学术性的解释。
答案 1 :(得分:4)
因子图是特定种类公式中存在的变量和因子(公式的部分)之间的依赖关系的图形表示。
假设您有一个函数f(x_1,x_2,...,x_n)
,并且您想为某个参数x_i
计算此函数的边缘化,从而对剩余公式的所有赋值求和。进一步f
可以分解为多种因素,例如
f(x_1,x_2,...,x_n)=f_1(x_1,x_2)f_2(x_5,x_8,x_9)...f_k(x_1,x_10,x_11)
然后,为了计算某些变量的f
的边缘化,您可以使用称为和积(或消息传递)的特殊算法,将问题分解为更小的计算。对于这个算法,哪个变量作为哪个因子的参数出现是非常重要的。这些信息由因子图捕获。
因子图是包含因子节点和变量节点的二分图。如果变量作为因子的参数出现,则因子和变量节点之间存在边缘。在我们的示例中,因子f_2
和变量x_5
之间存在优势,但f_2
和x_1
之间不存在优势。
答案 2 :(得分:3)
因子图是数学模型,只能用数学方程来解释。简而言之,它是解释模型中兴趣变量之间复杂关系的方法。例如:A是温度,B是压力,组分C,D,E以某种方式取决于B,A,而组分K取决于B,A。并且您希望基于A和B预测值K.因此您只知道可见状态。基本的ML库不允许对这种结构进行建模。神经网络做得更好。因子图正好解决了这个问题。 因子图是深度学习的一个例子。当无法呈现具有特征和输出的模型时,因子模型允许构建隐藏状态,层和复杂的变量结构以适应现实世界的行为。例如机器翻译对齐,指纹识别,共同参考等。