【Coursera-ML-Notes】多元线性模型

模型表示

多变量的线性回归也叫做“多元线性回归”。首先还是先明确几个符号的含义。

  • \(x{^{(i)}_j}\):第\(i\)个训练样本的第\(j\)个特征,比如面积楼层客厅数
  • \(x^{(i)}\):第\(i\)个训练样本的输入
  • \(m\):训练样本的数量
  • \(n\):特征的数量

多元线性模型的假设函数的形式如下:
\[ h_θ(x)=θ_0+θ_1x_1+θ_2x_2+θ_3x_3+...+θ_nx_n \]
对应的\(x_1\)是房子的面积,\(x_2\)是房子的层数,...

用矩阵的形式来表示假设函数可以表示为:

Model Presentation


这里让每个样本的第一个特征\(x{^{(i)}_0}\)都等于1。

梯度下降

和一元模型一样,我们只需要将参数收敛的程序做\(n\)次就可以了。

Parameter convergence


加速梯度下降

有两种方法可以帮助我们加速梯度下降,分别是特征缩放均值归一化

特征缩放

当特征保持在差不多相同的范围时,梯度下降的速度会快一些。

circles


然而实际问题中可能就不这么完美,例如\(x_1\)的范围是0-2000,\(x_2\)的范围是0-5,得到的轮廓图是细长的同心椭圆,收敛所需要的迭代次数因此更多。

noncircle


现在通过特征缩放的方法让每一个特征在相同的尺度范围内,让特征除以特征的范围(max-min)。
\[ x_1=\frac{size}{2000},x_2=\frac{number-of-bedrooms}{5} \]
这样\(x_1,x_2\)的范围都在0-1之间。

均值归一化

均值归一化先减去该特征的平均值\(u_i\),在除以标准差\(s_i\)(max-min)。
\[ x_i:=\frac{x_i-u_i}{s_i} \]
例如,\(x_i\)代表房价在100到2000之间,平均值为1000,那么
\[ x_i:=\frac{x_i-1000}{1900} \]

多项式回归

noncircle


当输入数据的分布是这个样子的,直线的拟合程度是不高的。

可以考虑以一元二次函数来拟合,
\[ h_θ(x)=θ_0+θ_1x_1+θ_2x_2^{2} \]
但是二次函数随着面积增大后面会下降,这与显示不符,进一步考虑三次函数来拟合
\[ h_θ(x)=θ_0+θ_1x_1+θ_2x_2^{2}+θ_3x_3^3 \]
三次函数会带来巨大的特征范围,这是特征缩放将变得十分重要。因此可以进一步考虑将三次替换为平方根
\[ h_θ(x)=θ_0+θ_1x_1+θ_2x_2^{2}+θ_3\sqrt x_3 \]
这就是多项式回归。

正规方程

在梯度下降中,我们通过调节学习率\(\alpha\),迭代的算法来求解使得\(J(θ)\)最优的参数解。正规方程的方法不涉及到调参,而是一步直接求出参数\(θ\)
\[ θ=(X^TX)^{-1}X^Ty \]

noncircle


与梯度下降的对比

梯度下降 正规方程
需要调节\(\alpha\) 不需要调节\(\alpha\)
需要多次迭代 一次求出\(θ\)
在特征\(n\)很大时也能很好工作 \(n\)很大时,在求解\((X^TX)\)时时间复杂度很大

猜你喜欢

转载自www.cnblogs.com/july-3rd/p/10328021.html