参数计算分析——Computing Parameters Analytically
==================
正规方程——Normal Equation
介绍一种有别于梯度下降算法的算法,正规方程
正规方程——一种直接一次性求解 θ θ 的最优值解析。
正规方程
算法
已知:
在参数为1D的情况下:
J(θ)=aθ2+bθ+c
J
(
θ
)
=
a
θ
2
+
b
θ
+
c
在参数为多个的情况下:
θ∈Rn+1,J(θ0,θ1,...,θm)=12m∑mi=1(hθ(x(i))−y(i))2
θ
∈
R
n
+
1
,
J
(
θ
0
,
θ
1
,
.
.
.
,
θ
m
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
求:
∂∂θJ(θ)=···=0 (for every j)
∂
∂
θ
J
(
θ
)
=
·
·
·
=
0
(
f
o
r
e
v
e
r
y
j
)
求解
θ0,θ1,...,θn
θ
0
,
θ
1
,
.
.
.
,
θ
n
**Example:**m=4
Size (feet*feet) | Number of bedrooms | Number of floors | Age of home(years) | Price ($1000) | |
---|---|---|---|---|---|
x0 x 0 | x1 x 1 | x2 x 2 | x3 x 3 | x4 x 4 | y y |
1 | 2104 | 5 | 1 | 45 | 460 |
1 | 1416 | 3 | 2 | 40 | 232 |
1 | 1534 | 3 | 2 | 30 | 315 |
1 | 852 | 2 | 1 | 36 | 178 |
则:
所以 X X 是一个的矩阵, y y 是一个维的向量。其中 m m 是训练样本的数量,是特征的数量。
正规方程的运算公式为:
一般情况下:
m m example ; n n feature.
转换为:
x(i)=⎡⎣⎢⎢⎢⎢⎢⎢⎢—(x(1))T——(x(2))T—...—(x(m))T—⎤⎦⎥⎥⎥⎥⎥⎥⎥∈Rn+1 x ( i ) = [ — ( x ( 1 ) ) T — — ( x ( 2 ) ) T — . . . — ( x ( m ) ) T — ] ∈ R n + 1
根据正规方程,可以得到参数的计算公式为:
梯度下降和正规方程的对比:
m m 个训练样本, 个特征。
梯度下降 | 正则方程 |
---|---|
需要选择学习率 | 不需要选择学习率 |
需要很多次迭代 | 不需要多次迭代 |
特征集较大时运行良好 | 特征集较大时运算较慢 需要计算 (XTX)−1 ( X T X ) − 1 |
O(kn2) O ( k n 2 ) | O(n3) O ( n 3 ) |