《机器学习》学习笔记(二十六)—结构化学习:结构型支持向量机
回顾结构化学习
结构化学习的统一框架可以分为下面两个部分
第一步就是通过训练得到函数,第二步是给定数据,找到最符合的 。
结构化学习要解决的三个问题
首先要确定的问题是,找到函数 的表示形式。第二个问题是,如果给定了一个 和输入数据 如何找到对应的最大的 ,这个一般假设是通过穷举的方法得到的。最后需要解决的问题是给定了训练数据 如何得到分类用模型 。
目标检测的例子
我们可以使用不规则的形状将目标标注出来(第二幅图),可以使用不同的颜色标注出人的不同部位(第三幅图),进而完成动作的识别。在这里我们以简单的边界框的目标检测为例进行说明,同样是分为估计(evaluation),推理(Inference)和训练(Training)三个问题。
1、估计
估计的问题实际上就是构建特征及函数的过程
2、推理
推理的过程实际上就是,假设现在已经存在了一个 ,如果给定一个输入 ,如何找到使 最大的 值。
上面的每一个框的位置实际上就是一个 ,我们需要做的也就是当给定一个输入数据 (其实就是这样图像),找到最为匹配(使得 的值最大的那一个)。
推理这部分中,具体怎样找出最好的那个 实际上是假设已经找出来的,但是却又没有给出具体的方法如何找出,主要原因在于这个过程对于具体问题是需要具体讨论的。在目标检测中常用的是:Branch and Bound algorithm、Selective Search ;在句子标注中常用的是:Viterbi Algorithm;或者也可以使用遗传算法进行搜索。
3、训练
经过训练之后,我们希望函数模型可以实现下面这样的功能
对于输入的训练数据,只有与给定的输入数据相对应的 才会获得最大的标签值。在这里我们认为第一二个问题已经得到了解决,因此忽略它们重点讨论第三个问题。