监督学习之线性回归模型
线性模型是人工智能监督学习中最广泛的应用,所以有必要先学习一下这个基础模型,做好基石。
线性回归模型
顾名思义,它的涵义就是指用一条直线,来拟合样本数据。还是以预测房价为例:
线性模型
我们有一堆样本数据,如上图中红色表示的数据来表示房屋的面积和价格关系。
然后有人说自己的房子1500 英尺,想让你帮忙估算房子的价格,这时候应该怎么做呢?
当然方法有很多,线性回归模型的做法就是把这些数据拟合成一条直线,得到的就是上图中的那条蓝色的直线 。
这就是这个模型称作线性模型的原因。
假设我们拟合的这个线性模型是y = x + 50,这时候1500英尺的房子很容易就预测出价格了。
当然这是最简单的线性模型,因为房价不可能只受一个因素影响,比如还有这个地区的犯罪率、靠近地铁站等等因素。所以实际上模型不是简单的y=wx + b的模型,更可能是y = wx~1~ + wx~2~ + ...+ b的形式
回归模型
之所以还被称做回归模型,是因为模型输出的数据不是有限的,是个无限可能的具体值,这种输出的模型被称为回归模型,这块在第二节中有过详细的讲解。
如何使用线性模型实现智能化预测呢
寻找数据
首先是寻找合适的数据,还是以我们这次使用的房价来说,那我们就需要关于这个地方的房价的数据,足够多的数据才能能够更好的拟合样本特性。比如我们使用的波士顿房价这个数据集。
打开这个数据集,数据中的数据是这样的:
数据中的每一列都是一个特征,所谓的特征就是房屋尺寸等这些因素,上图中最后一列是房价,按照顺序这些列的说明如下:
可以看到这些列包括犯罪率等等影响因素
这块可以详细看下 https://lib.stat.cmu.edu/datasets/boston
训练模型
有了数据以后,我们就要训练模型了。
把数据中每一行都输入到线性模型中,从输入的这些数据,训练一个线性模型,来拟合这些样本数据。那么它到底做了什么呢,又是怎么达到效果的呢?
输入、特征、目标、预测值、模型
样本数据中除去最后价格列,我们称为模型输入input或者特征features 。
样本数据中最后一列是我们要预测的价格,称为输出,这些值是真实值,也就是target或者说label。
代价函数
要预测的那列为y,而作为依据的则是模型输入x。
模型要做的就是在x和y之间找到一个映射关系,能够从x映射到y,这个y是label,也就是真实值。
但是模型不可能完全拟合样本,它只能无限的逼近这个label,这个训练过程中产生的y,这个y就叫做预测值,而我们训练的整体过程就是在不断减少真实值和预测值之间的差距,但是怎么衡量这些差距,我们叫做代价函数,会在下一节中介绍