原文地址: http://www.cnblogs.com/jian-hello/p/3552105.html

(论文分析) Machine Learning -- Support Vector Machine Learning for Interdependent and Structured Output Spaces

Support Vector Machine Learning for Interdependent and Structured Output Spaces

这篇文章主要描述了如何处理结构化的SVM。这篇文章是Learning Structural SVMs with Latent Variables的基础。

结构化SVMs(Structural SVMs)

什么称为结构化的SVM呢?输入和输出对构成了来自于某个固定但未知的概率分布。不像一般的多分类问题,其中可互换(arbitrarily numbered labeles),而在这里所考虑的是结构化的输出空间。例如,在这个空间中的元素可能是sequences, strings, labeled trees, lattices, 或者graphs。

我们的目的是:

使用输入输出训练样本对来学习得到一个映射函数。现在以自然语言解析的例子来说明。我们感兴趣的函数是,其映射一个给定的句子到一个解析树上。这个解析树如下图所示:

现在我们想要学习一个建立在输入输出对上的discriminant function ,从而我们可以对一个给定的输入x来寻找某个y从而最大化这个discriminant function,从而实现预测。我们可以看到由于y的结构性,我们不可以独立进行考虑。我们建立假设

其中代表参数向量。

在这里我们假设,是输入输出对的联合特征表示(的具体形式依赖于具体问题)

我们依然可以使用自然语言解析的例子来形象地说明。对于一个句子x的解析树(parse tree),每个结点都对应着一个语法规则,并且其拥有一个分数。对于一个解析树,可以使用其上所有结点的的和对解析树进行打分。这个分数可以写为:

,其中是一个统计每个语法规则在解析树中出现的次数的直方图。使用CKY算法,能够依靠寻找结构来最大化从而有效地计算。

当然为了学习结构化的y,我们必须定义loss functions,其是定量衡量真实的y和预测的之间的差异的标准:

loss functions:  

Margins and Margin Maximization

零训练误差的条件可以写成如下的非线性约束的集合:

对于上面式子中的每个非线性不等式都可以使用个线性不等式来替换,其导致了个线性约束:

其中

hard-margin optimization

为了允许在训练集中的误差,我们引入slack variables,从而对a soft-margin criterion进行优化。

在这种定义下,其隐藏地考虑了zero-one classification loss,也就是说分错了代价就是1,分对了代价就是0。但是对于像natural language parsing问题来说(很大),是不恰当的。作者提出两个解决途径,(1)根据代价函数来re-scale the slack variables,也就是说与真实y偏离越大的预测,应该给与更大的惩罚(我们可以看(9)式的右侧),

(2)re-scale the margin。这个方法由Taskar 针对于Hamming loss提出,

至此,我们已经建立好了SVM模型。

接下来作者便看是进行Support Vector Machine learning。这块好难啊!

struct output SVM相关推荐

  1. 学会使用x2struct(json -> struct)

    库资源链接:https://github.com/xyz347/x2struct 试用例子: #include <iostream> #include <string> #in ...

  2. 【转】 利用Open CV和SVM实现问题识别

    转自:http://www.cnblogs.com/justany/archive/2012/11/23/2784125.html http://www.cnblogs.com/justany/arc ...

  3. 2016年之前目标跟踪算法总结

    作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/answer/156025576 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  4. 计算机视觉中,目标跟踪算法的综述

    作者:YaqiLYU 链接:https://www.zhihu.com/question/26493945/answer/156025576 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  5. RxSwift ViewModel定义

    RxSwift ViewModel定义 观察者模式 观察者模式目标:定义对象间一对多的依赖关系,当一个对象(被观察者)状态发生改变时,所有依赖于它的对象(观察者)都得到通知并被自动更新. 对于RxSw ...

  6. face key point with 7 points

    http://cmp.felk.cvut.cz/~uricamic/flandmark/ flandmark Open-source implementation of facial landmark ...

  7. DirectX 高级着色语言HLSL入门

    为了编写着色器程序,我们需要一种高级着色器语言(High-Level Shading Language ,简称HLSL) . 在DirectX 8中,着色器是用低级着色器汇编语言编写的. Direct ...

  8. 机器学习算法与Python实践之(二)支持向量机

    http://blog.csdn.net/zouxy09/article/details/17291543 机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己 ...

  9. 支持向量机实现鸢尾花数据集分类matlab

    问题描述: 在进行感知机,以及逻辑斯蒂回归问题的讨论中,我们都以二分类问题为例.其中对于线性不可分的数据集,感知机和逻辑斯蒂回归已然失效,逻辑斯蒂回归对感知机进行的优化,是进行了一种思维上的" ...

最新文章

  1. Good Bye 2019 SZU cf集训C~D
  2. 某华为程序员爆料:主动离职,公司竟也给n+1,到手15万,华为真良心!
  3. VHDL硬件描述语言(二)——子程序
  4. 我的HTML学习记录(七)
  5. SQL Server 2017 2019 Linux(Centos、Unbuntu16.04、Unbuntu18.04、Unbuntu20.04)安装过程详解
  6. 迁移学习--Xception
  7. 第68节:Java中的MYSQL运用从小白到大牛
  8. 网站程序安全分析器 VB源码
  9. 在列表前方插入一个数据_通俗易懂的Redis数据结构基础教程
  10. tensorflow中random_normal的使用,案例说明,一看便知
  11. POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX )
  12. Java并发(四)——synchronized、volatile
  13. JavaScript实现继承的方式
  14. wordpress迁移以及遇到的一些问题[mysql备份导入导出][固定链接404]
  15. 【Unity 题型】Unity基础
  16. apicloud apploader 连接失败
  17. PSFTP工具的使用教程
  18. JavaSwing_2.2: JButton(按钮)
  19. 墨刀和axure你应该用哪个?
  20. 计算机辅助翻译技术工具,计算机辅助翻译技术对译者的影响

热门文章

  1. 计算机科普知识主题,科普知识3
  2. php中mb substr,php中中文截取函数mb_substr()详细
  3. Spark详解(二):Spark完全分布式环境搭建
  4. 王者服务器维护7月九号,腾讯手游王者荣耀7月9号9点半版本更新,备受期待的S20赛季它来了...
  5. 自动化监控--添加itme的web页面详解
  6. golang struct 转map 及 map[string]*Struct 初始化和遍历
  7. No changes detected
  8. Hibernate 入门小案例
  9. iOS酷我音乐导出工具使用说明和原理介绍(提供下载链接及project源代码)
  10. 考考大家的数学,计算以下计算公式的结果