多项式拟合和正规方程
特征点的创建和合并
对于一个特定的问题,可以产生不同的特征点,通过对问题参数的重新定义和对原有特征点的数学处理合并拆分,能够得到更加优秀的特征点。
多项式回归
对于更多更加常见的数学模型,其拟合往往是非线性关系的,这时候就需要考虑引用多项式来进行拟合,如: h ( x ) = θ 0 + θ 1 x + θ 2 x 2 + θ 3 x 3 h(x)=θ_0+θ_1 x+θ_2 x^2+θ_3 x^3 h(x)=θ0+θ1x+θ2x2+θ3x3
正规方程算法
(最小二乘法)
在微积分中,对于函数
f
(
x
,
y
)
f(x,y)
f(x,y),其局部最值往往是在
f
x
=
0
f_x=0
fx=0 且
f
y
=
0
f_y=0
fy=0处取得。
因此,对于代价函数
J
(
θ
)
J(θ)
J(θ),求
J
(
θ
)
J(θ)
J(θ)对每一个
θ
i
θ_i
θi的偏导数,令它们都为0,即:
∂
J
(
θ
)
∂
θ
i
=
0
f
o
r
i
=
0
,
1
,
2
,
…
,
n
\frac{∂J(θ)}{∂θ_i}=0~for~i=0,1,2,…,n
∂θi∂J(θ)=0 for i=0,1,2,…,n
称为正规方程(Regular expression)。正规方程提供了一种直接求出最小值的方法,而不需要依赖迭代进行一步一步地运算。
正规方程的矩阵形式
对于数据集
{
(
x
(
1
)
,
y
(
1
)
)
,
(
x
(
2
)
,
y
(
2
)
)
,
.
.
.
,
(
x
(
m
)
,
y
(
m
)
)
}
\{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})\}
{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}, 其中每一个
x
(
i
)
x^{(i)}
x(i)都是一个向量:
x
(
i
)
=
[
x
0
(
i
)
x
1
(
i
)
.
.
.
x
n
(
i
)
]
x^{(i)}=\begin{bmatrix}x_0^{(i)}\\x_1^{(i)}\\...\\x_n^{(i)}\end{bmatrix}
x(i)=
x0(i)x1(i)...xn(i)
构建设计矩阵(Design matrix)
X
=
[
(
x
(
1
)
)
T
(
x
(
2
)
T
.
.
.
(
x
(
m
)
)
T
]
X=\begin{bmatrix}(x^{(1)})^T\\(x^{(2})^T\\...\\(x^{(m)})^T\end{bmatrix}
X=
(x(1))T(x(2)T...(x(m))T
和值向量
y
=
[
y
(
1
)
y
(
2
)
.
.
.
y
(
m
)
]
y=\begin{bmatrix} y^{(1)}\\y^{(2)}\\...\\y^{(m)} \end{bmatrix}
y=
y(1)y(2)...y(m)
将代价函数转化为矩阵方程的形式,再对其求导,令其等于0,得到代价函数取得最小值时的
θ
θ
θ:
θ
=
(
X
T
X
)
−
1
X
T
y
θ=(X^TX)^{-1}X^Ty
θ=(XTX)−1XTy
对比梯度下降算法:
正规方程算法不需要学习率和迭代,但对大规模数量(万数量级以上)的特征点(n),工作效率十分低下。对于一些如分类算法等等更加复杂的算法,正规方程法并不适用于求它们在极值处的θ值。
正规方程的不可逆性
在使用正规方程时,要注意的问题是,如果设计矩阵X不可逆(为奇异矩阵),正规方程会无法使用。
设计矩阵为奇异矩阵的常见情况:
- x-I 不满足线性关系
- 正在运行的学习算法中,特征点的数量大于样本点的数量(使得 m ≤ n m≤n m≤n)
当设计矩阵X不可逆时,应当尝试删除一些特征点,或者考虑正规化(Regularation)。
但是总体而言,矩阵X不可逆的情况是极少数的。