美文网首页机器学习与数据挖掘机器学习和人工智能入门机器学习
机器学习(2):简单线性回归 | 一元回归 | 损失计算 | M

机器学习(2):简单线性回归 | 一元回归 | 损失计算 | M

作者: 广州小程 | 来源:发表于2019-05-22 15:23 被阅读2次

前文再续书接上一回,机器学习的主要目的,是根据特征进行预测。预测到的信息,叫标签。

从特征映射出标签的诸多算法中,有一个简单的算法,叫简单线性回归。本文介绍简单线性回归的概念。

(1)什么是简单线性回归

“回归(regression)”是什么?如之前所讲,预测模型可区分为“分类器”跟“回归器”,回归器,就是用来预测趋势变化的,比如预测明天哪支股会涨停,预测某天的降雨量是多少,预测未来一年房价的变化,等等。所以回归就是预测的意思,没有什么高深的。线性是什么意思?就是一条直线,够简单了吧,自然也有“非线性回归”。那“简单”是什么意思,就是只有一个变量的,也叫一元回归,如果是多个变量(拟合面),那就叫多元回归(自然不再是简单线性)。

所以,简单线性回归,就是只有一个输入变量(自变量)的预测,就是这一种:y=ax+b,根据x的值,预测出y。你可以说,简单线性回归,就是一个函数。

简单线性回归是一个预测模型(回归模型),是模型就要被训练,只有不断的训练才能得到最佳的预测状态--虽然这是废话,但的确是这样。同样,简单线性回归的目的,是尽可能拟合所有训练样本以达到最佳的预测状态。什么是拟合?比如画一条直线,尽可能地,让各个点(样本)的预测标签接近或重合实际标签,就是拟合。

为了更好的解释这个概念,我画了一个图,图上面解释了相关概念:


简单线性回归-确定特征与标签的关系

从图上可以看到,如果对于每个点的输入特征,得到的预测标签跟这个点的实际标签都能重合的话,那就是最佳的。然而,实际上很可能做不到所有点都落在直线上,那这时候,找出一点最佳的直线,获得最好的拟合效果,就是机器学习要做的事情。


哪一条线有最好的拟合效果

简单线性回归模型,给出了特征与标签的关系:

y = mx + b

x是输入特征,y是预测标签。

为了让这条直线更好的拟合所有的点,就要调整参数m跟b。

m是直线的角度,叫斜率,在机器学习中叫权重。

b叫截距,在机器学习中叫偏差。

所以,使用简单线性回归算法,机器学习通过大量带标签的样本进行训练,最终调整出一个最佳的m跟b值,从而达到最好的拟合效果。

那么,怎么判断拟合效果呢?怎么知道是变好还是变差了?

(2)如何判断拟合效果

为了判断拟合的效果,这里引入一个概念,叫损失计算。

如果点刚好落在直线上,也就是预测标签跟实际标签一样,那损失为0。

而实际上,更多的情况下,损失并不为0,这时要考虑整体损失。

整体损失越小,拟合越好,比如下图所示,可以明显分辨出左线的拟合效果优于右线(当整体损失达到某个值时,就可以认为已经取得很好的预测效果,可以停止训练):


尽量减小损失

上图中,每个点跟预测标签的距离(也就是点到线的红箭头)称为损失。

整体损失的计算可以有很多办法,这里引入一个简单实用的办法:均方误差(MSE)。

均方误差(MSE),就是求出所有点的损失的平方和,再除以样本的个数。你可以参考这个图的解释:


MSE

以上这个图,来源于这个地址:https://developers.google.com/machine-learning/crash-course/descending-into-ml/training-and-loss

基本上,本文的内容与组织方式,都跟这个地址的教程有直接的关系。

以上介绍了简单线性回归的定义,以及损失计算的一个办法即MSE,接下来小程用实例来演示简单线性回归的实现。

(3)简单线性回归示例

这里以python来演示,主要是因为python易于使用。

首先,给定一些散列的点,你可以参考下图的实现,截图中对部分代码做了解释:


创建散列点

执行这一部分代码,可以看到这样的效果:


散列点绘制图

然后,对这些点进行简单线性回归,也就是画一条拟合线,并取得最好的拟合效果,参考下图:


画拟合线

最终执行的效果是这样的:


拟合线效果

好了,回头看一下吧。本文介绍了简单线性回归的定义以及损失计算的一个办法即MSE,最后用python示范了怎么使用简单线性回归算法绘制一条拟合线。简单线性回归,就是一个预测模型,更直接一点,就是一个函数--你可以说预测模型其实就是函数,就是一个算法设计(比如y=ax+b就是一个最核心的东西),它接受训练后的进化(比如不断地调整参数),从而得到最佳的预测状态。


haha

相关文章

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • 机器学习(2):简单线性回归 | 一元回归 | 损失计算 | M

    前文再续书接上一回,机器学习的主要目的,是根据特征进行预测。预测到的信息,叫标签。 从特征映射出标签的诸多算法中,...

  • 梯度下降求解逻辑回归

    模块: 线性回归函数 sigmoid函数 cost损失函数 二分类逻辑回归 梯度计算 1、线性回归函数 2、 si...

  • 损失函数

    聊聊机器学习中的损失函数 机器学习中的损失函数 平方损失(线性回归) 对数损失(交叉熵损失 softmax, lo...

  • 线性回归

    线性回归是机器学习算法的入门,通过该算法,管中窥豹,研究该算法的精髓之处。 线性回归 线性回归的损失函数为最小二乘...

  • 七月 机器学习工程师特训 第六期 百度网盘分享

    第1课 回归问题与应用 知识点1: 机器学习基本概念知识点2: 线性回归定义和应用知识点3: 线性回归损失函数知识...

  • 机器学习实践系列1——线性回归

    摘要:本文结合实际案例,介绍机器学习的线性回归模型,包括一元线性回归和多元线性回归,以及模型的评估。案例展示用Py...

  • 线性模型

    1. 基本形式 即已知x,y通过机器学习的算法求得w与b 2.线性回归 2.1 问题描述 2.2 一元线性回归 2...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

  • 机器学习常见问题

    1.损失函数 机器学习中损失函数:线性回归使用的就是最小平方和损失函数、Logistic回归使用的交叉熵损失函数....

网友评论

    本文标题:机器学习(2):简单线性回归 | 一元回归 | 损失计算 | M

    本文链接:https://www.haomeiwen.com/subject/vwluzqtx.html