当前位置: 首页 > news >正文

TensorFlow入门(十七、神经元的拟合原理)

深度学习的概念源于人工神经网络的研究,神经网络是由多个神经元组成,。一个神经元由以下几个关键知识点组成:

                                ①激活函数                ②损失函数                ③梯度下降

单个神经元的网络模型如图所示

用计算公式表达如下:

z为输出的结果,x为输入,w为权重,b为偏置值。z的计算过程是将输入的x与其对应的w相乘,然后再把结果加上偏置值b。

模型每次的训练学习是为了调整w和b从而得到一个合适的值,最终由这个值配合运算公式所形成的逻辑就是神经网络的模型。可以看一下大脑细胞里的神经突触。它和我们建立的模型有点神似。

        大脑神经细胞是靠生物电来传递信号的,可以把它理解成经过模型的具体数值

        神经细胞相连的树突有粗有细,显然对通过不同粗细连接的生物电信号,会有不同的影响。这类似权重w,因为每个输入节点都会与相关连接的w相乘,也就实现了对信号的放大、缩小处理

        中间的细胞体是不知道如何运作的。可以将所有输入的信号经过w变换之后,再添加一个额外的偏置量b,把它们加在一起求和,然后再选择一个模拟细胞体处理的函数(即激活函数)来实现整个过程的仿真。当通过调整w和b得到一个合适的值后,再配合合适的激活函数,就会发现它可以产生很好的拟合效果,从而得出细胞体的运作逻辑。

正向传播

        模拟细胞体的仿真过程中,将数据从输入到输出的这种流向传递过程,称为正向传播。且该过程是在一个假设有合适的w和b的基础上,才可以实现对现实环境的正确拟合。然而,在现实环境中,是不知道w和b的值具体是多少才算正常的。

反向传播

        反向传播的目的 : 告诉模型w和b的值调整到多少合适。

        在一开始没有得到合适的权重时,正向传播生成的结果与实际的标签是有误差的,反向传播就是要把这个误差传递给权重,让权重做适当地调整来达到一个合适的输出。

        代码示例如下:

#反向优化
cost = tf.reduce_mean(tf.square(Y - z))
learning_rate = 0.01
#使用梯度下降算法
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)

        实际训练过程中,模型需要通过多次迭代一点一点的修正,直到输出值与实际标签值的误差小于某个阈值为止。这个过程中,还需要将输出的误差转化为权重的误差,经常使用的算法是误差反向传播算法,也就是BP算法。

        为了要让损失值变得最小化,需要通过对其求导的方式,找到最小值时刻的函数切线斜率(也就是梯度),从而让w和b的值沿着这个梯度来调整。至于每次调整多少,我们引入一个叫做"学习率"的参数来控制,这样通过不断的迭代,使误差逐步接近最小值,最终找到w和b的合适值,达到拟合的效果。

误差反向传播算法-BP算法的思想

        反向传播使用的BP算法是应用较为广泛的一种参数学习算法。它是一种按照误差逆向传播算法训练的多层前馈神经网络。

        该算法的核心思想就是通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值。

        BP算法的模型示意图如下:

        BP算法的学习过程由信号的正向传播(求损失)与误差的反向传播(误差回传)两个过程组成:

                正向传播FP(求损失) : 在这个过程中,根据输入的样本、给定的初始化权重值w和偏置量b,计算最终输出值以及输出值与实际值之间的损失值。如果损失值不在给定的范围内则进行反向传播的过程,否则停止w、b的更新。

                反向传播BP(回传误差) : 将输出以某种形式通过隐层向输入层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。

        由于BP算法是通过传递误差值δ进行更新求解权重值w和偏置值b,所以BP算法也常常被叫做δ算法。

相关文章:

TensorFlow入门(十七、神经元的拟合原理)

深度学习的概念源于人工神经网络的研究,神经网络是由多个神经元组成,。一个神经元由以下几个关键知识点组成: ①激活函数 ②损失函数 ③梯度下降 单个神经元的网络模型如图所示 用计算公式表达如下: z为输出的结果,x为输入,w为权重,b为偏置值。z…...

VSCODE配置C和C++

VSCode 运行 C/C 怎么配置? - 忆梦怀思的回答 - 知乎 https://www.zhihu.com/question/577315418/answer/3232537840 这个很好用,简单明白。 其中最后我的只配置了tasks.json就成功了。...

位于同一子网下的ip在子网掩码配置错误的情况下如何进行通信(wireshrak抓包分析)

前言 最近看书发现个问题,正好想学习下wireshark的使用,于是抓包做了下实验。 问题是这样的,假设有服务器A和服务器B,正确配置下两者处于同一子网;此时B的网络配置正确,而A在配置子网掩码时出了错&#xff…...

Dockerfile镜像实战

目录 1、构建SSH镜像 2、Systemctl镜像 3、nginx镜像 4、tomcat 镜像 5、mysql镜像 1、构建SSH镜像 cd /opt/sshd vim Dockerfile #第一行必须指明基于的基础镜像 FROM centos:7 #作者信息 MAINTAINER this is ssh image <hmj> #镜像的操作指令 RUN yum -y update R…...

企业如何选择安全又稳定的文件传输协议

企业无论是内部的数据共享&#xff0c;还是与外部的合作交流&#xff0c;都需要通过网络进行文件的传输和交换。然而&#xff0c;文件传输它涉及到多方面的因素&#xff0c;例如文件的大小、数量、类型、敏感性、传输距离、网络环境等。这些因素都会影响到文件传输的各个方面&a…...

Linux Kernel 4.13 RC6发布:正式版9月3日发布

美国当地时间上周末&#xff0c;大神Linus Torvalds发布了Linux Kernel 4.13内核的又一候选版本。上周发布的RC5版本更新幅度也要比上上周的RC4要小&#xff0c;Linus Torvalds表示本周发布的RC6版本属于常规更新&#xff0c;在过去一周的开发过程中并没有出现任何意外。RC6版本…...

C++学习——C++中const的新花样

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 关于C语言中const的用法&#xff0c;见《C语言const的用法详解》。 一、C中const的新花样 在C语言中&#xff0c;const用来限制一个变量&#xff0c;表示这个变量不能被修改&#xf…...

【Linux环境搭建】五、Linux(CentOS7)编译源码安装Subversion

Subversion&#xff08;简称为SVN&#xff09;是一种版本控制系统&#xff0c;能够管理和跟踪项目开发中的代码变化。Subversion最初由CollabNet公司开发&#xff0c;现已成为Apache软件基金会的顶级项目之一。 Subversion使用一个中央仓库来存储所有项目文件和历史记录。开发人…...

微信小程序入门讲解【超详细】

一. 微信小程序简介 1.1 什么是小程序 2017年度百度百科十大热词之一 微信小程序&#xff08;wei xin xiao cheng xu&#xff09;&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装&#xf…...

AtCoder ABC239G 最小割集

题意 传送门 AtCoder ABC239G Builder Takahashi 题解 将原图中每个节点拆为入点 v v v 与出点 v ′ v v′&#xff0c;对于原图任一边 ( u , v ) (u,v) (u,v) 则 u ′ → v , v → u u\rightarrow v, v\rightarrow u u′→v,v→u 连一条容量为 ∞ \infty ∞ 的边&…...

Simple RPC - 01 框架原理及总体架构初探

文章目录 概述RPC 框架是怎么调用远程服务的&#xff1f;客户端侧的逻辑服务端侧的逻辑完整流程 客户端是如何找到服务端地址的呢&#xff1f;核心&#xff1a;NamingService跨语言的RPC实现原理 RPC 框架的总体结构对外接口服务注册中心如何使用业务服务接口客户端服务端 模块…...

VScode运行C/C++

VScode运行C/C VScode的安装这里不讲 一、mingw64的下载 二、VS code打开文件夹与创建C文件 ----------------这一步给萌新看&#xff0c;有C和VScode的基础可跳过---------------- 1.创建一个文件夹 2.vscode打开刚刚创建的文件夹 3.新建文件&#xff0c;在输入文件名1.c后…...

#智能车项目(三)串口初始化

串口1初始化 初始化串口1PA9 PA10 流程 1、声明结构体 GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; USART_InitTypeDef USART_InitStructure; 2、打开时钟 // 打开串口GPIO的时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA , ENABLE); /…...

网络通信错误代码列表 HTTP 、FTP

HTTP 1xx&#xff08;临时响应&#xff09;&#xff1a;表示临时响应并需要请求者继续执行操作的状态代码。 100 &#xff08;继续&#xff09; 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分&#xff0c;正在等待其余部分。 101 &#xff08;切换协议…...

最新开源ThinkPHP6框架云梦卡社区系统源码/亲测可用(全新开发)

源码简介&#xff1a; 最新开源ThinkPHP6云梦卡社区系统源码&#xff0c;它是一款基于ThinkPHP 6框架开发的开源社区系统源码。该系统源码具有强大而稳定的后端架构&#xff0c;和简洁易操作的前端界面&#xff0c;能够给人们提供完整的社区功能和更具体的服务。 全新云梦卡社…...

[ROS2系列] ubuntu 20.04测试rtabmap

目录 背景&#xff1a; 一、配置 turtlebot3 二、安装RTAB-Map ROS2包&#xff1a; 三、启动 Turtlebot3 模拟器&#xff1a; 四、启动 RTAB 地图&#xff1a; 五、启动导航&#xff08;nav2_bringup应安装软件包&#xff09;&#xff1a; 背景&#xff1a; 1、设备&…...

【Java学习之道】JavaFx 框架与组件介绍

引言 如果你曾经尝试过使用Java编写一个漂亮的窗口应用程序&#xff0c;那么你一定知道JavaFX这个强大的工具。JavaFX是Java 8中引入的一个GUI开发框架&#xff0c;它提供了丰富的组件和功能&#xff0c;使得我们可以轻松地创建出功能强大、界面美观的桌面应用程序。无论你是想…...

Windows bat 脚本设计-开机自启动服务的方法、bat 调用另外的 bat 脚本 -没有java环境也能运行jar,在不安装jdk下如何运行jar包

目录 一、start.bat 启动服务 bat 脚本代码设计 && 没有java环境也能运行jar&#xff0c;在不安装jdk下如何运行jar包二、关闭 bat 启动的服务三、Windows 开机自启动服务的方法四、bat 调用另外的 bat 脚本参考链接 一、start.bat 启动服务 bat 脚本代码设计 &&am…...

zabbix触发器与动作

一、触发器&#xff08;Trigger&#xff09; 1、概念&#xff1a; 在 Zabbix 中&#xff0c;触发器用于监测 Zabbix 监控系统中的各种指标和条件&#xff0c;并在特定条件满足时触发警报。&#xff08;触发器用于定义监控项的报警阈值&#xff09; 2、触发器对象&#xff1a…...

华纳云:Nginx服务器可视化配置问题怎么解决

Nginx服务器可视化配置问题通常是由于缺少适当的工具或配置导致的。要解决这些问题&#xff0c;您可以考虑以下几种方法&#xff1a; 使用Nginx配置管理工具&#xff1a; 有一些第三方工具可用于可视化配置Nginx服务器&#xff0c;以简化配置过程。其中一些工具包括cPanel、Ple…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...