《机器学习》学习笔记(二十四)—结构化学习介绍
什么是结构化学习
所谓的结构化学习就是输入或者输出具有结构的数据,而在之前的学习之中,输入和输出都是向量。在结构学习中,我们需要学习的是一个函数 。如下图所示,它的输入是一种形式,而输出是另一种形式。
结构化学习的应用
结构化学习的统一框架
在训练的过程中,我们希望找到这样的一个函数 ,用它来评价我们输入与我们的输出的匹配程度。在测试过程中,给定一个 ,我们穷举所有的 找到使得 最大的 即为测试结果。
1、统一框架:目标检测
目标检测所要达到的目的是。输入一张图片,我们使用一个边界框在图像中标注出确定目标的位置。具体的训练的框架如下所示
在这里训练的过程就是在估计边界框与目标之间的匹配程度。而测试的过程如下图所示
穷举所有可能的边界框,从中找出最好的那一个。
2、统一框架:生成摘要
摘要生成的结构学习与上面的目标检测十分相似,首先训练一个函数 使得摘要和文本的匹配程度最好,之后在测试阶段,穷举所有的摘要,从中选择得分最高的那一个。
3、统一框架:检索问题
同样的,首先让关键词与搜索结果最匹配,之后在穷举多有可能结果找到最好的那一个。
从统计的角度看待统一框架
结构化学习的统一框架与概率模型之间有着如下的对应关系
其中学习到的函数 因为是在评估 之间的匹配程度的,所以可以认为是 同时出现的概率;而给定 找最匹配的结果实际上可以认为是再找给定 的一个最大后验概率,所以这个过程实际上课贝叶斯分类的过程是十分相像的。
但是使用概率的方法有有点也有缺点。优点在于概率模型是可解释的,有意义的;缺点在于并不是多有的东西都可以用概率进行描述,其次对于一个连续函数对所有的可能的结果进行求和是没有办法实现的。
结构化学习统一框架要解决的三个问题
问题1 :估计输入间的相似程度应该用什么方法,也就是说 应该长成什么样子
问题2:如何解决那个穷举所有找出最大的问题
问题3:给定了训练数据,怎么样找打合适的
结构化学习与深度神经网络之间的关系
DNN实际上可以看作是结构学习的一个特例,两者之间的关系如下图所示
在上面的神经网络中,我们将 x 输入神经网络中,将输出与 y 做交叉熵,那 就是两者交叉熵的相反数,然后在测试的时候,穷举所有的标签,带入 中找打使他最大的。