绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
多变量线性回归问题
2019-12-11 13:10:16

第5章 多入单出的单层神经网络

5.0 多变量线性回归问题

5.0.1 提出问题

问题:在北京通州,距离通州区中心15公里的一套93平米的房子,大概是多少钱?

房价预测问题,成为了机器学习的一个入门话题,的波士顿的房价数据及相关的比赛已经很多了,但是美国的房子都是独栋的,前院后院停车库游泳池等等参数非常多,初学者可能理解起来有困难。我们不妨用简化版的北京通州的房价来举例,感受一下房价预测的过程。

影响北京通州房价的因素有很多,居住面积、地理位置、朝向、学区房、周边设施、建筑年份等等,其中,面积和地理位置是两个比较重要的因素。地理位置信息一般采用经纬度方式表示,但是经纬度是两个特征值,联合起来才有意义,因此,我们把它转换成了到通州区中心的距离。

我们有1000个样本,每个样本有两个特征值,一个标签值,示例如表5-1。

表5-1 样本数据

样本序号地理位置居住面积价格(万元)

110.0660302.86

215.4774393.04

318.6646270.67

45.2077450.59

............

特征值1 - 地理位置,统计得到:

大值:21.96公里

小值:2.02公里

平均值:12.13公里

特征值2 - 房屋面积,统计得到:

大值:119平米

小值:40平米

平均值:78.9平米

标签值 - 房价,单位为百万元:

大值:674.37

小值:181.38

平均值:420.64

这个数据是三维的,所以可以用两个特征值作为x和y,用标签值作为z,在xyz坐标中展示如表5-2。

表5-2 样本在三维空间的可视化

正向侧向

从正向看,很像一块草坪,似乎是一个平面。再从侧向看,和第4章中的直线拟合数据很像。所以,对于这种三维的线性拟合,我们可以把它想象成为拟合一个平面,这个平面会位于这块“草坪”的中位,把“草坪”分割成上下两块更薄的“草坪”,终使得所有样本点到这个平面的距离的平方和小。

5.0.2 多元线性回归模型

由于表中可能没有恰好符合15公里、93平米条件的数据,因此我们需要根据1000个样本值来建立一个模型,来解决预测问题。

通过图示,我们基本可以确定这个问题是个线性回归问题,而且是典型的多元线性回归,即包括两个或两个以上自变量的回归。多元线性回归的函数模型如下:

y=a0+a1x1+a2x2+⋯+akxky=a0+a1x1+a2x2+⋯+akxk

具体化到房价预测问题,上面的公式可以简化成:

z=x1⋅w1+x2⋅w2+bz=x1⋅w1+x2⋅w2+b

抛开本例的房价问题,对于一般的应用问题,建立多元线性回归模型时,为了保证回归模型具有优良的解释能力和预测效果,应首先注意自变量的选择,其准则是:

自变量对因变量必须有显著的影响,并呈密切的线性相关;

自变量与因变量之间的线性相关必须是真实的,而不是形式上的;

自变量之间应具有一定的互斥性,即自变量之间的相关程度不应高于自变量与因变量之因的相关程度;

自变量应具有完整的统计数据,其预测值容易确定。

5.0.3 解决方案

如果用传统的数学方法解决这个问题,我们可以使用正规方程,从而可以得到数学解析解,然后再使用神经网络方式来求得近似解,从而比较两者的精度,再进一步调试神经网络的参数,达到学习的目的。

我们不妨先把两种方式在这里做一个对比,读者阅读并运行代码,得到结果后,再回到这里来仔细体会表5-3中的比较项。

表5-3 两种方法的比较

方法正规方程梯度下降

原理几次矩阵运算多次迭代

特殊要求XTXXTX的逆矩阵存在需要确定学习率

复杂度O(n3)O(n3)O(n2)O(n2)

适用样本数m<10000m<10000m≥10000m≥10000

分享好友

分享这个小栈给你的朋友们,一起进步吧。

程序员探险
创建时间:2019-08-26 17:52:54
信息大爆炸时代,技术本身并不是重要的,持续学习才是重要的。如何学习决定了你的人生宽度,如何思考垫定了你的人生高度。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • anfield8
    栈主

小栈成员

查看更多
  • 栈栈
  • jerrysun
  • local0
  • neuyu
戳我,来吐槽~