作者 | zxhohai
在这里插入图片描述

回归(Regression)模型是指机器学习方法学到的函数的输出是连续实数值,回归模型可以用于预测或者分类,这篇博客中主要整理用于预测的线性回归模型和多项式回归模型。

线性回归

按照机器学习建模的三个步骤,首先需要确定选用的模型,这里就是线性回归(Linear regression)模型,然后将其形式化表达:

h(x)=w1x1+w2x2++wnxn+bh(x)=w1x1+w2x2+⋯+wnxn+b

其中,x1,x2,,xnx1,x2,⋯,xn

因为hh

能够让LL

现在需要选择一种优化算法从众多w,bw,b,常用的方法有梯度下降算法(Gradient Descent)和最小二乘法(Least Square Method,LSM)。

梯度下降法

对多元函数的每一个变量分别求就是梯度。从几何意义上讲,梯度是函数在该点变化最快的方向,因此沿着梯度的反方向,会更加容易找到函数的最小值点。下图是梯度下降的一个直观解释

这里写图片描述

比如我们在一座大山的某个位置想要到达山脚下,由于我们不知道怎么下山,于是决定走一步算一步,每次走到一个位置后,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的方向向下走,直到走到梯度为零的位置。当然这样走下去,有可能不能走到山脚,而是到了某一个局部山峰低处。
因此梯度下降不一定能够找到全局最优解,有可能是一个局部最优解,如果损失函数是凸函数,梯度下降算法就一定能找到全局最优解。
梯度下降算法步骤如下:

  • 随机选取一个初始值w0w0是学习速率,决定了每一次调整的步长

Lw=i=1m2(y(i)(b+wTx(i)))(x(i))Lb=i=1m2(y(i)(b+wTx(i)))(1)∂L∂w=∑i=1m2(y(i)−(b+wTx(i)))(−x(i))∂L∂b=∑i=1m2(y(i)−(b+wTx(i)))(−1)

迭代第二步多次直至梯度为零,或者损失达到允许范围,或者达到迭代次数。

最小二乘法

同样可以采用最小二乘法来对w,bw,b

再把标记也写成向量形式y=(y1;y2;;ym)y=(y1;y2;⋯;ym)

损失函数

L=12(yXŵ )T(yXŵ )L=12(y−Xw^)T(y−Xw^)

ŵ w^

令上式等于零,可得ŵ w^

其中,(XTX)1(XTX)−1不是满秩矩阵,常见的作法是引入正则化(regularization)项。(正则化将专门放在一篇博客记录)

梯度下降和最小二乘法优缺点

1、梯度下降算法适用于所有的最优化问题,但是最小二乘法只适用于线性问题,当回归模型不是线性模型时,需要通过一些技巧转化为线性才能使用最小二乘法。
2、最小二乘法需要求解(XTX)1(XTX)−1的行列式不为0,然后继续使用最小二乘法。另外,当样本量很大时,求解逆矩阵将是一个非常耗时的过程,使用梯度下降算法将比较有优势。
3、当样本数据不是很大,且存在解析解时,最小二乘法比起梯度下降算法计算速度更快。

多项式回归

有些样本数据用线性回归拟合时可能不是特别恰当,这时候可以尝试采用多项式回归,如下图所示,是一个房屋价格与房屋面积的样本数据集,可以明显发现所有数据点并不分布在某一条直线附近,这时候可以考虑尝试二次函数或者三次函数

这里写图片描述

对于多项式回归,可以将x2,x3x2,x3也看作是一个新的属性,这时多项式回归就和线性回归一样了,因此多项式回归的训练方法依旧和线性回归一样。
需要注意的是,能够选择简单的线性模型时就不要选择相对复杂的多项式模型。

参考文献

李宏毅主页

                   更多精彩内容,请关注公众号 “AI科技前线” 微信公众号

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐