机器学习 -- 梯度下降算法加深

梯度下降算法

在机器学习中,梯度下降算法常用于最小化代价函数(或损失函数),以此来优化模型的参数。代价函数衡量的是模型预测值与实际值之间的差异。通过最小化这个函数,我们可以找到模型预测最准确的参数。

代价函数

代价函数(Cost Function)或损失函数(Loss Function),是用来衡量模型预测值与真实值之间差异的一个函数。在回归问题中,一个常见的代价函数是均方误差
在这里插入图片描述

其中n是样本数量,yi是样本的真实值,被减去的则是预测值,这个值越小,说明预估越接近真实值。

实际案例:从简单线性回归理解梯度下降算法

假设我们有一组数据,表示房屋的大小与其价格的关系。我们想要构建一个简单的线性回归模型来预测房价,模型形式为
y=wx+b,其中 y 是房价,x 是房屋大小,w 是斜率,b 是截距。
第一步要做的是:初始化模型参数:随机选择w 和 b 的初始值,比如 w=0 和 b=0。计算代价函数的梯度:首先,我们需要定义代价函数,这里我们使用均方误差。然后,计算代价函数关于每个参数的梯度。
我们随意给出一组数据:
(1,2),(2,4),(3,6)
我们的目的是尽量用y=wx+b去拟合这些数据。w梯度计算公式是:
在这里插入图片描述

b的则是
在这里插入图片描述

w=0,b=0得出得梯度分别是: -56/3和 -8。
这个线性模型是一条 y=0的直线,显然无法拟合这些数据.我们此时设置 w=0.1,b=0.1来拟合,又得到了两个梯度,可能这次的线性模型拟合度会好一些,那么再设置w=0.2,b=0.2,会不会又好一点呢?我们每次选用w,b都会得到一个预测值,然后我们可以算出他的代价函数(误差)值,我们就可以画出这样一张图。
在这里插入图片描述

其中我们要找的点就是误差最低的那一个点,我们可能会从任何地方出发,去找那个点,这个过程运用到的就是梯度下降算法

正式介绍

通过上面那个小例子,我们已经知道了,梯度下降算法常用于最小化代价函数(或损失函数),以此来优化模型的参数。代价函数衡量的是模型预测值与实际值之间的差异。通过最小化这个函数,我们可以找到模型预测最准确的参数。

抽象

我们可以抽象这个过程:想象一下,你在山顶,目标是以最快的速度下到山脚。因为你被蒙上了眼睛,看不见周围的环境,所以你只能通过感觉脚下的坡度来判断下一步该往哪个方向走。这个“感觉坡度”的过程,就有点像梯度下降算法的工作原理。

梯度的含义

“梯度”(Gradient)其实就是指函数在某一点上的斜率,或者说是这一点最陡的上升方向。梯度告诉你,如果你想让函数值增加得最快,应该往哪个方向走。相应地,梯度的反方向就是函数值下降最快的方向。

梯度下降的工作原理

梯度下降算法的核心思想就是:在当前位置计算梯度(即斜率),然后沿着梯度的反方向走一小步,重复这个过程,直到到达山脚(即找到函数的最小值点)。

梯度下降–专属案例

假设我们有一个函数
y=x^2这个求最小值,这个案例不是让你使用高中数学去解答,你可以不假思索回答是0,但是不是我想要学习的。
让我们以梯度下降的方式求解,初始化: 假设我们随机选择一个起点,x=2。计算梯度: 对f(x) 求导得到它的梯度 f(x)=2x。在x=2 处的梯度是4。此时我们更新x,我们假设我们走一小步,0.1那么此时x应该是:x = x - 学习率 * 梯度 = 2 - 0.1 * 4 = 1.6 计算此时的梯度,重复这个过程,直到x的更新值很小很小,无限趋近于0,此时实际上x的值(在y=x^2中)也无限趋近于0,y也趋近于0了。

注意事项

学习率的选择:学习率太大可能导致“跨过”最低点,甚至发散;学习率太小又会导致收敛速度很慢。因此,选择一个合适的学习率非常关键。收敛条件:通常会设置一个阈值,当连续两次迭代的x值变化非常小(小于这个阈值)时,我们就认为算法已经收敛。

结束

我们计算房价,假设线性模型,求w,b,我们使用均方误差(MSE)作为代价函数,来衡量模型预测值与实际值之间的差异,我们使用梯度下降模型计算w,b的梯度,得到了误差,我们通过控制迭代次数和学习率,不断的修改w,b,以使得误差越来越小,误差越来越小,即w,b的变化非常小或达到一个预设的迭代次数。这就是梯度下降算法。对于不同类型的机器学习问题,成本函数的选择也会不同。例如:回归问题:常用的成本函数是均方误差(Mean Squared Error, MSE),它计算的是预测值与实际值之间差异的平方的平均值。这个值越小,表示模型的预测越准确。分类问题:对于二分类问题,一个常见的成本函数是交叉熵(Cross-Entropy),它量化的是实际标签与预测概率之间的差异。
在梯度下降算法中,我们的目标是找到模型参数的值,这些参数值能使成本函数的值最小化。换句话说,我们希望找到的参数能让模型的预测尽可能接近实际情况,从而最小化误差。通过迭代地更新模型参数,梯度下降算法能够逐步逼近这个最优参数组合,实现成本的最小化。

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

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

相关文章

易毅出席成套低温烘干装备在发酵行业的节能创新应用

演讲嘉宾:易毅 总经理 广东芬蓝环境科技有限公司 演讲题目:成套低温烘干装备在发酵行业领域的节能创新应用 会议简介 “十四五”规划中提出,提高工业、能源领城智能化与信息化融合,明确“低碳经济”新的战略目标,热…

python-分享篇-根据出生日期判断你的星座出生日期判断生肖

文章目录 根据出生日期判断你的星座出生日期判断生肖 根据出生日期判断你的星座 sdate[20,19,21,20,21,22,23,23,23,24,23,22] # 星座判断列表 conts [摩羯座,水瓶座,双鱼座,白羊座,金牛座,双子座,巨蟹座,狮子座,处女座,天秤座,天蝎座,射手座,摩羯座] signs[♑,♒,♓,♈,♉…

测试计划(详细版)

测试计划Testing plan,描述了要进行的测试活动的范围、方法、资源和进度的文档;是对整个信息系统应用软件组装测试和确认测试。 [1] 它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。测试计划可以有效预防计划的风险,保障计…

Baumer工业相机堡盟工业相机如何联合GAPI SDK和OpenCV实现相机图像将图像转换为Mat格式再转为Bitmap图像进行显示(C#)

Baumer工业相机堡盟工业相机如何联合GAPI SDK和OpenCV实现相机图像将图像转换为Mat图像格式再转为Bitmap图像进行显示(C#) Baumer工业相机Baumer工业相机的图像转换为OpenCV的Mat图像的技术背景代码分析第一步:先引用OpenCV库第二步&#xff…

C++的继承和多态

继承和多态 继承继承的权限继承的子父类访问派生类的默认成员函数菱形继承(C独有)【了解】虚拟继承什么是菱形继承?菱形继承的问题是什么?什么是菱形虚拟继承?如何解决数据冗余和二义性的继承和组合的区别?…

揭秘Android Tombstone:崩溃位置的秘密研究-Crash Location

由于一些工作原因,最近对Android系统发生crash的Tombstone展开了一定的研究。 这里我谈一下关于对于Android Libstagefright 整数溢出漏洞的crash Tombstone的研究。看一下在包含整数溢出功能的MP4文件从PC传输进Android的时候造成的Tombstone0_0。 1、研究头部信…

双通道 40V 160mΩ车规级高侧电源开关带诊断功能反向电池保护功能

概述 PC8916是双通道、高功率具有集成NMOS功率FET的开关,以及电荷泵。该设备集成了高级 保护功能,例如负载电流限制,通过功率限制进行过载主动管理带可配置闭锁的超温停机。全面诊断和高精度电流感应这些功能实现了对负载的智能控制。有源漏…

JetPack 5.1编译mish_cuda

1.查看jetpack版本:sudo jtop 自带的就有cuda11.4和cudnn8.X以及python3.8,我的cudnn就没有是后期自己安装的 2.安装torch PyTorch for Jetson - Announcements - NVIDIA Developer Forums 选择对应的cuda版本和torch版本,我下载的是:torch-2.1.0a0+41361538.nv23.06-cp…

ETL数据仓库的使用方式

一、ETL的过程 在 ETL 过程中,数据从源系统中抽取(Extract),经过各种转换(Transform)操作,最后加载(Load)到目标数据仓库中。以下是 ETL 数仓流程的基本步骤&#xff1a…

2024中国5G随身WiFi十大品牌排行榜,20245G随身口碑排行榜,5G随身WiFi2024最新款!5G随身WiFi推荐测评

【中国品牌网中国3C质量评测中心权威榜单联合发布】 第一名:格行5G随身WiFi: 优点:随身WiFi行业的头部和领跑品牌,15年专业物联网行业经验,格行在技术研发、产品创新和客户服务方面具有很高的口碑,被业内…

通过一篇文章让你了解数据结构和算法的重要性

通过一篇文章让你了解数据结构和算法的重要性 前言一、 什么是数据结构?二、什么是算法?三、数据结构和算法的重要性在校园招聘的笔试中:在校园招聘的面试中:在未来的工作中: 四、如何学好数据结构和算法4.1 死磕代码&…

基于React全栈Sora AI视频案例展示项目

花了一天时间基于React Next全栈开发的Sora AI 演示项目 Preview: https://sora.langchat.cn/ Github:https://github.com/tycoding/lang-sora 欢迎大家star、fork呀! 这是一套完整的React & Next.js项目,包含前后端交互、路由、数据库…

crc16计算

crc16计算,以生成式G(x)x16x15x21,为例 1、函数如下: //crc:G(x) x16x15x21 #define POLY 0x8005 //对应的生成式的多项式,可以查(在在线计算crc工具下查) unsigned short crc16_2(unsigned char *da…

CBAM注意力机制详解(附pytorch复现)

简介 论文原址:1807.06521.pdf (arxiv.org) CBAM(Convolutional Block Attention Module)是一种卷积神经网络模块,旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块:通道注意力模块和空间注意力…

算法项目的合作流程

算法项目的合作流程通常包括以下几个关键步骤,以上是算法项目合作的基本流程,具体项目可能会根据实际情况进行调整和补充。在整个项目过程中,良好的沟通、协作和团队合作至关重要,能够确保项目按时高质量地完成。北京木奇移动技术…

回归啦!!!

消失的日子在实习,今天最后一天了来看看自己的学习日志,有没有可以和小伙伴交流的部分吧! 目录 一、产品one ①简介 ②底层原理 ③知识点一 作用一:日志采集 作用二:实时监测 作用三:规则匹配 作用…

Redis冲冲冲——事务支持,AOF和RDB持久化

目录 引出Redis事务支持,AOF和RDB持久化1、Redis的事务支持2、Redis的持久化 Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Redis冲冲冲——事务支持,AOF和RDB持久化 Redis事务支持,AOF和…

【内部消息】24上半年软考可能支持平板、PC和手机等多平台报名

根据内部消息,软考网上报名系统正在改革,之前只能通过PC端报名的,下次报名可能支持平板、手机等多终端进行网上报名了。现在官方并没有确切消息发出,这次变动可能发生在2024上半年,也有可能得到下半年才能实行。以下是…

LeetCode_Java_动态规划系列(2)(题目+思路+代码)

131.分割回文串 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s "aab" 输出:[["a&qu…

立即报名Atlassian Team’24,与龙智一同踏上前往数字服务的创新之路

拉斯维加斯,4月30日至5月2日—— Atlassian Team’24盛大举行!现已正式启动报名,诚邀您的参与!与龙智一同走进这场创新与协作的盛会,您将有机会亲身感受100余场精彩纷呈的活动,深入探索Atlassian平台如何助…