结构化线性模型
回顾之前的结构化学习,我们可以知道结构化学习可以分为下面三个问题
其中第一个问题是估计关系的时候我们需要给出估计
x
,
y
x,y
x,y 匹配程度的一个具体形式;在第二个问题中,我们往往假设我们已经找到了是函数值最大的
y
y
y;在第三个问题中,给定训练数据,我们如何得到函数
F
(
x
,
y
)
F(x,y)
F(x,y)。
问题一: F ( x , y ) F(x,y) F(x,y) 的具体形式
F
(
x
,
y
)
F(x,y)
F(x,y) 的具体形式如下图所示
其中
ϕ
(
x
,
y
)
ϕ(x,y)
ϕ(x,y) 表示通过输入的数据和输出的共同构成的特征,而
w
w
w 是对应的权重,这里通过权重与特征的线性组合,然后将这些线性组合以向量的点积的形式表示出来,就得到了
F
(
x
,
y
)
F(x,y)
F(x,y)
其中 ϕ ( x , y ) ϕ(x,y) ϕ(x,y) 可以是自己定义的特征,也可以是通过深度学习得到的特征。
问题二:给出一个 x x x 可以得到一个预测标签
这里假设已经得到这样的一个标签
在这里我们假设是可以通过穷举或者某一种方式得到
y
y
y 。
问题三:如何训练得到一个
F
(
x
,
y
)
F(x,y)
F(x,y)
因为在问题1中我们已经知道了这个
F
(
x
,
y
)
F(x,y)
F(x,y) 是关于
w
w
w 的函数,通过训练我们应该使我们的模型满足下面的条件
也就是说正确的标签所得到的函数值要大于所有非正确的标签的函数值。
F(x,y) 的训练过程
输入是训练数据,输出模型的权重,在这里首先将
w
w
w 初始化为0,一直重复以下操作直到
w
w
w 不能被更新。对于某一组数据
(
x
r
,
y
^
r
)
(x^r,\hat{y}^r)
(xr,y^r) ,找到使
w
⋅
ϕ
(
x
r
,
y
^
r
)
w⋅ϕ(x^r,\hat{y}^r)
w⋅ϕ(xr,y^r) 最大的
y
~
r
\tilde{y}^r
y~r,如果得到的 y˜r≠yry~r≠yr,就执行如上的更新。其实这个更新的原则也很好理解,就是让 ww 离正确的值越来越近。