Structured Learning
结构学习指的是输入和输出都是具有结构化的对象(数列、列表、树、边界框等)。
结构化学习的例子:
统一框架:训练过程,将输入X和输出Y进行匹配,判断两个对象之间的匹配程度。测试过程中,给定输入X,穷举所有的Y找到与X最为匹配的函数Y。
对匹配函数可以解释为:输入X和输出Y同时出现的概率
三个问题:
1.F(X,Y)匹配函数的形式
2.如何穷举所有的Y
3.如何进行训练
DNN和Structure Learning具有相似性,deep learning 可以做是structure learning的特殊情况
Sturctured Perceptron:将所有(x,y)的匹配值映射到一条线上,使得真实的(x,y)比其他(x,y’)的值都要大。
上面这个算法的迭代收敛次数可以证明是有限的
转换上述等式
将问题转换以后,得到与SVM相似的公式
只需要找到可行域,即可
只需要少量的working set就可以确定可行域
Cutting Plane Algorithm的算法流程
更新working set的方式:寻找solution不满足constraint最严重的constraint ,只有当constraint够严重的时候,才加入working set中
如何确定最严重的违反约束条件呢?
如何用Structured SVM解决多分类问题
训练过程
DNN和SVM同时进行训练,进行参数调整