【深度学习神经网络学习笔记(二)】神经网络基础

神经网络基础

    • 神经网络基础
    • 前言
    • 1、Logistic 回归
    • 2、逻辑回归损失函数
    • 3、梯度下降算法
    • 4、导数
    • 5、导数计算图
    • 6、链式法则
    • 7、逻辑回归的梯度下降

神经网络基础

前言

Logistic 回归是一种广泛应用于统计学和机器学习领域的广义线性回归模型,主要用于解决二分类问题。尽管名字中包含“回归”二字,但它实际上是一种分类方法。Logistic 回归通过使用logistic函数(或者称为sigmoid函数)来预测一个事件发生的概率。

备注:本系列文章基于B站课程: 122集付费!CNN、RNN、GAN、GNN、DQN、Transformer、LSTM等八大深度学习神经网络一口气全部学完!学习整理得到。

1、Logistic 回归

逻辑回归是一个主要用于解决二分类问题的算法。那么逻辑回归是给定一个 x,输出一个该样本属于 1 对应类别的预测概率 ŷ=P(y=1|x)

Logistic 回归中使用的参数如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
例如:
在这里插入图片描述

2、逻辑回归损失函数

损失函数(loss function)用于衡量预测结果与真实值之间的误差。最简单的损失函数定义方式为平方差损失:
在这里插入图片描述

3、梯度下降算法

目的:使损失函数的值找到最小值
方式:梯度下降
函数的梯度(gradient)指出了函数的最陡增长方向。梯度的方向走,函数增长得就越快。那么按照梯度的负方向走,函数值自然就降低得最快了。模型的训练目标即是寻找合适的 w 与 b 以最小化代价函数值。假设 w 与 b 都是一维实数,那么可以得到如下的 J 关于 w 与 b 的图:
在这里插入图片描述
可以看到,成本函数 J 是一个凸函数,与非凸函数的区别在于其不含有多个局部最低。
参数 w 与 b 的更新公式为:
在这里插入图片描述
注:其中 α 表示学习速率,即每次更新的 w 的步伐长度。当 w 大于最优解 w’ 时,导数大于0,那就是向更小的方向更新。反之当 w 小于最优解 w’ 时,导数小于0,那么 w 就会向更大的方向更新迭代直到收敛。

通过平面来理解梯度下降过程:在这里插入图片描述

4、导数

理解梯度下降的过程之后,通过例子来说明梯度下降在计算导数意义或者说这个导数的意义。
导数也可以理解成某一点处的斜率。

  • 各点处的导数值一样

    在这里插入图片描述
    我们看到这里有一条直线,这条直线的斜率为4,我们来计算一个例子:
    取一点为 a=2,那么 y 的值为8,我们稍微增加 a =2.001,那么 y 的值为 8.004,也就是当 a 增加了 0.001,随后 y 增加了 0.004,即4倍

那么我们这个斜率可以理解为当一个点偏移一个不可估量的小的值,所增加的为 4 倍,可以记作:
在这里插入图片描述

  • 各点处的导数值不全一致
    在这里插入图片描述
    例:
    取一点为 a=2,那么 y 的值为4,我们稍微增加 a 的值为 a=2.001,那么 y 的值约等于 4.004(4.004001)就是当 a 增加了 0.001,随后 y 增加了 4 倍;
    取一点为 a=5,那么 y 的值为25,我们稍微增加 a 的值为 a=5.001,那么 y 的值约等于 25.01(25.010001)就是当 a 增加了 0.001,随后 y 增加了 10 倍;
    可以得出该函数的导数为 2a

5、导数计算图

那么接下来我们来看看含有多个变量的到导数流程图,假设 J(a,b,c) = 3(a+bc)
我们以下面的流程图代替:
在这里插入图片描述
这样就相当于从左到右计算出结果,然后从后往前计算出导数

导数计算:
在这里插入图片描述
这里涉及到链式法则

6、链式法则

链式法则(Chain Rule)是微积分中用于计算复合函数导数的一个基本法则。当你有一个复合函数,即一个函数的输出是另一个函数的输入时,链式法则允许你通过计算各个函数的导数并将它们相乘来找到复合函数的导数。

假设有两个函数 f 和 g,其中 g 的定义域和 f 的值域相同,我们可以构成一个复合函数 f(g(x))。链式法则表明复合函数 f(g(x)) 对 x 的导数可以通过以下方式计算:
在这里插入图片描述
这里:

  • f′(g(x)) 是外函数 f 在 g(x) 处的导数;
  • g′(x) 是内函数 g 在 x 处的导数

例如:
假设我们有以下复合函数:
h(x)=f(g(x))=(3x 2+2) 4
在这里插入图片描述

7、逻辑回归的梯度下降

逻辑回归的梯度下降过程计算图,首先从前往后的计算图得出如下:
在这里插入图片描述
那么计算图从前向过程为,假设样本有两个特征
在这里插入图片描述
问题:计算出 J 关于 z 的导数
在这里插入图片描述
所以我们这样可以求出总损失相对于 w1 w2 b 参数的某一点导数,从而可以更新参数:
在这里插入图片描述

所以当我们计算损失函数的某个点相对于 w1 w2 b 的导数之后,就可以更新这次优化后的结果:
在这里插入图片描述

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

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

相关文章

002简单MaterialApp主题和Scaffold脚手架

002最简单的MaterialApp主题和Scaffold脚手架使用导航栏_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from333.788.videopod.episodes&vd_source68aea1c1d33b45ca3285a52d4ef7365f&p1501.MaterialApp纯净的 /*MaterialApp 是主题,自带方向设…

DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!

项目地址:GitHub - deepseek-ai/FlashMLA 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天! ​ 一、开源周震撼启幕 继上周预告后,DeepSeek于北京时间今晨9点准时开源「FlashMLA」,打响开源周五连…

17.C++类型转换

1. C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转换,C语言中共有两种形式的类型转换:隐式类型转换和显…

springboot志同道合交友网站设计与实现(代码+数据库+LW)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本志同道合交友网站就是在这样的大环境下诞生,其可以帮助使用者在短时间内处理完毕庞大的数据信…

VMware中的linux常用指令

常用 Linux 基础命令 文件与目录操作 ls:查看当前目录的文件和子目录,ls -a显示所有文件,包括隐藏文件。cd:切换目录,如 **cd ~** 切换到个人家目录。pwd:查看当前目录。mkdir:创建文件夹&#…

20250212:https通信

1:防止DNS劫持:使用 https 进行通信。 因为是SDK授权开发,需要尽量压缩so库文件和三方依赖。所以第一想法是使用 head only 的 cpp-httplib 进行开发。 cpp-httplib 需要 SSL 版本是 3.0及以上。但本地已经在开发使用的是1.0.2a版本,不满足需求。 方案1:升级OpenSSL 将Op…

VisionPro-PMA工具

VisionPro-PMA工具 模板匹配的核心概念 康耐视(Cognex)的VisionPro是一款广泛应用工业自动化的机器视觉软件平台,其模板匹配(Pattern Matching)功能是核心工具之一,常用与目标定位、特征识别和质量检测等场景。 模板匹配:通过预先定义的参…

2025最新最全【大模型学习路线规划】零基础入门到精通_大模型 开发 学习路线

第一阶段:基础理论入门 目标:了解大模型的基本概念和背景。 内容: 人工智能演进与大模型兴起。 大模型定义及通用人工智能定义。 GPT模型的发展历程。 第二阶段:核心技术解析 目标:深入学习大模型的关键技术和工…

使用CSS3DRenderer/CSS2DRenderer给模型上面添加html标签

先放一下预览图 主要使用css2dRender和css3dRender,添加图片和标签。 思路:使用css3dRender添加一个图片,然后获取的位置坐标,使用css3dRender添加一个文字标签,也设置这个位置坐标,此外z轴设置一个高度&a…

完美隐藏滚动条方案 (2024 最新验证)

完美隐藏滚动条方案 (2024 最新验证) css /* 全局隐藏竖直滚动条但保留滚动功能 */ html {overflow: -moz-scrollbars-none; /* Firefox 旧版 */scrollbar-width: none; /* Firefox 64 */-ms-overflow-style: none; /* IE/Edge */overflow-y: overlay; …

Linux 内核配置机制详细讲解

本文是对 Linux 内核配置机制 make menuconfig 的 超详细分步解析,涵盖其工作原理、界面操作、配置逻辑及底层实现: 一、内核配置系统概述 Linux 内核的配置系统是一个 基于文本的交互式配置工具链,核心目标是通过定义 CONFIG_XXX 宏来控制内…

视频裂变加群推广分享引流源码

源码介绍 视频裂变加群推广分享引流源码 最近网上很火,很多人都在用,适合引流裂变推广 测试环境:PHP7.4(PHP版本不限制) 第一次访问送五次观看次数,用户达到观看次数后需要分享给好友或者群,好友必须点击推广链接后才会增加观看次…

python-leetcode-每日温度

739. 每日温度 - 力扣(LeetCode) class Solution:def dailyTemperatures(self, temperatures: List[int]) -> List[int]:n len(temperatures)answer [0] * nstack [] # 存储索引for i, temp in enumerate(temperatures):while stack and temperat…

文件下载技术的终极选择:`<a>` 标签 vs File Saver.js

文件下载技术的终极选择&#xff1a;<a> 标签 vs File Saver.js 在 Web 开发中&#xff0c;文件下载看似简单&#xff0c;实则暗藏玄机。工作种常纠结于 <a> 标签的原生下载和 File Saver.js 等插件的灵活控制之间。本文将从原理、优缺点、场景对比到实战技巧&…

deepseek sse流式输出

链接 semi-ui-vue聊天组件 - 可以用这个组件优化界面 sse服务端消息推送 webflux&webclient Hi-Dream-Blog - 参考这个博客&#xff0c;可以在后台将markdown语法转为html 文章目录 链接效果代码pom.xmlDeepSeekControllerWebConfigDeepSeekClientAiChatRequestAiChatM…

Linux时间日期类指令

1、data指令 基本语法&#xff1a; date &#xff1a; 显示当前时间date %Y : 显示当前年份date %m &#xff1a; 显示当前月份date %d &#xff1a; 显示当前哪一天date “%Y-%m-%d %H:%M:%S" &#xff1a; 显示年月日时分秒date -s 字符串时间 &#xff1a; 设置系统时…

SQLMesh 系列教程9- 宏变量及内置宏变量

SQLMesh 的宏变量是一个强大的工具&#xff0c;能够显著提高 SQL 模型的动态化能力和可维护性。通过合理使用宏变量&#xff0c;可以实现动态时间范围、多环境配置、参数化查询等功能&#xff0c;从而简化数据模型的开发和维护流程。随着数据团队的规模扩大和业务复杂度的增加&…

鹏哥c语言数组(初阶数组)

前言&#xff1a; 对应c语言视频54集 内容&#xff1a; 一维数组的创建 数组是一组相同元素的集合&#xff0c; 数组的创建方式 type_t就是数组的元素类型&#xff0c;const_n是一个常量表达式&#xff0c;用来指定数组的大小 c99标准之前的&#xff0c;数组的大小必须是…

爬虫运行后如何保存数据?

爬虫运行后&#xff0c;将获取到的数据保存到本地或数据库中是常见的需求。Python 提供了多种方式来保存数据&#xff0c;包括保存为文本文件、CSV 文件、JSON 文件&#xff0c;甚至存储到数据库中。以下是几种常见的数据保存方法&#xff0c;以及对应的代码示例。 1. 保存为文…

计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络(附代码) 第五章&#xff1…