机器学习基础学习之线性回归

news2024/12/23 13:08:09

文章目录

    • 首先从**目标函数**开始
    • 梯度下降法
    • 结合两个公式,让目标函数梯度下降
    • 多项式回归,多重回归
    • 解决办法:随机梯度下降

首先从目标函数开始

假设下图反映了 投入多少广告费,产生了多少销售量的关系
在这里插入图片描述

图中每个点都是一个数据,每个点都有x,y的坐标,记作x**(i),y**(i),i表示第几个数据。
那么问题就是找到一个函数去描述这个趋势,如此才能预测未来。

在这里插入图片描述

  • 先解释 y-f(x)的意思 首先每个数据都有x坐标和y坐标,现在要求函数,就是我设个函数,给个x,然后这个函数的y和数据的y差多少,如果离得很近,那么差距几乎就是0,那么这个函数就可以表示这个趋势了
  • z就是 这个数据实际的y 和 随便搞了一个函数的y的差值,只要不断调整这个函数使得差值越来越小,那么我们最终就可以找到 这个函数了
  • y和x上面都是 小i 代表不同数据(就是散点图中的点),有n个数据,那么就是这样减n次,然后把结果加起来,看看是否接近0,就知道这函数能不能代表这个趋势
  • 为什么要平方,万一出现下图这种情况,负值和正值 最终相加虽然结果趋于0,但是明显这个函数无法代表这个图的趋势
  • 在这里插入图片描述
  • 之所以加二分之一,和用平方不用绝对值 都是为了方便后面微分计算
  • E(θ)又称为目标函数,解决最优化问题

梯度下降法

求最小值
A:=B 表示用B的结果在代入到A 继续运算
在这里插入图片描述
η是学习率
假设g(x)= (x-1)**2
g(x)的导数就是2x-2
设学习率为1,x从3开始
运算如下
在这里插入图片描述
在这里插入图片描述
可以看到 值反复横跳,无法求到最小值
设η为0.1,运算如下
在这里插入图片描述
在这里插入图片描述
可以求到最小值

结合两个公式,让目标函数梯度下降

设f(x)= θ0+θ1*x
求出θ的最小值
在这里插入图片描述
在这里插入图片描述
一个一个求,求θ0,等于先求E中f的偏导数 在求f(x)中θ0的偏导数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
求y的也同理
记住E目标函数的偏导数是 在这里插入图片描述
现在只需要求函数中θ的偏导数,在乘这个就行了

多项式回归,多重回归

刚刚公式f(x)里只有一个x,实际问题往往比较复杂,不能用一个未知数表示
在这里插入图片描述
现在要变成这样
在这里插入图片描述
在这里插入图片描述
用向量矩阵来描述这个函数,把θ转置与x相乘就可以得到上图函数的公式
在这里插入图片描述
由于求第几个θ的偏导数,那么第几个x就是它的常数,那么结果也就是也就是尝数,所以θ的偏导数结果直接等于对应位置的x
拿这个去乘固定的E的偏导数,然后在把所有数据也就是i,比如有n个数据,那么就这样求n次,把n次的结果加起来,乘以学习率,在用原θ值减去这个值,赋值给θ称成为新的θ值,在用这个值减去上述计算。。。。。。。。直到求到该θ的最小值
如果有n个数据,求每个西塔需要求n次梯度下降,每次梯度下降要把每个数据与函数的结果求偏导计算一遍,n个西塔,每个n次梯度下降,每次梯度下降n个训练数据要计算。。。。。。
结果就是: 计算量太大太大太大啦!!!!!!
第二个问题,局部最优解
刚刚说这个的时候设置的是x为3
在这里插入图片描述
在这里插入图片描述
那么如果x在那个点上,就求不到最小值了

问题1问题2
计算量太大局部最优解

解决办法:随机梯度下降

随机一个数据
在这里插入图片描述
随机多个数据,也叫 小批量梯度下降法
在这里插入图片描述
i是 所以训练数据,然后把差值加起来 找到总差值最小的,即为最优解
k 现在是只找一个数据,然后看这个函数关于这个数据的差值就为最优解,之前每次梯度下降都要把所有训练数据计算一遍,现在只计算一次,计算量大大降低
K集合 同理,不过不是一个训练数据,而是随机找几个训练数据
η学习率设置为多少合适还是得试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/537230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Security

1、这是securityConfigpackage com.ruoyi.framework.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.http.HttpMethod; import org.springframework.security.authe…

【JAVA】Java中方法的使用,理解方法重载和递归

目录 1.方法的概念及使用 1.1什么是方法 1.2方法的定义 1.3方法调用的执行过程 1.4实参和形参 2.方法重载 2.1为什么需要使用方法重载 2.2什么是方法重载 3.递归 3.1什么是递归 3.2递归执行的过程 3.3递归的使用 1.方法的概念及使用 1.1什么是方法 方法就是一个代…

消息队列:RabbitMQ

文章目录 消息队列(RabbitMQ)概念优势技术亮点可靠性灵活的路由集群联合高可用的队列多协议广泛的客户端可视化管理工具追踪插件系统 原理:AMQP 0-9-1 模型简介 消息队列(RabbitMQ) 概念 一种异步通信中间件 优势 消…

RHCSA 作业三

1. 2. [rootserver yum.repos.d]# mount /dev/sr0 /media mount: /media: /dev/sr0 已挂载于 /media. [rootserver yum.repos.d]# ls redhat.repo [rootserver yum.repos.d]# vim /etc/yum.repos.d/redhat.repo [rootserver yum.repos.d]# yum makecache 正在更新 Subscripti…

如何管理好团队的工时表?

工时表管理对所有团队来说都是一项具有挑战性的任务。它是确保每个团队成员高效工作并获得最大时间的关键工具。团队工时表是任何项目经理武器库中的一个重要工具。它们提供了对团队表现的宝贵见解。 一个成功的工时表管理系统对于希望最大限度提高生产力和利润的团队成员是必…

360+ChatGLM联手研发中国版“微软+OpenAI”

文章目录 前言360与智谱AI强强联合什么是智谱AI360智脑360GLM与360GPT大模型战略布局写在最后 前言 5月16日,三六零集团(下称“360”)与智谱AI宣布达成战略合作,双方共同研发的千亿级大模型“360GLM”已具备新一代认知智能通用模…

LLMs 诸神之战:LangChain ,以【奥德赛】之名

LLMs 一出,谁与争锋? 毫无疑问,大语言模型(LLM)掀起了新一轮的技术浪潮,成为全球各科技公司争相布局的领域。诚然,技术浪潮源起于 ChatGPT,不过要提及 LLMs 的技术发展的高潮&#x…

React的表单数据绑定

当我们在页面中使用表单提交数据时,react是如何拿取表单数据的呢 这里通过两种方式来实现 非受控组件实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conte…

在Ubuntu 22.04 LTS Jammy Linux 系统上安装MySQL

在Ubuntu 22.04 LTS Jammy Linux 系统上安装MySQL 1. Update Apt Package Index2. Install MySQL Server & client on Ubuntu 22.043. To Check the version4. Run the Security script to secure MySQL5. Login Database Server as the root user6. Manage MySQL service7…

C-认识指针

认识指针 内容来自《深入理解C指针》 声明指针 在数据类型后面跟上星号*&#xff0c;如下的声明都是等价的 int* pi; int * pi; int *pi; int*pi;阅读声明 如下&#xff1a; const int *pci;1.pci是一个变量 const int *pci; 2.pci是一个指针变量 const int *pci; 3.pci是一…

FMC篇-SDRAM(IS42S16400J)

IS42S16400J 这个东西太常见啦&#xff0c;长方形的。不会过多解释&#xff0c;详细请阅读它的数据手册。 IS42S16400J是一种高速同步动态随机存储器(SDRAM)&#xff0c;64Mb的存储容量&#xff0c;采用4个bank&#xff0c;每个bank大小为16Mb&#xff0c;总线宽度为16位&…

eDiary-白日梦电子记事本基本使用说明【记事本导出和导入方法、本地数据迁移方法、记录工作日报、日历代办等】

文章目录 说明笔记导出与导入导出导入 本地数据迁移及备份本地备份说明恢复 记录工作日报记录今天发生美事等日历代办 说明 因为公司大佬分享资料&#xff0c;需要用到白日梦这个电子记事本&#xff0c;所以才了解到这个软件&#xff0c;体量小&#xff0c;功能高级&#xff0…

图数据库 NebulaGraph 的内存管理实践之 Memory Tracker

数据库的内存管理是数据库内核设计中的重要模块&#xff0c;内存的可度量、可管控是数据库稳定性的重要保障。同样的&#xff0c;内存管理对图数据库 NebulaGraph 也至关重要。 图数据库的多度关联查询特性&#xff0c;往往使图数据库执行层对内存的需求量巨大。本文主要介绍 …

Amazon 一周回顾 – 2022 年 7 月 18 日

上周&#xff0c;Amazon 峰会&#xff08;纽约&#xff09;在贾维茨中心线下举办&#xff0c;有数千名与会者以及 100 多家赞助商和合作伙伴参加。在主题演讲中&#xff0c;Amazon 首席开发人员倡导者 Martin Beeby 谈到了云基础设施的创新如何帮助客户适应挑战并抓住新的机遇。…

开源之夏 2023 | 欢迎参加openEuler A-Tune SIG和Base-service SIG开发任务

开源之夏是中国科学院软件研究所联合openEuler发起的开源软件供应链点亮计划系列暑期活动&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区&#xff0c;针对重要开源软件的开发与维护提供项目&#x…

linux Fd以及重定向讲解

感谢你的阅读&#xff0c;是对我最大的鼓励&#xff01;&#xff01;&#xff01;&#xff01; 目录 fd理解 文件操作重定向 让我们回顾C语言文件操作 首选我们要知道2个知识点&#xff1a; 额外知识点 如何理解一切皆文件呢&#xff1f; 当父进程fork创建子进程是否创建…

移动出行下半场,T3出行做起“加减法”

五一小长假外出聚餐时&#xff0c;在T3出行打了一辆网约车&#xff0c;车厢上居然印了《灌篮高手》的动漫角色。 松果财经了解到&#xff0c;这是T3出行在上海、深圳、广州、成都、重庆及武汉等六大城市与《灌篮高手》展开的合作&#xff0c;大概有数百辆定制网约车印上了《灌篮…

现在Java和大数据开发还能学来找工作吗?

卷是必然的&#xff0c;不止java和大数据&#xff0c;也不止IT这个行业~ 这两个方向其实都是不错的方向&#xff0c;java虽然卷&#xff0c;但是技能在手也不怕。大数据的发展前景也是不容小觑的。关键就在于你未来想发展的方向以及个人的兴趣 首先先给你吃一颗定心丸&#x…

HTML零基础快速入门(详细教程)

1&#xff0c;HTML代码特点 <html><head></head><body>hello world!</body> </html>HTML代码有以下特点&#xff1a; html代码是通过标签来组织的&#xff0c;而标签是由尖括号< >组织的&#xff0c;也可被叫作元素&#xff08;ele…