结构化学习(Structured Learning)
2018-07-07 14:25 bluemapleman 阅读(8770) 评论(0) 编辑 收藏 举报本博客是针对李宏毅教授在youtube上上传的Machine Learning课程视频的学习笔记。课程链接
引入
我们之前学习到的学习模型的输入与输出一直以来都是向量(vector),但是在实际问题中,我们的输入输出可能是别的结构。
比如,我们可能会需要输入输出是序列(sequence)、列表(List)或者树(Tree)等等。
例子:
-
结构学习的统一框架
- 训练
1.找到一个函数F
2.F(x,y):评估对象x和y有多么匹配- 推断(测试)
给定一个对象x,尝试获得$\widetilde{y}=arg\ max_{y\in Y}F(x,y)$
-
对象识别任务:学习到一个边框以标记出图像中的某个对象
- 训练过程
- 推断过程
-
总结任务:从给定的长文本中选择一系列句子,并将它们聚集成一个短的总结。
- 检索任务:给定一个词,返回相关的结果list
- 一种对统一框架的理解方式:概率
最大化x和y同时出现的几率,即样例特征和其标签同时出现的几率。
图模型也是一种结构化学习。
不过这种理解方式也有一定问题:
- 几率不能解释所有东西
- 0-1的限制没有必要
- 架构中的三个问题
- F(x,y)应该是什么样子
- 如何解“arg max”问题
- 给定训练数据,如何找到F(x,y)
只要能解决上述三个问题,就能解决结构化学习的问题。(就像集齐三张神卡,就能做法老王233)
线性模型
结构化SVM
给序列贴标签
知识太多,我只想活到老,学到老~