一维线性回归模型扩展
表示非线性函数
在实际应用中,很少遇到线性的输入输出函数,而更多地使用基于参数的线性模型,用于表示非线性的输入和输出。
f θ ( x ) = Σ j = 1 k θ j ϕ j ( x ) = Θ T Φ ( x ) f_{\theta}(x) = \Sigma_{j=1}^{k}\theta_{j}\phi_{j}(x) = \Theta^T\Phi(x) fθ(x)=Σj=1kθjϕj(x)=ΘTΦ(x)
在上式中,
ϕ
j
(
x
)
\phi_j(x)
ϕj(x)是基函数向量
Φ
(
x
)
=
(
ϕ
1
(
x
)
,
ϕ
2
(
x
)
,
⋯
,
ϕ
k
(
x
)
)
\Phi(x)=(\phi_1(x),\phi_2(x),\cdots, \phi_k(x))
Φ(x)=(ϕ1(x),ϕ2(x),⋯,ϕk(x))的第
j
j
j个因子,
θ
j
\theta_j
θj是参数向量
Θ
=
(
θ
1
,
θ
2
,
⋯
,
θ
k
)
T
\Theta = (\theta_1,\theta_2,\cdots,\theta_k)^T
Θ=(θ1,θ2,⋯,θk)T的第
j
j
j个因子。
如果把基函数变为多项式的形式
ϕ
(
x
)
=
(
1
,
x
,
x
2
,
⋯
,
x
k
−
1
)
T
\phi(x) = (1,x,x^2,\cdots,x^{k-1})^T
ϕ(x)=(1,x,x2,⋯,xk−1)T
或者变为
k
=
2
m
+
1
k=2m+1
k=2m+1的三角多项式形式
ϕ
(
x
)
=
(
1
,
s
i
n
x
,
c
o
s
x
,
s
i
n
2
x
,
c
o
s
2
x
,
⋯
,
s
i
n
m
x
,
c
o
s
m
x
)
T
\phi(x) = (1,sin\ x,cos\ x, sin\ 2x, \ cos\ 2x, \cdots, sin\ mx, cos\ mx)^T
ϕ(x)=(1,sin x,cos x,sin 2x, cos 2x,⋯,sin mx,cos mx)T
上述的线性模型就可以表示复杂的非线性模型了。
多维基函数的构造
一维的输入
x
x
x还可以扩展为
d
d
d维的向量形式
x
⃗
=
(
x
(
1
)
,
⋯
,
x
(
d
)
)
\vec{x} = (x^{(1)}, \cdots, x^{(d)})
x=(x(1),⋯,x(d)):
f
θ
(
x
⃗
)
=
Σ
j
=
1
k
θ
j
ϕ
j
(
x
⃗
)
=
Θ
T
Φ
(
x
⃗
)
f_{\theta}(\vec{x}) = \Sigma_{j=1}^{k}\theta_{j}\phi_{j}(\vec{x}) = \Theta^T\Phi(\vec{x})
fθ(x)=Σj=1kθjϕj(x)=ΘTΦ(x)
对于多维的输入向量
x
⃗
\vec{x}
x,有两种常见的根据一维基函数构造多维基函数的方法:
乘法模型
乘法模型是指,把一维的基函数作为因子,通过相乘得到多维基函数的方法:
f
θ
(
x
⃗
)
=
Σ
j
1
=
1
k
′
⋯
Σ
j
d
=
1
k
′
θ
j
1
,
⋯
,
j
d
ϕ
j
1
(
x
(
1
)
)
⋯
ϕ
j
d
(
x
(
d
)
)
f_{\theta}(\vec{x}) = \Sigma_{j_1=1}^{k'}\cdots \Sigma_{j_d = 1}^{k'}\theta_{j_1, \cdots, j_d}\phi_{j_1}(x^{(1)})\cdots\phi_{j_d}(x^{(d)})
fθ(x)=Σj1=1k′⋯Σjd=1k′θj1,⋯,jdϕj1(x(1))⋯ϕjd(x(d))
上式中,
k
′
k'
k′代表各维的参数个数。需要注意的是,所有参数个数为
(
k
′
)
d
(k')^d
(k′)d,随着维数增加而呈现指数级增加。它可以表现下面这样复杂的函数。
加法模型
加法模型是把一维的基函数作为因子,通过使其相加获得多维基函数的方法:
f
θ
(
x
⃗
)
=
Σ
i
=
1
d
Σ
j
=
1
k
′
θ
i
,
j
ϕ
j
(
x
(
i
)
)
f_{\theta}(\vec{x}) = \Sigma_{i=1}^{d}\Sigma_{j=1}^{k'}\theta_{i,j}\phi_j(x^{(i)})
fθ(x)=Σi=1dΣj=1k′θi,jϕj(x(i))
加法模型中所有参数个数为
d
k
′
dk'
dk′,只会随着输入维度
d
d
d呈线性增长。但是其只能表现如下的简单函数:
模型对比
乘法模型具有丰富的表现力,但是参数个数随着维数 d d d增加而呈现指数级增加;虽然加法模型的参数个数随着维数 d d d增加而线性增加,但是其表现力较弱。