深度学习-1:逻辑回归和梯度下降

server/2024/10/24 8:17:27/

逻辑回归

逻辑回归是一个二分分类问题

比如判断一张图片中是否是猫就是一个二类分类问题

图像由像素值组成,要将图像输入模型,就将其变为一个向量,该向量存储三个通道上的所有像素值,若图像尺寸为64x64x3,则向量维度为12288

(x,y)表示一个样本, x是一个n维向量,y是该向量对应的标签,m是样本数量

样本数据也可以用矩阵表示,x在矩阵中以列的形式存储,矩阵维度为nxm,Y矩阵存储对应标签

逻辑回归实际上是一个学习算法,需要学习参数w和b

获得y_hat = w.T*x+b

我们想要得到该输入是猫图的概率,也就是希望y_hat是一个0-1之间的值,但w.T*x+b所得值往往不为0-1之间的概率,所以使用sigmoid函数对w.T*x+b进行变换,输出一个概率值,w.T*x+b越大,输出概率越接近于1

l表示单个样本损失,J表示整个训练集的总损失,即成本函数,用于衡量W和b的效果

学习算法实际上就是要找到合适的w和b使J最小

学习算法旨在学习到合适的w和b使J获得最小值,对w和b进行初始化后,利用梯度下降法对w和b进行更新,以获得最小的J值

求成本函数J对于参数的导数,即该点处的斜率,方向总是指向J的最小值

以下图为例,将使J值最小的W值成为Wmin

当W>Wmin时,导数值即斜率大于0,利用梯度法对W进行更新,W会变小

当W<Wmin时,导数值即斜率小于0,利用梯度法对W进行更新,W会变大

都会往取得最小值的地方进行更新

 以该直线为例,fa对a的导数为3,意思是当a变化任意值,fa都会以三倍的速率进行变化

计算图反向传播,最终的输出J可对流程图中的任何变量求导

在求导过程中有中间变量,则使用链式法则进行求导

在python编程中,dJ/da 直接写成da 

单个样本的一次梯度下降

多样本的梯度下降

J,dw1,dw2,db作为累加器,记录一次迭代中多个样本损失,梯度总和,然后求这些值的平均值,对参数进行更新


http://www.ppmy.cn/server/134389.html

相关文章

elasticsearch中的向量检索,语义检索,RRF,kNN,ANN,HNSW

kNN 算法 &#xff08;k-Nearest Neighbor&#xff09; KNN可以说是最简单的分类算法之一&#xff0c;同时&#xff0c;它也是最常用的分类算法之一。 kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别&#xff0c;则该样本也属于这个…

【zlm】 webrtc源码讲解(二)

目录 webrtc播放 MultiMediaSourceMuxer里的_ring webrtc播放 > MediaServer.exe!mediakit::WebRtcPlayer::onStartWebRTC() 行 60 CMediaServer.exe!mediakit::WebRtcTransport::OnDtlsTransportConnected(const RTC::DtlsTransport * dtlsTransport, RTC::SrtpSession::…

JavaScript 第30章:综合项目

看起来您想要了解如何在一个JavaScript为主的项目中进行项目规划、技术选型、开发流程以及维护等方面的内容&#xff0c;并且希望结合Java的源代码来进行详细的讲解。不过&#xff0c;JavaScript和Java是两种不同的编程语言&#xff0c;通常它们的应用场景也不同。JavaScript 主…

1G-5G的技术转变和应用

以下是以表格形式列出的1G到5G的技术转变和应用&#xff1a; 代际技术特点主要应用1G模拟信号传输语音信息&#xff0c;频分多址&#xff08;FDMA&#xff09;技术语音通话&#xff08;大哥大&#xff09;2G数字信号传输语音和低速数据业务&#xff0c;时分多址&#xff08;TD…

Navicat导入Excel数据时数据被截断问题分析与解决方案

目录 前言1. 问题分析1.1 默认字段类型的影响1.2 MySQL诊断机制的限制 2. 解决方案2.1 修改字段长度2.2 修改Excel数据以影响推断2.3 检查导入工具的设置 3. 其他注意事项3.1 注册表的修改3.2 增加自增ID 4. 结语 前言 在数据库的日常操作中&#xff0c;将Excel数据导入MySQL是…

自动化运维工具——ansible

文章目录 一、Ansible概念二、ansible实验1.安装ansible2.配置密钥对验证3.ansible 命令行模块1&#xff0e;command 模块2.shell 模块3&#xff0e;cron 模块&#xff08;计划任务&#xff09;4&#xff0e;user 模块5&#xff0e;group 模块6&#xff0e;copy 模块7&#xff…

【Chardet库】Chardet就是一个可以帮助我们自动识别文本文件编码的python库

Chardet库 1、探索Chardet&#xff1a;Python界的“侦探”2、什么是Chardet&#xff1f;3、安装Chardet4、实战案例一&#xff1a;猜猜我是谁5、实战案例二&#xff1a;解码文本6、实战案例三&#xff1a;处理网页内容7、结语 1、探索Chardet&#xff1a;Python界的“侦探” 今…

Linux学习_1

第0章Linux基础入门 主要包括什么是计算机&#xff0c;操作系统简介&#xff0c;Linux入门&#xff0c;常见Linux版本介绍&#xff0c;Linux认证&#xff0c;搭建Linux学习环境&#xff0c;这里主要写一下有关Linux操作的部分 搭建Linux学习环境 安装Linux操作系统&#xff08…