公式输入请参考:
在线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 ) = w 1 ⋅ ϕ 1 ( x , y ) + w 2 ⋅ ϕ 2 ( x , y ) + w 3 ⋅ ϕ 3 ( x , y ) ⋯ 找到特征之后,就可以把
w
1
,
w
2
,
w
3
,
.
.
.
w_1,w_2,w_3,...
w 1 , w 2 , w 3 , . . . 看做是参数,然后就从数据中可以学习得到。 写成向量的形式:
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 ) = ⎣ ⎢ ⎢ ⎢ ⎡ w 1 w 2 w 3 ⋮ ⎦ ⎥ ⎥ ⎥ ⎤ ⋅ ⎣ ⎢ ⎢ ⎢ ⎡ ϕ 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 ~ = a r g y ∈ Y ma x F ( 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 = a r g y ∈ Y ma x 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),...\}
{ ( x 1 , y
1 ) , ( x 2 , y
2 ) , . . . , ( x r , 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)
∀ 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 ) 讲人话就是对于所有的训练集数据
x
r
x^r
x r ,以及所有正确的标记
y
^
r
\widehat{y}^r
y
r 和其他标记
y
r
y^r
y r ,都有上面的那个不等式成立,不等式的意思是x和正确标记的要通过和权重内积计算(不等式左边)比其他所有的x和非正确标记通过和权重的内积计算的值(不等式右边)要大。这个不等式就是对权重
w
w
w 的要求。 还是举一个目标检测的例子
x
1
x^1
x 1 是图片,
y
^
1
\widehat{y}^1
y
1 是图片中目标人物应该对应的红色框框 如果用红点来表示
ϕ
(
x
1
,
y
^
1
)
\phi(x^1,\widehat{y}^1)
ϕ ( x 1 , y
1 ) ,蓝色点表示
ϕ
(
x
1
,
y
)
\phi(x^1,y)
ϕ ( x 1 , 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 ⋅ ϕ ( x 2 , y
2 ) > w ⋅ ϕ ( x 2 , 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),...\}
{ ( x 1 , y
1 ) , ( x 2 , y
2 ) , . . . , ( x r , y
r ) , . . . } 输出:权重向量
w
w
w 伪代码(
w
w
w 存在是前提条件) Initialize
w
=
0
w =0
w = 0
d
o
do
d o For each pair of training example
(
x
r
,
y
^
r
)
(x^r,\widehat{y}^r)
( x r , y
r ) 取一笔训练数据 Find the label
y
~
r
\tilde{y}^r
y ~ r maximizing
w
⋅
ϕ
(
x
r
,
y
)
w\cdot\phi(x^r,y)
w ⋅ ϕ ( x r , 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 = a r g y ∈ Y ma x w ⋅ ϕ ( x r , y ) 这 个 是 q u e s t i o n 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)
w → w + ϕ ( x r , y
r ) − ϕ ( x r , 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
u n t i l w i s n o t u p d a t e d → 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)
ϕ ( x r , y
r ) − ϕ ( x r , y ~ r ) 的值就是上图中的黑色小箭头。 第二次循环:
ϕ
(
x
r
,
y
^
r
)
−
ϕ
(
x
r
,
y
~
r
)
\phi(x^r,\widehat{y}^r)-\phi(x^r,\tilde{y}^r)
ϕ ( x r , y
r ) − ϕ ( x r , y ~ r ) 的值就是上图中的绿色小箭头(蓝色星星到红色星星)。 然后
w
w
w 更新后的w就是长的黑色箭头 第三次循环 这里就由于达到条件,所以循环终止,我自己也有点看不懂,先留着。
后面还有数学证明