0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

线性回归是人工智能机器学习里面最基础的算法

倩倩 来源:物联网电子世界 2020-03-25 16:23 次阅读

线性回归是人工智能机器学习里面最基础的算法

回归概念

在介绍线性回归之前先介绍下什么是回归。回归这个概念要追溯到19世纪,最早是由高尔顿提出的,高尔顿是达尔文的表弟,他非常崇拜达尔文,他一生最著名的发现是父辈身高和字辈身高的关系。按照我们日常经验,高个子的父辈子女也是高个子,矮个子的父辈子女也是矮个子,但大家并没有发现另外一个规律,就是高个子的父辈子女平均身高要比父辈低,矮个子父辈身高比父辈高,这个叫做‘回归’平庸,他认为自然界有一种约束力,使得身高的分布不会向高矮两个极端发展,而是趋于回到中心,所以称为回归。

在我们机器学习中的回归其实就是从样本数据中找到一个数学模型,找到事物的客观存在的规律。

如上图所示,蓝色的点为样本点,假设x轴是房屋面积,y轴是房屋价格,那线性回归就是找到这样一条红色的直线,使得它对所有的样本做出做好的拟合,也就是距离所有的样本点平均距离最近,这样当有新的房屋面积需求时候,估计出来的房屋价格误差就是最小的。

原理

我们上面看到了,要拟合一条直线符合样本规律,则需要样本到这条直线的平均距离最近。那怎么计算这个平均距离呢?

上图所示,我们就计算每个样本点到这条直线的‘垂直距离’,注意,是垂直距离,不是点到直线的距离,就是从样本点向直线做一条平行于y轴的直线。大家看上图就很快明白。

那这个距离怎么计算呢?这个就需要使用我们中学学过的几何知识了。

二维坐标下直线的方程为

我们就是求w1和w2 使得每个样本点到这条直线的平均距离最短

假设样本点的坐标为(xi,yi)i=1-n,我们总共有n个样本点。

那所有的样本最短就要把所有点到直线的距离差计算出来,然后平方(消除负号,当然求绝对值也可以,但计算更加繁琐)

得到下面公式

这个公式被称为线性回归的损失函数,参数是 w0 和w1,yi和xi为样本数据。我们要求这个公式的最小值。

这个公式的最小值可以对w0 和w1 分别求导数,得到下面公式

这个是一个二元一次方程可以解出来w0和w1的值。这就是最小二乘法的解法。

梯度下降法

上面的解法虽然能够解出来w0和w1,但计算量很大,容易出错。在工程上更多是使用梯度下降法进行计算。

如上图所示,梯度下降法就是从一个起始点出发,不断的试错,就像闭眼睛下山一样,每次都下降一小步,沿着下降最快的方向,也就是梯度最大的方向,不断的这样迭代,一直到下降的高度到达一个很小的值,就认为到底谷底了。对凸函数来说,梯度下降法找的极值点就是全局极值点。

梯度下降法是一个迭代算法,主要是找到梯度下降的最大的方向,每次下降的步长是需要程序员自己设置的。如果设置得过大,会导致算法震荡,如果过小则收敛速度太慢。如下图的是步长过大跳过了极值点

梯度下降法的计算过程:

α是梯度下降法的步长,两个式子分布是对w0和w1求偏导数。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    46838

    浏览量

    237501
  • 机器学习
    +关注

    关注

    66

    文章

    8375

    浏览量

    132397
  • 线性回归
    +关注

    关注

    0

    文章

    41

    浏览量

    4299
收藏 人收藏

    评论

    相关推荐

    NPU与机器学习算法的关系

    人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源
    的头像 发表于 11-15 09:19 279次阅读

    嵌入式和人工智能究竟是什么关系?

    人工智能的结合,无疑是科技发展中的一场革命。在人工智能硬件加速中,嵌入式系统以其独特的优势和重要性,发挥着不可或缺的作用。通过深度学习和神经网络等算法,嵌入式系统能够高效地处理大量数
    发表于 11-14 16:39

    人工智能机器学习和深度学习存在什么区别

    人工智能指的是在某种程度上显示出类似人类智能的设备。AI有很多技术,但其中一个很大的子集是机器学习——让算法从数据中
    发表于 10-24 17:22 2443次阅读
    <b class='flag-5'>人工智能</b>、<b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>存在什么区别

    《AI for Science:人工智能驱动科学创新》第6章人AI与能源科学读后感

    、优化等方面的应用有了更清晰的认识。特别是书中提到的基于大数据和机器学习的能源管理系统,通过实时监测和分析能源数据,实现了能源的高效利用和智能化管理。 其次,第6章通过多个案例展示了人工智能
    发表于 10-14 09:27

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    人工智能:科学研究的加速器 第一章清晰地阐述了人工智能作为科学研究工具的强大功能。通过机器学习、深度学习等先进技术,AI能够处理和分析海量
    发表于 10-14 09:12

    FPGA在人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)在人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速深度学习的训练和推理过程。由于其高并行性和低延迟特性
    发表于 07-29 17:05

    人工智能机器学习和深度学习是什么

    在科技日新月异的今天,人工智能(Artificial Intelligence, AI)、机器学习(Machine Learning, ML)和深度学习(Deep Learning,
    的头像 发表于 07-03 18:22 1097次阅读

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器学习
    的头像 发表于 07-02 11:25 745次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2)

    ://t.elecfans.com/v/27221.html *附件:初学者完整学习流程实现手写数字识别案例_V2-20240506.pdf 人工智能 语音对话机器人案例 26分03秒 https
    发表于 05-10 16:46

    机器学习怎么进入人工智能

    人工智能已成为一个热门领域,涉及到多个行业和领域,例如语音识别、机器翻译、图像识别等。 在编程中进行人工智能的关键是使用机器学习
    的头像 发表于 04-04 08:41 257次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V1)

    *附件:初学者完整学习流程实现手写数字识别案例.pdf 人工智能 语音对话机器人案例 26分03秒 https://t.elecfans.com/v/27185.html *附件:语音对话
    发表于 04-01 10:40

    深入探讨线性回归与柏松回归

    或许我们所有人都会学习的第一个机器学习算法就是线性回归算法
    的头像 发表于 03-18 14:06 584次阅读
    深入探讨<b class='flag-5'>线性</b><b class='flag-5'>回归</b>与柏松<b class='flag-5'>回归</b>

    人工智能机器学习的顶级开发板有哪些?

    机器学习(ML)和人工智能(AI)不再局限于高端服务器或云平台。得益于集成电路(IC)和软件技术的新发展,在微型控制器和微型计算机上实现机器学习
    的头像 发表于 02-29 18:59 756次阅读
    <b class='flag-5'>人工智能</b>和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的顶级开发板有哪些?

    嵌入式人工智能的就业方向有哪些?

    联网ARM开发 NB-IoT开发及实战 七:python工程师,人工智能工程师 python语法基础 python核心编程 基于OpenCV的机器视觉开发 嵌入式人工智能渗入生活的方方面面,广泛应用
    发表于 02-26 10:17

    深度学习人工智能中的 8 种常见应用

    深度学习简介深度学习人工智能(AI)的一个分支,它教神经网络学习和推理。近年来,它解决复杂问题并在各个领域提供尖端性能的能力引起了极大的兴趣和吸引力。深度
    的头像 发表于 12-01 08:27 3230次阅读
    深度<b class='flag-5'>学习</b>在<b class='flag-5'>人工智能</b>中的 8 种常见应用