条件随机场特征函数

时间:2013-08-18 13:36:44

标签: machine-learning computer-vision feature-extraction

我一直在阅读有关CRF的一些文章,并对功能函数略感混淆。一元(节点)和二元(边)特征f通常具有

形式

f(yc,xc)= 1 {yc = y c} fg(xc)。

其中{。}是指示函数,如果包含的条件为真,则计算结果为1,否则为0。 fg是数据xc的函数,它从数据中提取有用的属性(特征)。

现在在我看来,要创建CRF功能,必须知道真正的标签(yc)。这对于训练来说是正确的,但是对于测试阶段,真正的类标签是未知的(因为我们试图确定它们最可能的值)。

我错过了什么吗?如何正确实施?

1 个答案:

答案 0 :(得分:2)

CRF的想法是为每个标签设置分配一个分数。因此,从理论上讲,您所做的就是计算所有可能的标签分配的分数,然后无论哪个标签获得最大分数都是CRF预测/输出的分数。只有当CRF对不同的标签分配给出不同的分数时,这才有意义。当您以这种方式想到它时,很明显标签必须参与功能功能才能实现。

因此,假设CRF的对数概率函数为F(x,y)。因此,它为数据样本x和标签y的每个组合分配一个数字。因此,当您获得新的数据样本时,测试时间内的预测标签只是argmax_y F(new_x,y)。也就是说,你发现y的值使得F(new_x,y)最大,这就是预测的标签。