番外.李宏毅学习笔记.ST2.Linear Model


公式输入请参考: 在线Latex公式
课程PPT

Structured Linear Model

上节课说Structured Learning面临着三个问题,如果在问题一中能把 F ( x , y ) F(x,y) F(x,y)的形式定下来,问题三就能解决了,因此一个个的来看:

Problem 1

·Evaluation:What does F ( x , y ) F(x,y) F(x,y) look like?
给定一对X,Y,用一组特征(Characteristics)来描述这一对X,Y,这里的 ϕ 1 , ϕ 2 , ϕ 3 , . . . . \phi_1,\phi_2,\phi_3,.... ϕ1,ϕ2,ϕ3,....都是一个标量scalar,表明,对于 x , y x,y x,y的Character1的强度的值是 ϕ 1 ( x , y ) \phi_1(x,y) ϕ1(x,y),同样的Character2的强度的值是 ϕ 2 ( x , y ) \phi_2(x,y) ϕ2(x,y)
在这里插入图片描述
F ( x , y ) F(x,y) F(x,y) 的方程可以写成:
F ( x , y ) = w 1 ⋅ ϕ 1 ( x , y ) + w 2 ⋅ ϕ 2 ( x , y ) + w 3 ⋅ ϕ 3 ( x , y ) ⋯ F(x,y)=w_1\cdot\phi_1(x,y)+w_2\cdot\phi_2(x,y)+w_3\cdot\phi_3(x,y)\cdots F(x,y)=w1ϕ1(x,y)+w2ϕ2(x,y)+w3ϕ3(x,y)
找到特征之后,就可以把 w 1 , w 2 , w 3 , . . . w_1,w_2,w_3,... w1,w2,w3,...看做是参数,然后就从数据中可以学习得到。
写成向量的形式:
F ( x , y ) = [ w 1 w 2 w 3 ⋮ ] ⋅ [ ϕ 1 ( x , y ) ϕ 2 ( x , y ) ϕ 3 ( x , y ) ⋮ ] F(x,y)=\begin{bmatrix} w_1\\ w_2\\ w_3\\ \vdots\end{bmatrix}\cdot\begin{bmatrix} \phi_1(x,y)\\ \phi_2(x,y)\\ \phi_3(x,y)\\ \vdots\end{bmatrix} F(x,y)=w1w2w3ϕ1(x,y)ϕ2(x,y)ϕ3(x,y)
把两个向量分别看成是: w w w ϕ ( x , y ) \phi(x,y) ϕ(x,y)
F ( x , y ) = w ⋅ ϕ ( x , y ) F(x,y)=w\cdot\phi(x,y) F(x,y)=wϕ(x,y)
有了具体的方程,那么问题三就很好解决了,下面来看具体的例子:

Example: Object Detection

在这里插入图片描述
定义一个特征(这里老师又改口叫feature,都一样) ϕ \phi ϕ,然后把输入的图片x,和输出的框框y带入 ϕ \phi ϕ进行计算。
特征的定义可以自己乱来,例如:
在这里插入图片描述
这里的 ϕ \phi ϕ是Linear的,所以比较弱,可以用CNN来自动提取特征,下面就是对黄色框框使用CNN提取特征的示意图:
在这里插入图片描述

Example: Summarization

在这里插入图片描述

Example: Retrieval

在这里插入图片描述

Problem 2

·Inference:How to solve the “arg max” problem
y ~ = a r g m a x y ∈ Y F ( x , y ) \tilde y=arg\underset{y\in Y}{max}F(x,y) y~=argyYmaxF(x,y)
换成新的表达:
F ( x , y ) = w ⋅ ϕ ( x , y ) → y = a r g m a x y ∈ Y   w ⋅ ϕ ( x , y ) F(x,y)=w\cdot\phi(x,y)\rightarrow y=arg\underset{y\in Y}{max}\space w\cdot\phi(x,y) F(x,y)=wϕ(x,y)y=argyYmax wϕ(x,y)
这个问题先留着,假设这个问题已经解决,直接看第三个问题

Problem 3

Training: Given training data, how to find F ( x , y ) F(x,y) F(x,y)
由于 F ( x , y ) = w ⋅ ϕ ( x , y ) F(x,y)=w\cdot\phi(x,y) F(x,y)=wϕ(x,y),所以我们要学习的是 w w w
我们有的训练数据:
{ ( x 1 , y ^ 1 ) , ( x 2 , y ^ 2 ) , . . . , ( x r , y ^ r ) , . . . } \{(x^1,\widehat y^1),(x^2,\widehat y^2),...,(x^r,\widehat y^r),...\} {(x1,y 1),(x2,y 2),...,(xr,y r),...}
我们要找到 w w w,使其满足:
∀ x r (All training examples) ∀ y ∈ Y − { y ^ r } (All incorrect label for r-th example) w ⋅ ϕ ( x r , y ^ r ) > w ⋅ ϕ ( x r , y ) \forall x^r \text{(All training examples)}\\ \forall y\in Y-\{\widehat{y}^r\}\text{(All incorrect label for r-th example)}\\ w\cdot\phi(x^r,\widehat{y}^r)>w\cdot\phi(x^r,y) xr(All training examples)yY{y r}(All incorrect label for r-th example)wϕ(xr,y r)>wϕ(xr,y)
讲人话就是对于所有的训练集数据 x r x^r xr,以及所有正确的标记 y ^ r \widehat{y}^r y r和其他标记 y r y^r yr,都有上面的那个不等式成立,不等式的意思是x和正确标记的要通过和权重内积计算(不等式左边)比其他所有的x和非正确标记通过和权重的内积计算的值(不等式右边)要大。这个不等式就是对权重 w w w的要求。
还是举一个目标检测的例子
在这里插入图片描述
x 1 x^1 x1是图片, y ^ 1 \widehat{y}^1 y 1是图片中目标人物应该对应的红色框框
如果用红点来表示 ϕ ( x 1 , y ^ 1 ) \phi(x^1,\widehat{y}^1) ϕ(x1,y 1),蓝色点表示 ϕ ( x 1 , y ) \phi(x^1,y) ϕ(x1,y)
可视化后(实际上特征维度肯定不止二维):
在这里插入图片描述
红色的点只有一个,蓝色点有很多个。
再看另外一对数据对
在这里插入图片描述
然后找到一个 w w w,使得红色星星到 w w w直线的距离比蓝色星星的距离要大(这个也是内积的几何意义)
下图中不但表明了大,还表明大了 δ \delta δ

在这里插入图片描述
在这里插入图片描述
当然点和点比较,星星和星星进行比较。上图用数学表示:
w ⋅ ϕ ( x 2 , y ^ 2 ) > w ⋅ ϕ ( x 2 , y ) w\cdot\phi(x^2,\widehat{y}^2)>w\cdot\phi(x^2,y) wϕ(x2,y 2)>wϕ(x2,y)
接下来就是要看如何求 w w w

Solution of Problem 3

算法描述:
输入:训练集:
{ ( x 1 , y ^ 1 ) , ( x 2 , y ^ 2 ) , . . . , ( x r , y ^ r ) , . . . } \{(x^1,\widehat y^1),(x^2,\widehat y^2),...,(x^r,\widehat y^r),...\} {(x1,y 1),(x2,y 2),...,(xr,y r),...}
输出:权重向量 w w w
伪代码( w w w存在是前提条件)
Initialize w = 0 w =0 w=0
d o do do
For each pair of training example ( x r , y ^ r ) (x^r,\widehat{y}^r) (xr,y r)取一笔训练数据
Find the label y ~ r \tilde{y}^r y~r maximizing w ⋅ ϕ ( x r , y ) w\cdot\phi(x^r,y) wϕ(xr,y)
y ~ r = a r g m a x y ∈ Y   w ⋅ ϕ ( x r , y ) 这 个 是 q u e s t i o n   2 \tilde{y}^r=arg\underset{y\in Y}{max}\space w\cdot\phi(x^r,y)\quad这个是question \space2 y~r=argyYmax wϕ(xr,y)question 2,这个之前假设这个问题已经解决了
if y ~ r ≠ y ^ r \tilde{y}^r\neq\widehat{y}^r y~r=y r, update w w w
w → w + ϕ ( x r , y ^ r ) − ϕ ( x r , y ~ r ) w\to w+\phi(x^r,\widehat{y}^r)-\phi(x^r,\tilde{y}^r) ww+ϕ(xr,y r)ϕ(xr,y~r)
u n t i l   w   i s   n o t   u p d a t e d → until \space w \space is\space not\space updated \to until w is not updated We are done!
整个套路和感知机perceptron好像。证明的过程也好像。(后来才知道这个算法的名字就叫structured perceptron)
接下来老师用之前的点和星星的例子来说明算法的流程,直接截图,很简单,不讲解了
第一个循环由于 w w w的初始化值为0,所以随意找一个y就可以更新 w w w的值
在这里插入图片描述
ϕ ( x r , y ^ r ) − ϕ ( x r , y ~ r ) \phi(x^r,\widehat{y}^r)-\phi(x^r,\tilde{y}^r) ϕ(xr,y r)ϕ(xr,y~r)的值就是上图中的黑色小箭头。
第二次循环:
在这里插入图片描述
ϕ ( x r , y ^ r ) − ϕ ( x r , y ~ r ) \phi(x^r,\widehat{y}^r)-\phi(x^r,\tilde{y}^r) ϕ(xr,y r)ϕ(xr,y~r)的值就是上图中的绿色小箭头(蓝色星星到红色星星)。
然后 w w w更新后的w就是长的黑色箭头
第三次循环
在这里插入图片描述
这里就由于达到条件,所以循环终止,我自己也有点看不懂,先留着。

后面还有数学证明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值