线性回归算法

python机器学习-线性回归(LinearRegression)算法 用python进行线性回归分析非常方便,如果看代码长度你会发现真的太简单。但是要灵活运用就需要很清楚的知道线性回归原理及应用场景。现在我来总结一下用python来做线性回归的思路及原理。 线性回归应用场景 线性回归介绍 机器学习中的线性回归 简单的线性回顾实例 线性回归应用场景 线性回归介绍 ——线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系... 阅读详情

大致思想

机器学习中的线性回归算法最基本的思想:根据数据集(feature+label)模拟出一条近似的曲线,使得每个点的落点都在曲线上或者是曲线的周围不远的地方。

实现方法

1.回归模型

首先设该线性回归函数为y=∑ipropertywix+by=\sum ^{property}_{i}w_{i}x+by=∑iproperty​wi​x+b (w是权重,b是偏置值,x是输入的数据,y表示预测值)。

2.损失函数

损失函数表示预测的值和lable值的差距,这里取平方和的意义在于“放大”预测值和真实值的差距(这里的放大有两种含义:差距大于1平方后会放大差距,差距小于1平方后会缩小差距)。

损失函数:Losslable=12num∑n=1num(y^n−yn)2Loss_{lable}=\dfrac{1}{2num}\sum ^{num}_{n=1}\left( \widehat{y}_{n}-y_{n}\right) ^{2}Losslable​=2num1​∑n=1num​(y​n​−yn​)2

其中num表示数据的规模,y^n\widehat{y}_{n}y​n​表示真是值,yny_{n}yn​表示预测值。这里用欧式距离计算的损失值是平均损失,乘1/2为了的后面求导将系数变为1方便计算

关于过拟合问题:

为了防止过拟合我们应该加入regulation项,因为b是个常数,只需要考虑w就好了。

通常regulation项这么定义:Lossregulation=12∑i=1propertywi2Loss_{regulation}=\dfrac{1}{2}\sum ^{property}_{i=1}w^{2}_{i}Lossregulation​=21​∑i=1property​wi2​

综上损失函数:

Loss=Losslable+Lossregulation=12[1num∑n=1num(y^n−yn)2+β∑i=1propertywi2]Loss=Loss_{lable}+Loss_{regulation}=\dfrac{1}{2}\left[ \dfrac{1}{num}\sum ^{num}_{n=1}\left ( \widehat{y}_{n}-y_{n}\right) ^{2}+\beta \sum ^{property}_{i=1}w_{i}^{2}\right]Loss=Losslable​+Lossregulation​=21​[num1​∑n=1num​(y​n​−yn​)2+β∑i=1property​wi2​](β\betaβ为正则系数)

3.梯度更新

我们的目标就是使得Loss尽可能的减小,所以所要优化的参数就是权重w和偏置值b,所以我们要求得Loss在w和b上的偏微分。

∂Loss∂wi=1num∑n=1num(y^n−∑i=1propertywixi−b)(−xi)+β∑i=1propertywi\dfrac{\partial Loss}{\partial w_{i}}=\dfrac{1}{num}\sum ^{{num}}_{n=1}\left( \widehat{y}_{n}-\sum ^{property}_{i=1}w_{i}x_{i}-b\right) \left( -x_{i}\right) +\beta \sum ^{property}_{i=1}w_{i}∂wi​∂Loss​=num1​∑n=1num​(y​n​−∑i=1property​wi​xi​−b)(−xi​)+β∑i=1property​wi​

∂Loss∂b=1num∑n=1num(y^n−∑i=1propertywixi−b)(−1)\dfrac{\partial Loss}{\partial b}=\dfrac{1}{num}\sum ^{{num}}_{n=1}\left( \widehat{y}_{n}-\sum ^{property}_{i=1}w_{i}x_{i}-b\right) \left( -1\right)∂b∂Loss​=num1​∑n=1num​(y​n​−∑i=1property​wi​xi​−b)(−1)

进行梯度更新:

wnewi=wi−ηw∂Loss∂ωiw_{newi}=w_{i}-\eta _{w}\dfrac{\partial Loss}{\partial \omega _{i}}wnewi​=wi​−ηw​∂ωi​∂Loss​

wnewb=b−ηb∂Loss∂bw_{newb}=b-\eta _{b}\dfrac{\partial Loss}{\partial b}wnewb​=b−ηb​∂b∂Loss​

其中ηw\eta _{w}ηw​为权重w的学习率,ηb\eta _{b}ηb​是偏置值b的学习率。

3.学习率的更新:

这里我们使用比较经典的adagrad(中心思想:刚开始我们更新的时候要让∂Loss∂wi\dfrac{\partial Loss}{\partial w_{i}}∂wi​∂Loss​的值比重较大进而其更新的幅度就较大,当更新一定的次数之后,曲线就越来越接近理想曲线,这时我们希望更新的幅度变小,这样才更容易拟合曲线。我们就要每次训练不断的减小学习率的值)

学习率更新公式:ηn=ηn−1∑i=1n−1gradi2‾\eta _{n}=\dfrac{\eta _{n-1}}{\sqrt{\overline{\sum ^{n-1}_{i=1}grad^{2}_{i}}}}ηn​=∑i=1n−1​gradi2​​​ηn−1​​

Spark MLlib Linear Regression线性回归算法 1、Spark MLlib Linear Regression线性回归算法 1.1 线性回归算法 1.1.1 基础理论 在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条 阅读详情

相关推荐

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5444

机器学习--回归算法--线性回归算法理论

第一部分:导言 阅读本章节,需要一定的数理统计基础 第二部分:干货 1 模型前提 1)线性模型: (,截距以包含在内) 注意:,,均为随机变量,为系数,且满足独立同分布 2) 3)极大似然原理:假设一场试验中,发生A结果,并未发生B结果或者其他结果,那么说明该试验对A有利,进而数学上可以表达为,其中为有利于A的条件 2 建立模型 3 模型问题 ,要求可逆,如何解...

weixin_35733800的博客 1288

高效数据迁移:ICCAP到ADS的数据导入与导出实战指南

本文提供了从ICCAP到ADS进行高效、准确数据迁移的实战指南。针对射频与微波电路设计中的关键挑战,详细阐述了迁移前的战略规划、ICCAP数据的精细化导出(包括脚本化批处理)、ADS数据的多种导入方法(如Data Items、DML模型库及编程化API),并强调了数据完整性与准确性验证的重要性,确保模型参数和仿真结果在平台间可靠传递。

weixin_29291185的博客 131

机器学习基础 线性回归及一些基础概念(正则化、过拟合、欠拟合等)

一、线性回归简介 1. 线性回归应用场景 房价预测 销售额度预测 贷款额度预测 举例: 2. 什么是线性回归 2.1 定义与公式 线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。 特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归 线性回归用矩阵表示举例 那么怎么理解呢?我们来看几个例子 期末成绩:0.7×考试成绩+0.3×平时成绩 房子价格 = 0.02

mengxianglong123的博客 1385

不懂就学之挑战成为WorldQuant Brain顾问的第1天

WorldQuant Brain 是由 WorldQuant 公司开发的一个基于人工智能和机器学习的量化研究平台,旨在帮助量化研究员发现和构建有效的投资策略。WorldQuant 是一家全球领先的量化投资公司,专注于利用数据科学、技术和金融工程开发量化交易策略。

Yanbang1的博客 8383

VisionTransformer改进(11):结合CoordAtt注意力机制

​​CoordAtt模块​​:一个轻量级的坐标注意力机制​​ViT模型​​:基于标准Vision Transformer架构,但集成了CoordAtt模块模型最终通过CNNModel函数封装,虽然名称是CNN,但实际上是一个Transformer模型。引入了轻量级的CoordAtt注意力机制,增强了模型对空间位置信息的捕捉能力保持了ViT的主要优势,同时通过注意力机制提升了特征表示能力设计简洁高效,适合作为基础模型进行进一步研究和应用。

2401_82355416的博客 701

【机器学习经典算法梳理】一.线性回归

【机器学习经典算法梳理】是一个专门梳理几大经典机器学习算法的博客。我在这个系列博客中,争取用最简练的语言、较简洁的数学公式,和清晰成体系的提纲,来尽我所能,对于算法进行详尽的梳理。【机器学习经典算法梳理】系列博客对于机器学习算法的梳理,将从“基本思想”、“基本形式”、“过程推导”、“损失函数”、“sklearn库的参数含义”和“总结”几个方面去进行。下面,就让我开始第一个算法,线性回归吧! ...

谁谓荼苦,其甘如荠 1437

097、Zephyr RTOS驱动开发实战:传感器驱动(陀螺仪)

I2C速率别设太高:LSM6DSO支持最高400kHz,但实际布线有寄生电容时,400kHz容易出错。工业产品我统一用100kHz,稳定压倒一切。FIFO水印值要计算:假设ODR=6.66kHz,每150us产生一组数据,如果水印设32组,则每4.8ms触发一次中断。这个间隔要大于I2C读取耗时(实测约200us),否则中断堆积。电源纹波敏感:陀螺仪对电源噪声敏感,特别是3.3V供电时。我遇到过因为DC-DC纹波太大,陀螺仪输出噪声从0.1dps飙升到2dps。

m0_50546716的博客 118

线性回归与正则化

线性回归与正则化线性回归总述追根溯源,回归(Regression)这一概念最早由英国生物统计学家高尔顿和他的学生皮尔逊在研究父母亲和子女的身高遗传特性时提出。他们的研究揭示了关于身高的一个有趣的遗传特性:若父母个子高,其子代身高高于平均值的概率很大,但一般不会比父母更高。即身高到一定程度后会往平均身高方向发生“回归”。这种效应被称为“趋中回归(Regression Toward the Mean)”

Marcus_XF的博客 8514

Parasoft C++Test软件集成测试(部件测试)_实例讲解

本文以一组功能函数组件作为示例,讲解了如何使用C++Test进行软件集成测试。本文的示例比较简单,但是思路、方法和流程都是通用的,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 730

YOLOv8 | 损失函数改进,最新提出的Shape-IoU,有效涨点

作为检测器定位分支的重要组成,边框回归损失在目标检测任务中发挥巨大作用。现有的边框回归方法,通常考虑了GT框与预测框之间的几何关系,通过使用边框间的相对位置与相对形状等计算损失,而忽略了边框其自身的形状与尺度等固有属性对边框回归的影响。为了弥补现有研究的不足,本文提出聚焦边框自身形状与尺度的边框回归方法。首先我们对边框回归特性进行分析,得出边框自身形状因素与尺度因素会对回归结果产生影响。

kay_545 1913

4.机器学习-十大算法之一线性回归算法(LinearRegression)案例讲解

线性回归是一种用于预测数值型数据的统计学分析方法,它通过建立一个或多个自变量与因变量之间的线性关系来进行预测。线性回归的基本思想是通过拟合最佳直线(也就是线性方程),来描述自变量和因变量之间的关系。这条直线被称为回归线,其目的是使得所有数据点到这条直线的垂直距离(即残差)的平方和最小。这个最小化过程通常称为最小二乘法。以山河作礼。🎖️🎖️:Python领域新星创作者,优快云实力新星认证,优快云内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。💕💕悲索之人烈焰加身,堕落者不可饶恕。

weixin_50804299的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

05- 线性回归算法 (LinearRegression) (算法)

线性回归算法(LinearRegression)存在一定的误差符合正太分布求这个正太分布的最小均值和方差求误差的极小值。

March_A的博客 7154

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

线性回归(Linear regression)算法详解

线性回归是一种通过回归方程建模自变量与因变量线性关系的分析方法。一元线性回归表达式为y=kx+b,多元线性回归为y=w₁x₁+w₂x₂+...+wₙxₙ+b。通过最小化均方误差(MSE)可以找到最佳参数。以房屋面积预测价格为例,当k=2、b=0时,回归曲线完全拟合样本数据(MSE=0)。测试新数据(75,145)时,预测值150与真实值145的误差(MSE=25)揭示了模型的泛化能力。该示例展示了线性回归的基本原理和训练-测试流程,为机器学习模型优化奠定了基础。

Springfield3006的博客 1957

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

3.机器学习-十大算法之一线性回归算法(LinearRegression)原理讲解

线性是指一种关系或者过程,其特点是当输入发生变化时,输出会以同样的比例变化。简单来说,线性是指两个变量之间存在着直接的比例关系。而非线性则是指变量之间没有直接的比例关系,输入的变化不会导致输出的同比例变化。在线性代数中,线性无关是指一组向量中没有向量可以用其他向量的线性组合来表示,反之则称为线性相关。 在数学中,线性关系可以用直线来表示,而非线性关系则无法用直线来描述。这是因为非线性关系通常具有曲线或者其他复杂的形状。在代数学和数学分析学中,如果一种运算同时满足特定的“加性”和“齐性”,则称这种运算是线性

weixin_50804299的博客 1万+

线性回归算法(Linear Regression)及相关案例

线性回归算法的原理和代码实现 大家好,我是W 这次讲线性回归,之前有说逻辑回归(Logistic Regression),虽然逻辑回归负责分类,可是在数据到达二值函数之前的逻辑都是线性回归的逻辑,所以这两个回归是十分相似的。这篇文章的顺序是:1、线性回归算法原理 2、最小二乘法和算法评估标准 3、案例1-简单数据集标准线性回归 4、案例2-简单数据集局部加权线性回归 5、案例3-鲍鱼年龄预测。 1、线性回归算法原理 在学习scikitlearn的时候会有一个经典案例,就是Boston房价预测,就是用回归去做

Alian_W的博客 1万+

线性回归算法(LinearRegression)

写一个简单的线性回归算法(LinearRegression),该算法主要基于最小二乘法来寻找最合适的权重。 即通过最小二乘法解 y = w*X 中的w。这里X是一个向量,X=[x0, x1, x2, x3, …],x0为1,用于抵消常数项,所求的w也实际上是w=[w0, w1, w2, w3, …]。 根据最小二乘法,最合适的权重为(X.T*X)-1*X.T。(不清楚的小伙伴可以看百度百科) 直接...

Q.1的博客 932

python 实现linear regression线性回归算法

线性回归(Linear Regression)是一种在统计学中广泛使用的预测分析方法,它用于建立自变量(解释变量)和因变量(响应变量)之间的线性关系模型。简单来说,线性回归试图找到一个最佳的直线(或更一般地,一个线性模型),使得这条直线能够最好地拟合数据点(即使得实际观测值与通过模型预测的值之间的差异最小)。基本概念Yβ0β1X1β2X2⋯βnXnϵYβ0​β1​X1​β2​X2​⋯βn​Xn​ϵY 是因变量(响应变量),

luthane的博客 1258

线性回归(Linear Regression)算法 简介

线性回归(Linear Regression)算法根据已有的数据去寻找一条直线,让它尽可能地接近这些数据,再用这条直线预测新数据的可能结果,这个结果是一个具体的数值。Y = AX + B根据样本数据求出方程的最优解.

galoiszhou的博客 2173

机器学习之线性回归(Linear Regression)算法

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点,目标是使曲线到数据点的距离差异最小 。线性回归是回归问题中的一种,线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w和b。通长我们可以表达成如下公式:y^\hat{y}y^​ 为预测值,自变量x和因变量y是已知的,而我们想实现的是预测新增一个x,其对应的y是多少。因此,为

年少的勇气已经用完,剩下的就是三思而后行 2万+

<线性回归算法(Linear regression)>——《机器学习算法初识》

机器学习算法初识——线性回归算法(Linear regression)

m0_57859086的博客 1386

机器学习之线性回归算法预测数据

机器学习之线性回归算法预测数据,包括线性回归算法的理解、LinearRegression理解以及预测一元线性回归数据、预测二元线性回归数据、预测多元线性回归数据。

是十一月末的博客 1885

LinearRegression 线性回归算法

线性回归 假设数据集为: D={(x1,y1),(x2,y2),⋯ ,(xN,yN)} \mathcal{D}=\{(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)\} D={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)} 后面我们记: X=(x1,x2,⋯ ,xN)T,Y=(y1,y2,⋯ ,yN)T X=(x_1,x_2,\cdots,x_N)^T,Y=(y_1,y_2,\cdots,y_N)^T X=(x1​,x2​,⋯,xN​)T,Y=(y1​,y2​

weixin_43458628的博客 416
上一篇: 深度学习概述
下一篇: 线性回归案例分析-预测PM2.5
ewqazxcQ
博客等级 码龄8年 50粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值