1、多变量线性回归
1.1多变量线性回归
指样本有多个特征,
n
n
n代表特征数量,
x
(
i
)
x^{(i)}
x(i)代表第
i
i
i个训练实例,是特征矩阵中的第
i
i
i行
每个实例有
n
n
n个特征,
x
j
(
i
)
x_j^{(i)}
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+...+\theta_nx_n
hθ(x)=θ0+θ1x1+θ2x2+...+θnxn
公式中
n
+
1
n+1
n+1个参数和
n
n
n个变量,为了简化公式,引入
x
0
=
1
x_0 =1
x0=1,则公式转化为:
h
θ
(
x
)
=
θ
0
x
0
+
θ
1
x
1
+
θ
2
x
2
+
.
.
.
+
θ
n
x
n
h_\theta(x) = \theta_0x_0+\theta_1x_1+\theta_2x_2+...+\theta_nx_n
hθ(x)=θ0x0+θ1x1+θ2x2+...+θnxn
多变量的代价函数:
J
(
θ
0
,
θ
1
,
.
.
.
,
θ
n
)
=
1
2
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
J(\theta_0,\theta_1,...,\theta_n) = {1\over 2m}\sum_{i=1}^m{(h_\theta(x^{(i)})-y^{(i)})}^2
J(θ0,θ1,...,θn)=2m1i=1∑m(hθ(x(i))−y(i))2
多变量的更新参数:
θ
j
=
θ
j
−
α
∂
∂
θ
j
J
(
θ
)
=
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
\theta_j = \theta_j-\alpha\frac{\partial }{\partial \theta_j}J(\theta)= {1\over m}{\sum_{i=1}^m}{(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j}
θj=θj−α∂θj∂J(θ)=m1i=1∑m(hθ(x(i))−y(i))xj(i)
梯度下降的过程与单变量是一样的:详见吴恩达机器学习-第一周
1.2特征缩放
如果特征值尺度不同,会出现如图的情况,这样进行梯度下降的次数会大大增加。
为了减少梯度下降的迭代次数,一般对特征值的尺度进行缩放。基本方法为:
(
1
)
⟶
x
n
=
x
n
−
μ
n
s
n
,
μ
n
为
平
均
值
,
s
n
为
标
准
差
(1) \longrightarrow x_n = {{x_n-\mu_n}\over s_n},\mu_n为平均值,s_n为标准差
(1)⟶xn=snxn−μn,μn为平均值,sn为标准差
(
2
)
⟶
x
n
=
x
n
−
μ
n
x
m
a
x
−
x
m
i
n
(2)\longrightarrow x_n = {{x_n-\mu_n}\over x_{max}-x_{min}}
(2)⟶xn=xmax−xminxn−μn
一般通常特征的尺度控制在:
−
3
∼
3
-3\sim3
−3∼3和
−
1
3
∼
1
3
-{1\over3}\sim {1\over3}
−31∼31
1.2学习率
图中函数为梯度下降迭代次数和代价函数的值的曲线
-
梯度下降算法每次迭代受学习率的影响:
-
- α \alpha α过小,收敛迭代次数高;
-
- α \alpha α过大,每次迭代可能不会减少代价函数,可能越过局部最小值。
通常可考虑的值有:
α
=
0.01
,
0.03
,
0.1
,
0.3
,
1
,
3
,
10
α=0.01,0.03,0.1,0.3,1,3,10
α=0.01,0.03,0.1,0.3,1,3,10
2、正规方程
正规方程的主要实现方法就是对代价函数求导,取使导数为
0
0
0时候
θ
\theta
θ的值。
正规方程公式:
θ
=
(
X
T
X
)
−
1
X
T
y
\theta = (X^TX)^{-1}X^Ty
θ=(XTX)−1XTy
梯度下降与正规方程的对比:
3、向量化
向量化将使计算更为简单。