【mechine learning-六-supervise learning之线性回归模型】

监督学习之线性回归模型

线性模型是人工智能监督学习中最广泛的应用,所以有必要先学习一下这个基础模型,做好基石。

线性回归模型

顾名思义,它的涵义就是指用一条直线,来拟合样本数据。还是以预测房价为例:

线性模型

我们有一堆样本数据,如上图中红色表示的数据来表示房屋的面积和价格关系。

然后有人说自己的房子1500 英尺,想让你帮忙估算房子的价格,这时候应该怎么做呢?

当然方法有很多,线性回归模型的做法就是把这些数据拟合成一条直线,得到的就是上图中的那条蓝色的直线
这就是这个模型称作线性模型的原因。

假设我们拟合的这个线性模型是y = x + 50,这时候1500英尺的房子很容易就预测出价格了。

当然这是最简单的线性模型,因为房价不可能只受一个因素影响,比如还有这个地区的犯罪率、靠近地铁站等等因素。所以实际上模型不是简单的y=wx + b的模型,更可能是y = wx1 + wx2 + ...+ b的形式

回归模型

之所以还被称做回归模型,是因为模型输出的数据不是有限的,是个无限可能的具体值,这种输出的模型被称为回归模型,这块在第二节中有过详细的讲解。

如何使用线性模型实现智能化预测呢

寻找数据

首先是寻找合适的数据,还是以我们这次使用的房价来说,那我们就需要关于这个地方的房价的数据,足够多的数据才能能够更好的拟合样本特性。比如我们使用的波士顿房价这个数据集。

打开这个数据集,数据中的数据是这样的:

数据中的每一列都是一个特征,所谓的特征就是房屋尺寸等这些因素,上图中最后一列是房价,按照顺序这些列的说明如下:

可以看到这些列包括犯罪率等等影响因素

这块可以详细看下 https://lib.stat.cmu.edu/datasets/boston

训练模型

有了数据以后,我们就要训练模型了。

把数据中每一行都输入到线性模型中,从输入的这些数据,训练一个线性模型,来拟合这些样本数据。那么它到底做了什么呢,又是怎么达到效果的呢?

输入、特征、目标、预测值、模型

样本数据中除去最后价格列,我们称为模型输入input或者特征features

样本数据中最后一列是我们要预测的价格,称为输出,这些值是真实值,也就是target或者说label

代价函数

要预测的那列为y,而作为依据的则是模型输入x。

模型要做的就是在x和y之间找到一个映射关系,能够从x映射到y,这个y是label,也就是真实值。

但是模型不可能完全拟合样本,它只能无限的逼近这个label,这个训练过程中产生的y,这个y就叫做预测值,而我们训练的整体过程就是在不断减少真实值和预测值之间的差距,但是怎么衡量这些差距,我们叫做代价函数,会在下一节中介绍

相关推荐
sunny-ll40 分钟前
【C++】详解vector二维数组的全部操作(超细图例解析!!!)
c语言·开发语言·c++·算法·面试
嵌入式@秋刀鱼2 小时前
《第四章-筋骨淬炼》 C++修炼生涯笔记(基础篇)数组与函数
开发语言·数据结构·c++·笔记·算法·链表·visual studio code
嵌入式@秋刀鱼2 小时前
《第五章-心法进阶》 C++修炼生涯笔记(基础篇)指针与结构体⭐⭐⭐⭐⭐
c语言·开发语言·数据结构·c++·笔记·算法·visual studio code
简简单单做算法2 小时前
基于PSO粒子群优化的VMD-LSTM时间序列预测算法matlab仿真
算法·matlab·lstm·时间序列预测·pso·vmd-lstm·pso-vmd-lstm
无聊的小坏坏2 小时前
高精度算法详解:从原理到加减乘除的完整实现
算法
愚润求学2 小时前
【递归、搜索与回溯】FloodFill算法(二)
c++·算法·leetcode
泽02022 小时前
C++之list的自我实现
开发语言·数据结构·c++·算法·list
南枝异客3 小时前
四数之和-力扣
java·算法·leetcode
凌肖战3 小时前
C语言中提供的第三方库之哈希表实现
算法·哈希算法
lingling0093 小时前
迁移科技:破解纸箱拆垛场景的自动化升级密码
算法