0
点赞
收藏
分享

微信扫一扫

多元线性回归(吴恩达机器学习笔记)


对房价模型增加更多的特征,如房间数,楼层数等,构成了一个含有多变量的模型,模型中特征为 ( x 1 , x 2 . . . x n ) (x_{1},x_{2}...x_{n}) (x1,x2...xn).
在这里插入图片描述

其中n代表特征数量,m代表训练集中的实列数量。

x ( i ) x^{(i)} x(i)代表第i个训练实列。

x j ( i ) x^{(i)}_{j} xj(i)代表特征矩阵中第i行的第j个特征。

​ 多变量的回归的假设h为: h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n h_{\theta}(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n} hθ(x)=θ0+θ1x1+θ2x2+...+θnxn.由于有n+1个参数变量,n个变量,为了简化计算,引入了 x 0 = 1 x_{0}=1 x0=1.则:

X = [ x 0 x 1 x 2 . . . x n ] X=\left[\begin{matrix}x_{0}\\x_{1}\\x_{2}\\...\\x_{n}\end{matrix}\right] X=x0x1x2...xn θ = [ θ 0 θ 1 θ 2 . . . θ n ] \theta=\left[\begin{matrix}\theta_{0}\\\theta_{1}\\\theta_{2}\\...\\\theta_{n}\end{matrix}\right] θ=θ0θ1θ2...θn

h θ ( x ) = θ 0 x 0 + θ 1 x 1 + θ 2 x 2 + . . . θ n x n h_{\theta}(x)=\theta_{0}x_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...\theta_{n}x_{n} hθ(x)=θ0x0+θ1x1+θ2x2+...θnxn= θ T X \theta^{T}X θTX

求解 θ \theta θ

1.梯度下降法

构造代价函数 J ( θ 0 , θ 1 , . . . θ n ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_{0},\theta_{1},...\theta_{n})=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2} J(θ0,θ1,...θn)=2m1i=1m(hθ(x(i))y(i))2

运用梯度下降法:

θ j = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 , . . . , θ n ) \theta_{j}=\theta_{j}-\alpha \frac{\partial}{\partial\theta_{j}}J(\theta_{0},\theta_{1},...,\theta_{n}) θj=θjαθjJ(θ0,θ1,...,θn)

θ j = θ j − α ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \theta_{j}=\theta_{j}-\alpha \frac{\partial}{\partial\theta_{j}}\frac{1}{2m}\sum_{i=1}^{m}({h_{\theta}(x^{(i)})-y^{(i)}})^{2} θj=θjαθj2m1i=1m(hθ(x(i))y(i))2

θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_{j}=\theta_{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}({h_{\theta}(x^{(i)})-y^{(i)}})x^{(i)}_{j} θj=θjαm1i=1m(hθ(x(i))y(i))xj(i)

2.正规方程

正规方程通过是通过对代价函数进行求导,并使其导数为0,来解得 θ \theta θ.假设训练集的特征矩阵为X,训练结果为向量y,则利用正规方程求解出 θ = ( X T X ) − 1 X T y \theta=(X^{T}X)^{-1}X^{T}y θ=(XTX)1XTy

​ 当特征变量数目小于1万以下时,通常使用正规方程来求解,大于一万则使用梯度下降法。

梯度下降法实践

1.特征缩放

以房价为例,假设我们使用两个特征(房屋的尺寸大小和房间的数量),并且令 θ 0 = 0 \theta_{0}=0 θ0=0,尺寸大小为 0 — 2000 0—2000 02000平方尺,而房间数量则是 0 − 5 0-5 05间,则以两个参数分别为横纵坐标轴,绘制出代价函数的等高线图。其图像将会是一个很扁的椭圆形,此时进行梯度下降法时,往往需要很多次迭代才能够收敛。
在这里插入图片描述

为了解决这个问题:就需要对特征进行缩放,如图:
在这里插入图片描述
另一种缩放形式是:

x i = x − u i S i x_{i}=\frac{x-u_{i}}{S_{i}} xi=Sixui

其中 u i u_{i} ui是所有训练集中的特征 x i x_{i} xi的平均值。 S i S_{i} Si是其标准差,但也可以用极差(最大值见最小值)来代替。

2.学习率(learning rate)

​ 由于梯度下降法收敛所需的迭代次数无法提前预支。通常画出代价函数随迭代次数的图像来观察梯度下降法合适趋于收敛。

在这里插入图片描述

​ 当然也可以自带测试收敛,即将代价函数的变化值与某个阈值 w w w(如:0.001)来比较,如果小于该阈值则认为此时收敛。但是选择一个合适的阈值也是比较困,所有更多采用第一种方法。

​ 当代价函数随迭代步数的图像如此变化时,说明此时 α \alpha α偏大,应当选择一个稍微小一点的值。
在这里插入图片描述

α \alpha α过小时,则梯度下降法会收敛的非常慢,需要很多次迭代才会收敛。

尝试挑选的学习率:……,0.001,0.003,0.1,0.3,1,……

举报

相关推荐

0 条评论