《吴恩达机器学习》笔记——5 多变量线性回归
1 多功能
符号 | 定义 |
---|---|
n n n | 特征量的数目 |
x ( i ) = [ x 1 ( i ) ; x 2 ( i ) ; … ; x n ( i ) ] x^{(i)}=[x^{(i)}_1;x^{(i)}_2;\dots;x^{(i)}_n] x(i)=[x1(i);x2(i);…;xn(i)] | 第 i i i个训练样本的输入特征值 |
x j ( i ) x^{(i)}_j xj(i) | 第 i i i个训练样本中第 j j j个特征量的值 |
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n hθ(x)=θ0+θ1x1+θ2x2+⋯+θnxn |
定
义
x
0
=
1
x
=
[
x
0
x
1
x
2
⋮
x
n
]
∈
R
n
+
1
θ
=
[
θ
0
θ
1
θ
2
⋮
θ
n
]
∈
R
n
+
1
定义x_0=1\\x=\left[\begin{matrix}x_0\\x_1\\x_2\\\vdots\\x_n\end{matrix}\right]\in\mathbb{R}^{n+1}\\\theta=\left[\begin{matrix}\theta_0\\\theta_1\\\theta_2\\\vdots\\\theta_n\end{matrix}\right]\in\mathbb{R}^{n+1}
定义x0=1x=⎣⎢⎢⎢⎢⎢⎡x0x1x2⋮xn⎦⎥⎥⎥⎥⎥⎤∈Rn+1θ=⎣⎢⎢⎢⎢⎢⎡θ0θ1θ2⋮θn⎦⎥⎥⎥⎥⎥⎤∈Rn+1 h θ ( x ) = θ T x h_\theta(x)=\theta^\mathrm{T}x hθ(x)=θTx |
2 多元梯度下降
假设函数 | h θ ( x ) = θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n h_\theta(x)=\theta^\mathrm{T}x=\theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_nx_n hθ(x)=θTx=θ0+θ1x1+θ2x2+⋯+θnxn |
---|---|
模型参数 | θ \theta θ |
代价函数 | J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2m}\sum\limits^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2 |
梯度下降 | 重 复 { θ j : = θ j − α ∂ ∂ θ j J ( θ ) } ( j = 0 , … , n ) 重复\{\\\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)\\\}\qquad (j=0,\dots,n) 重复{θj:=θj−α∂θj∂J(θ)}(j=0,…,n) |
- | 重 复 { θ j : = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) } ( j = 0 , … , n ) 重复\{\\\theta_j:=\theta_j-\alpha\frac{1}{m}\sum\limits^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j\\\}\qquad (j=0,\dots,n) 重复{θj:=θj−αm1i=1∑m(hθ(x(i))−y(i))xj(i)}(j=0,…,n) |
1 特征缩放
目的 | 将特征的取值约束在-1到+1的范围内 |
---|---|
x 0 = 1 x_0=1 x0=1 | - |
x j ( j ⩾ 1 ) x_j\;(j\geqslant1) xj(j⩾1) | 特征缩放 |
特征缩放 | 描述 | 注 |
---|---|---|
- | x j s j \frac{x_j}{s_j} sjxj | s j = max − min s_j=\max-\min sj=max−min:特征值范围 |
均值归一化(mean normalization) | x j − μ j s j \frac{x_j-\mu_j}{s_j} sjxj−μj |
μ
j
=
a
v
g
\mu_j=\mathrm{avg}
μj=avg:特征值平均值 s j = max − min s_j=\max-\min sj=max−min或 s t d \mathrm{std} std:特征值范围或标准差 |
2 学习率
α \alpha α | 后果 |
---|---|
过小 | 收敛速度慢 |
过大 | 1.
J
(
θ
)
J(\theta)
J(θ)可能不会在每次迭代都下降 2. 可能不收敛 |
α \alpha α选择,尝试 |
---|
… , 0.001 , 0.003 , 0.01 , 0.03 , 0.1 , 0.3 , 1 , … \dots,0.001,0.003,0.01,0.03,0.1,0.3,1,\dots …,0.001,0.003,0.01,0.03,0.1,0.3,1,… |
3 正规方程
参数 | 表达 |
---|---|
m m m | 样本数 |
n n n | 特征数 |
x 0 x_0 x0 | 1 |
x ( i ) x^{(i)} x(i) | [ x 0 x 1 ( i ) ⋮ x n ( i ) ] ∈ R n + 1 \left[\begin{matrix}x_0\\x_1^{(i)}\\\vdots\\x_n^{(i)}\end{matrix}\right]\in\mathbb{R}^{n+1} ⎣⎢⎢⎢⎡x0x1(i)⋮xn(i)⎦⎥⎥⎥⎤∈Rn+1 |
y ( i ) y^{(i)} y(i) | y ( i ) y^{(i)} y(i) |
X X X | [ ( x ( 1 ) ) T ( x ( 2 ) ) T ⋮ ( x ( m ) ) T ] = [ x 0 x 1 ( 1 ) ⋯ x n ( 1 ) x 0 x 1 ( 2 ) ⋯ x n ( 2 ) ⋮ ⋮ ⋱ ⋮ x 0 x 1 ( m ) ⋯ x n ( m ) ] m × ( n + 1 ) \left[\begin{matrix}(x^{(1)})^\mathrm{T} \\ (x^{(2)})^\mathrm{T}\\\vdots\\(x^{(m)})^\mathrm{T}\end{matrix}\right]=\left[ \begin{matrix}x_0&x_1^{(1)}&\cdots&x_n^{(1)}\\x_0&x_1^{(2)}&\cdots& x_n^{(2)}\\\vdots&\vdots&\ddots&\vdots\\x_0&x_1^{(m)}&\cdots&x_n^{(m)}\end{matrix}\right]_{m\times(n+1)} ⎣⎢⎢⎢⎡(x(1))T(x(2))T⋮(x(m))T⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡x0x0⋮x0x1(1)x1(2)⋮x1(m)⋯⋯⋱⋯xn(1)xn(2)⋮xn(m)⎦⎥⎥⎥⎥⎤m×(n+1) |
y y y | [ y ( 1 ) y ( 2 ) ⋮ y ( m ) ] m × 1 \left[\begin{matrix}y^{(1)}\\y^{(2)}\\\vdots\\y^{(m)}\end{matrix}\right]_{m\times1} ⎣⎢⎢⎢⎡y(1)y(2)⋮y(m)⎦⎥⎥⎥⎤m×1 |
θ \theta θ | ( X T X ) − 1 X T y (X^\mathrm{T}X)^{-1}X^\mathrm{T}y (XTX)−1XTy |
- | 梯度下降 | 正规方程 |
---|---|---|
优点 | 适用于较大的 n n n | 不需要选择
α
\alpha
α 不需要进行迭代 |
缺点 | 需要选择
α
\alpha
α 需要多次迭代 | 需要计算
(
X
T
X
)
−
1
(X^\mathrm{T}X)^{-1}
(XTX)−1 当 n n n很大时较慢 |