struct output SVM

原文地址: 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的基础。

 

结构化SVMsStructural 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)式的右侧),

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

 

 

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值