基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

回归算法

在机器学习的算法体系中回归算法属于监督学习算法,它能够帮助我们解决标签为连续值的样本。下面是机器学习的算法体系:
基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

当回归分析中只包括一个自变量和一个因变量时,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

房价预测问题

基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

很多用户具有购房的需求,但是往往咨询中介公司往往效率很低,而且难以确定房子的真实价值,试想如果我们已经知道房子的一些数据,那么我们是否可以自己估算出房子的价格呢?这就是房价的预测问题。

我们经常可以获取到一些历史性的数据,如:房子的面积、卧室数、地理位置等和这个房子价格得对应关系,现在如果我们想要购买某一处的房子,我们已经获取到了一些房子的一些信息(房子的面积、卧室数、地理位置等)那么我们如何使用机器学习算法帮助我们准确的估计出这个房子的价格呢?

线性回归算法解决房价预测问题

假如现在我们已经有了如下关于房子的数据:
基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

该房子数据集中样本数为47个,每个样本有四个特征,分别为房子的大小、房屋的数量、房子的层数以及房屋的年限,样本的标签y就是房屋的价格,现在我们已经有了这样的数据集,那么我们如何才能使用线性回归算法学习到这组数据的内在规律从而帮助我们预测房价呢?

基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

将训练集(如上47个训练样本)输入给我们的线性回归算法,这样我们的回归算法通过学习这些数据,从而可以找到线性的规律,那么这个规律就是我们的模型h,以后我们再想要预测房子价格的时候,我们就只需要将新房子的样本特征输入到模型h中,然后就可以得到我们要预测的房子的价格了。

线性回归算法的具体过程

首先需要创建一个关于房价数据的算法模型(Learning Algorithm)
基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

我们的训练集中有四个特征,所以这里创建的算法模型有四个变量x1、x2、x3、x4,但此时算法模型的参数θ是未知的,那么我们此时的任务就是要找到最好的模型参数θ。

现在我们先来定义模型误差,我们通过平方误差来计算此时的算法模型所造成的误差(代价函数):
基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

这就是此时我们模型的误差,要想让模型预测房价准确,就是要找到最好的模型参数θ,唯一一个好办法就是让我们的模型误差尽量的小,所以此时我们可以使用梯度下降算法不算缩小模型的误差:

基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

反复执行梯度下降算法,我们的模型误差越来越小,等到最后我们就可以算出能使得模型误差最小的参数θ了,最终得出算法模型:

基于机器学习之多元线性回归算法解决经典的房屋价格预测的问题

至此,当我们需要预测新的房子的价格的时候,我们只需将新的房子的size、Number of bedroom、Number of floors、Age这些数据特征输入到算法模型中,那么算法模型就可以估计出该房子的价格了。

这就是使用机器学习的线性回归算法在房屋价格预测的应用。