机器学习系列(二)——回归模型
作者 | zxhohai回归(Regression)模型是指机器学习方法学到的函数的输出是连续实数值,回归模型可以用于预测或者分类,这篇博客中主要整理用于预测的线性回归模型和多项式回归模型。线性回归按照机器学习建模的三个步骤,首先需要确定选用的模型,这里就是线性回归(Linear regression)模型,然后将其形式化表达:h(x)=w1x1+w2x2+⋯+wnxn+bh(x)=w1x1+w2
作者 | zxhohai
回归(Regression)模型是指机器学习方法学到的函数的输出是连续实数值,回归模型可以用于预测或者分类,这篇博客中主要整理用于预测的线性回归模型和多项式回归模型。
线性回归
按照机器学习建模的三个步骤,首先需要确定选用的模型,这里就是线性回归(Linear regression)模型,然后将其形式化表达:
其中,x1,x2,⋯,xnx1,x2,⋯,xn
因为hh
能够让LL
现在需要选择一种优化算法从众多w,bw,b,常用的方法有梯度下降算法(Gradient Descent)和最小二乘法(Least Square Method,LSM)。
梯度下降法
对多元函数的每一个变量分别求∂∂就是梯度。从几何意义上讲,梯度是函数在该点变化最快的方向,因此沿着梯度的反方向,会更加容易找到函数的最小值点。下图是梯度下降的一个直观解释
比如我们在一座大山的某个位置想要到达山脚下,由于我们不知道怎么下山,于是决定走一步算一步,每次走到一个位置后,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的方向向下走,直到走到梯度为零的位置。当然这样走下去,有可能不能走到山脚,而是到了某一个局部山峰低处。
因此梯度下降不一定能够找到全局最优解,有可能是一个局部最优解,如果损失函数是凸函数,梯度下降算法就一定能找到全局最优解。
梯度下降算法步骤如下:
- 随机选取一个初始值w0w0是学习速率,决定了每一次调整的步长
迭代第二步多次直至梯度为零,或者损失达到允许范围,或者达到迭代次数。
最小二乘法
同样可以采用最小二乘法来对w,bw,b
再把标记也写成向量形式y=(y1;y2;⋯;ym)y=(y1;y2;⋯;ym)
损失函数
对ŵ w^
令上式等于零,可得ŵ w^
其中,(XTX)−1(XTX)−1不是满秩矩阵,常见的作法是引入正则化(regularization)项。(正则化将专门放在一篇博客记录)
梯度下降和最小二乘法优缺点
1、梯度下降算法适用于所有的最优化问题,但是最小二乘法只适用于线性问题,当回归模型不是线性模型时,需要通过一些技巧转化为线性才能使用最小二乘法。
2、最小二乘法需要求解(XTX)−1(XTX)−1的行列式不为0,然后继续使用最小二乘法。另外,当样本量很大时,求解逆矩阵将是一个非常耗时的过程,使用梯度下降算法将比较有优势。
3、当样本数据不是很大,且存在解析解时,最小二乘法比起梯度下降算法计算速度更快。
多项式回归
有些样本数据用线性回归拟合时可能不是特别恰当,这时候可以尝试采用多项式回归,如下图所示,是一个房屋价格与房屋面积的样本数据集,可以明显发现所有数据点并不分布在某一条直线附近,这时候可以考虑尝试二次函数或者三次函数
对于多项式回归,可以将x2,x3x2,x3也看作是一个新的属性,这时多项式回归就和线性回归一样了,因此多项式回归的训练方法依旧和线性回归一样。
需要注意的是,能够选择简单的线性模型时就不要选择相对复杂的多项式模型。
参考文献
更多精彩内容,请关注公众号 “AI科技前线” 微信公众号

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



所有评论(0)