Structured learning介绍
对于传统的机器学习,输出一般为数字型的数据类型,例如label或者是vector。而与实际情况更为接近的是,输出可以要求为一张image或者是一段文字等等。此时对应的学习称为structured learning。
应用场景包括语音辨识、翻译、语法分析器(Syntactic Paring)、目标检测、文本总结、搜索(retrieval)等等。
对于structured learning,存在unified framework,对于输入x,给定输出y的形式,给定评价函数F(x,y),如果输出y反映的效果更好,则评价函数的输出越大,代表x和y的compatibility越好。这可以给出评价函数F(x,y)。
对于testing data,给定一个输入x,则穷举所有的y,找到使F(x,y)最大的那项y,得到结果。
另一种解释structured learning的方式如下图,基于概率的解释,训练过程是求解一个概率模型,使得x和y的共存几率最大,而测试则是已知概率模型,求解y出现的最佳情况。
Structured learning需要解决的三个问题
- F(x,y)模型的具体情况,对于均为object的输入和输出,很难描述F(x,y)的具体情况;
- 如何解决 y=argmaxy∈YF(x,y) ,因为空间Y比较大,如何去确定合适的y;
- 如何进行合适的training,保证正确的F(x,y)大于空间中其他的F(x,y_bar)。