我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

本次笔记补充视频 BV1JE411g7XF 的缺失部分。在另一个UP主上传的2017课程BV13x411v7US中可找到。本节内容 131 分钟左右。

本节内容综述

  1. 内容承接上一节课,我们需要一个更加有效的 FFF 。还是,要解决 Structured Learning 的三个问题。并且用目标检测作为例子。
  2. 对于第一个问题 Evaluation ,我们假设模型 F(x,y)F(x,y)F(x,y) 是线性的。这个具有一般性,为后文讨论打基础。
  3. 对于第二个问题 Inference ,穷举所有 yyy ?实际上,会有比较有效率的方法可以穷举,比如:Branch and Bound algorithm, Selective Search, Viterbi Algorithm 。我们假设问题二已经解决。
  4. 我们今天研究如何解决问题三,即训练问题。并且假设前两个问题都解决了。
  5. 今天的内容分为 8 个层次,见 Outline 。
  6. 首先来讨论 Separable case ,包括算法收敛步数上界的数学证明。
  7. 接着,对 Non-separable 这种情况进行讲解,包括 Cost Function 的定义。
  8. 在 Considering Errors 中,定义了更合的 Cost Function 。
  9. 接着,我们来讨论 Regularization 。
  10. 之后,我们来讨论,为什么我们讲的这个东西是 Structured SVM 。
  11. 最后经过推导,发现 Structured SVM 中约束过多,如何解决?进入 Cutting Plane Algorithm for Structured SVM 。
  12. 简单拓展一下 Multi-class and binary SVM (用于分类问题)。
  13. 最后,我们将讨论与 DNN 结合等内容, Beyond Structured SVM (open question) 。

文章目录

  • 本节内容综述
  • 小细节
    • Example Task: Object Detection
    • Outline
    • Separable case
      • Assumption: Separable
      • Structured Perceptron
      • Math
      • How to make training fast?
    • Non-separable
      • Defining Cost Function
      • (Stochastic) Gradient Descent
    • Considering Errors
      • Defining Error Function
      • Another Cost Function
      • Gradient Descent
      • Another Viewpoint
      • More Cost Functions
    • Regularization
    • Structured SVM
    • Cutting Plane Algorithm for Structured SVM
      • Cutting Plane Algorithm
      • Find the most violated one
    • Multi-class and binary SVM
      • Multi-class SVM
      • Binary SVM
    • Beyond Structured SVM (open question)
      • Involving DNN when generating Φ(x, y)
      • Jointly training structured SVM and DNN
      • Replacing Structured SVM with DNN

小细节

Example Task: Object Detection


结构化学习可以做的目标检测方法不仅仅是画正方形,如上,右边的骨骼分析等等都可以完成。

Outline

  • Separable case
  • Non-separable case
  • Considering Errors
  • Regularization
  • Structured SVM
  • Cutting Plane Algorithm for Structured SVM
  • Multi-class and binary SVM
  • Beyond Structured SVM (open question)

Separable case

Assumption: Separable


如上,我们定义了一个 δ\deltaδ ,同形状各点在线上的投影,一定大于等于 δ\deltaδ 。

我们希望红色比同形状的蓝色的内容,离线更远。

Structured Perceptron


如上,可以使用结构化感知器来解决这个问题。

Math

将证明,最多迭代 (R/δ)2(R / \delta)^2(R/δ)2 次,就可以找到最优解:

  • δ\deltaδ:margin
  • RRR:the largest distance between ϕ(x,y)\phi(x,y)ϕ(x,y) and ϕ(x,y′)\phi(x,y')ϕ(x,y′)

而与 space of y 无关。


如上,w 发现一笔错误,就会更新。y^\hat{y}y^​ 是某一个正确的 y ,而y~\tilde{y}y~​是某一个错误的数据 y 。

并且,假设存在一个 w^\hat{w}w^ 满足上图性质,可以不失一般性地假设 ∣∣w^∣∣=1||\hat{w}||=1∣∣w^∣∣=1 。


如上,发现,随着更新的进行,w^\hat{w}w^ 与 wkw^kwk 的夹角在变小,即 cos 的值越来越大。

而把 w^⋅wk\hat{w}\cdot w^kw^⋅wk 拆开,得到如上关系:w^⋅wk≥w^⋅wk−1+δ\hat{w}\cdot w^k \ge \hat{w}\cdot w^{k-1} + \deltaw^⋅wk≥w^⋅wk−1+δ。


而又有 w0=0w^0 = 0w0=0,因此由递推式,得到关系:w^⋅w0≥kδ\hat{w}\cdot w^0\ge k\deltaw^⋅w0≥kδ。

此外,我们考虑 cos 中的分母,∣∣wk∣∣||w^k||∣∣wk∣∣。


如上,发现展开后最后一项是小于 0 。假设两个特征向量的距离一定小于 R2R^2R2 ,可以进行如上推导。


因此,分子分母都有了一个范围,最后得到 coscoscos 的下界。

因此,得证。

李老师只是想告诉我们,尽管反例样本可能有很多,但是算法的更新并没有我们想象的困难。

How to make training fast?


如上,从 δ\deltaδ 与 RRR 考虑,加快训练速度。但是增加其中一者,另一者就也跟着增加。

下面我们开始考虑 Non-separable 。

Non-separable


如上,对于这种情况,我们仍有 w 可以进行优化。如上图,左边的 w 就好于右边的 w 。

Defining Cost Function

Define a cost C to evaluate how bad a w is, and then pick the w minimizing the cost C.

如上 C 最小值一定是 0 ,因此 C 是小于等于 0 的。

(Stochastic) Gradient Descent

Find w minimizing the cost C:
C=∑n=1NCnC=\sum_{n=1}^N C^nC=n=1∑N​Cn
Cn=max⁡y[w⋅ϕ(xn,y)]−w⋅ϕ(xn,y^n)C^n = \max_y [w\cdot \phi(x^n,y)]-w\cdot \phi(x^n , \hat{y}^n)Cn=ymax​[w⋅ϕ(xn,y)]−w⋅ϕ(xn,y^​n)

我们只需要求出 ∇Cn\nabla C^n∇Cn 。

这其实可以计算的。

如上。

因此,其算法如上(上图有一处笔误,y~n\tilde{y}^ny~​n应该等于argmax)。

Considering Errors


如上,我们不应把所有错误都平等地对待。

Defining Error Function


如上,不同问题有不同检测方式,比如目标检测,如 IoU ,交并比。

Another Cost Function


因此,我们重新定义了 Cost Function 。我们管这段指标上的距离叫 margin 。

Gradient Descent


如上,重新定义了 yyy 。为了应对问题 2.1 ,要自己根据 case 进行设计一下。

Another Viewpoint


如上,有另一种观点,我们实际上在优化的,是cost function 的 upper bound 。

如上是证明,很简单。

More Cost Functions


如上,还有其他费用函数,如 Margin rescaling , Slack variable rescaling 。

Regularization


Training data and testing data can have different distribution. w close to zero can minimize the influence of mismatch.

如上,在迭代中加一项,weight decay 。

Structured SVM


如上,我们对 CnC^nCn 做一个移项,进而得出对所有的 y 的一个规律。

因此,我们转换出了一个规划问题。并且,把 CnC^nCn 记为 ϵn\epsilon^nϵn ,叫做松弛变量。

如上,如果 y=y^ny=\hat{y}^ny=y^​n ,那么 ϵn≥0\epsilon^n \ge 0ϵn≥0 。因此,对于所有 y≠y^ny\neq\hat{y}^ny​=y^​n 的情况,则列出原式;而此外,再加上 ϵn≥0\epsilon^n \ge 0ϵn≥0 就可。

此外,我们还可以从“松弛变量”本意来理解,如果没有松弛变量,我们可能很难满足所有约束。

这个符合 SVM 的形式,可以用 SVM package 中的 solver 来解决。

Cutting Plane Algorithm for Structured SVM


如上,www与ϵ\epsilonϵ形成的平面为空间中的彩色曲面。但是,每个约束都是一个线条,限制其只有某一边可取。

Cutting Plane Algorithm


如上,在没有约束时,右下角值最小。我们只要找到“砖石”即可。而很多约束其实都没有用。我们将起作用的边的集合叫做 working set 。

使用迭代的方法去找。

如上,动态地检测哪些是起了作用的约束。求解的同时,可以改变(增加) working set 中的原始:

  • 使用 working set 中的约束求解,让这个 QP 问题可解;
  • 每次求解完成,看哪些约束没有被满足,如果有,那就把最没有被满足的那个,加入 working set 。

Find the most violated one

什么是“最没有被满足的那个”呢?

如上,定义一个 Degree of Violation 。

最终,Cutting Plane Algorithm 如上图所示。直到 working set 不再改变为止。

Multi-class and binary SVM

Multi-class SVM


对于多类别 Multi-class SVM 的建模如上。

对于 Inference ,就是穷举标签。

在训练中,可以进行些推导,将等式关系带回原约束式。并且,还可以定义错误的惩罚。

Binary SVM


对于二分类问题,则可以定义更多特殊的关系。可以推导回原来的SVM。

Beyond Structured SVM (open question)

Involving DNN when generating Φ(x, y)


宏毅老师的实验室在 2010 年用这个方法做了语音辨识。

Jointly training structured SVM and DNN


如上,可以把 θ\thetaθ 与 www 即神经网络与 SVM 的参数一起学习。

Replacing Structured SVM with DNN


此外,也可用 DNN 代替 SVM 。

【李宏毅2020 ML/DL】补充:Structured Learning: Structured SVM相关推荐

  1. 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM

    李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...

  2. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  3. 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  4. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  5. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  6. 【李宏毅2020 ML/DL】P15 Why Deep-

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  7. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  8. 【李宏毅2020 ML/DL】补充:Structured Learning: Introduction Structured Linear Model

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本次笔记补充视频 BV1JE411g7XF 的缺失部分.在另一个UP主上传的2017课程BV13x411v7U ...

  9. 【李宏毅2020 ML/DL】P2 Regressio - Case Study

    回归-案例研究 问题的导入:预测宝可梦的CP值 Estimating the Combat Power(CP) of a pokemon after evolution 我们期望根据已有的宝可梦进化前 ...

最新文章

  1. 7个小技巧,老板再也无法留我加班了...
  2. 数据不平衡的解决办法
  3. 一周一论文(翻译)——[SIGMOD 19] Elasticutor:Rapid Elasticity for Realtime Stateful Stream Processing
  4. oracle实例文件,ORACLE实例管理之参数文件
  5. 分布式锁中的王者方案:Redisson
  6. android服务器 性能,Android性能优化(中)
  7. i++和++i作为参数时的编译器处理方式分析
  8. FD.io VPP:vlib buffer pool(vlib_buffer) 内存初始化
  9. java.sql.SQLException: Protocol violation 问题解析
  10. parsley.js自定义验证规则之大小写
  11. 个人信用报告机构查询中有:深圳前海微众银行股份有限公司,为什么???
  12. Ruby + Passenger 5 分钟 入门
  13. java绘制图片验证码两种方式实现,点击【图片】刷新和点击【看不清换一张】刷新
  14. Appium自动化测试元素定位方式
  15. Java中BIO,NIO,AIO
  16. 输入框的三种触发事件
  17. 十个细节透露女人心思
  18. PMI-ACP敏捷认证练习题(六)英文版
  19. 电子邮件协议(SMTP,MIME,POP3,IMAP)
  20. ATI X200驱动安装

热门文章

  1. Java爬坑 -- 解决redis序列化java8 LocalDateTime错误的问题
  2. 使用nginx做反代时遇到413 Request Entity Too Large的解决方法
  3. Hybrid App技术批量制作APP应用与跨平台解决方案
  4. npm install vs. update - 有什么区别?
  5. 我正在运行哪个版本的PostgreSQL?
  6. win11在dev渠道升级怎么保留原来的文件 windows11渠道升级保留原文件的方法步骤
  7. RabbitMQ的工作模式Topics  通配符,test测试代
  8. Linux命令:SAMBA配置与win10共享
  9. itextpdf添加表格元素_基操勿6第四期:PPT表格美化
  10. mysql 优化count_MySQL优化之COUNT(*)效率