前言
吴恩达机器学习第四部分《多变量线性回归》
一、多变量线性回归介绍
引入多种特征后的假设h模型
对于多特征的模型,我们对于其的特征进行分析:
x
i
x^i
xi 为第i个实例
x
j
i
x_j^i
xji 为第个实例的第j个特征值
假设模型h表示为:
h
θ
(
x
)
=
θ
0
+
θ
1
x
1
+
θ
2
x
2
+
⋅
⋅
⋅
+
θ
n
x
n
h_{\theta(x)} = \theta_0+\theta_1x_1+\theta_2x_2+\cdot\cdot\cdot+\theta_nx_n
hθ(x)=θ0+θ1x1+θ2x2+⋅⋅⋅+θnxn
令
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+\cdot\cdot\cdot+\theta_nx_n
hθ(x)=θ0x0+θ1x1+θ2x2+⋅⋅⋅+θnxn
然后上述式子可以表示为向量与矩阵相乘的形式
h
θ
(
x
)
=
θ
T
X
h_{\theta(x)} = \theta^TX
hθ(x)=θTX
其中
θ
T
\theta^T
θT为n+1 维的行向量
X
X
X为(n+1)维的列向量
二、代价函数
其中代价函数用python表示
def Cost(X, y, theta):
inner = np.power(((X * theta.T) - y), 2)
return np.sum(inner) / (2 * len(X))
结果的迭代
def it(X, theta, alpha, m):
return theta - alpha / m * (theta.T*X)*X
三、特征缩放
由于学习率影响着学习的效率和结果,而不同的维度其范围不同,所以学习率对其影响不同。
我们可以通过用变量除以其范围得到【0,1】这样的范围
如:
也可以通过
x
n
=
x
n
−
x
μ
s
n
x_n=\frac{x_n-x_\mu}{s_n}
xn=snxn−xμ
其中
x
μ
x_\mu
xμ 为均值,
s
n
s_n
sn为标准差
四、正规方程
对于某些线性回归问题,正规方程方法是更好的解决方案。如:
正规方程是通过求解下面的方程, 求解代价函数的梯度等于 0, 来找出使得代价函数最小的参数的:
∂
∂
θ
j
J
(
θ
j
)
=
0
\frac{\partial}{\partial\theta_j}J(\theta_j)=0
∂θj∂J(θj)=0
假设我们的训练集特征矩阵为 X,并且我们的训练集结果为向量 y, 则利用正规方程解出向量
θ
=
(
X
T
X
)
−
1
X
T
y
\theta=(X^TX)^{-1}X^Ty
θ=(XTX)−1XTy
推导过程如下
其中
d
A
B
d
B
=
A
T
\frac{\mathrm{d}AB}{\mathrm{d}B}=A^T
dBdAB=AT
d
X
T
A
X
d
X
=
2
A
X
\frac{\mathrm{d}X^TAX}{\mathrm{d}X}=2AX
dXdXTAX=2AX
[1]吴恩达视频
[2]Mo学习平台https://mo.zju.edu.cn/workspa/5f6038a891b86ce2f6e7a418/app