神经网络(neural network)

news/2024/7/26 11:02:43/文章来源:https://blog.csdn.net/princess_pig/article/details/136515812

在这一章中我们将进入深度学习算法,学习一些神经网络相关的知识,这些是有更加强大的作用,更加广泛的用途。

神经元和大脑(neurons and the brain):

我们对于我们的编程的进步主要来自我们对于大脑的研究,根据我们对于大脑的研究我们发现了神经元这一个最基础的部分,如图所示,

有树突来收集信号,轴突用来传递信号,而我们的细胞则可以来处理我们的信息,在大量的神经元的连接就可以对一些数据进行处理,当然我们不光只是对人脑进行研究,其实我们在很多的动物中也有类似的探讨,当然我们的科学家并没有完全吃透我们的脑部科学原理,这就是为什么当我们的科学家在我们的脑部科学方面有进步时,我们的神经网络也会有许多的进步,在之前我们学到的线性回归和逻辑回归这样的基础算法ai,并不能完成这种深度算法学习,而需要我们对于神经网络的创建,这与我们在我们的神经网络中创建的神经元的数量有着巨大的联系。

当然是我们的神经元越多我们的算法的表现就会更好。当然这与我们所有的数据数量也有着关系。

需求分析(demand prediction):

怎么样的结构才是我们的神经网络呢?我们通过以下的图片进行了解:

从左往右我们有三个部分:

第一个就是我们的黄色字体部分,我们把输入的特征向量称为我们的输入层(input layer),它是我们输入的部分。

第二个就是我们中间蓝色部分的,我们在这里称他为隐藏层(hidden layer),它的作用是收到我们从输入层得到的数据,从而发出一种叫做激发值(activations)的数值.

第三层也就是在最右侧也就是,我们的输出层(output layer),顾名思义,它就是我们通过根据从隐藏层中得到的激发值我们从而当我们输入我们的预测的特征值,从而我们可以从中获得到我们所需要的预测值。

接下来,详细说一下其中的细节。假如我们的输入特征总共有四个,而我们在隐藏层的神经元有三个,我们输入我们对应神经元的特征值我们可以得到不同的激发值,而这些激发你会进一步到我们的输出层,从而来根据数据得到的最准确的预测,这就是我们大概的一个神经网络的概念图。

当然我们的隐藏层在不同的神经网络中,也可以是多层的,这只与你对于你的神经网络的要求有关 

例子:图像识别(image recognization)  :

我们在图像识别中我们的图片会被分为很多块像素块,我们通过把这些数据收集起来,就变成了在我们左侧的的这个特征向量就变成了我们的输入值,我们来看一下我们对于图像识别的神经网络。

我们往里面输入一个我们的输入值,我们第一层隐藏层会根据我们的比较细小的线条,到第二层隐藏层寻找人脸比较小的部分,到后面隐藏层我们也会去寻找脸部的数据,到最后我们会输出,识别的姐结果。我们在汽车识别中,也用到了类似的方法。

其中这些神经元都是我们通过一些数据,拟合到的一个比较好的算法。

神经网络的层(neural network layer):

 

在下图中,我们看到了我们的一个比较简单的神经网络,我们从第一个输入的值开始,它是有四个特征值,我们把这个特征向量代入我们的第一个隐藏层神经元中,看到上面三个线性函数,从而由三个sigmoid函数,我们得到了我们需要的三个激发值,在这里我们需要了解的是我们用的是上标[n]来代表我们的层数,比如:\vec{w}^{[1]}。然后我们把我们的激发值放入我们的第二层。

来到了我们第二层,我们这里的输入值就是我们在第一层的激发值。也是同样的方法,由我们的逻辑函数得到了我们的值,值的大小大概在0到1之间,这里我们把激发值一般写成是\vec{a}^{[1 ]}。所以我们在这里输出的也就是我们的\vec{a}^{[2]}

最后根据我们的sigmoid函数的特点我们知道是以0.5为分界线一般,就可以得到我们的值了。

这里我们要知道sigmoid方程也被叫做是激发函数。我们一般写成上标L下标是J。

a_{j}^{[l]}=g(\vec{w}_{j}^{[l]}\cdot a^{[l-1]}+b_{j}^{[l]}) ,在这里我们的输入层被我们称为是0层。我们的前一层的激发值是我们第二层的输入值。 

我们把这种从右往左传递进行的算法叫做正向传递算法,在后面我们也会学到逆向传递算法。 

在我们的numpy中并没有数组,所以我们要用一个方式把我们得到的值转化成矩阵的形式。

x = np.array([[1,2,3]])

比如以下这个我们就可以得到[1,2,3],这样1✖️3的矩阵。

我们在这里用到了我们的tensor flow框架,用它来实现我们的逻辑回归,在这里我们的tensor它是一个保持我们的数据维持在矩阵的一个比较好的属性,我们也可以通过numpy()方法,把矩阵从而再转化为我们的数组的属性。

 同理我们在后面的神经元层也是一样的操作。所以在这里我们需要去配置一下tensor flow框架。

创建神经网络:

我们在学习到了用tensor flow之后,我们就可以来开始着手创建一个神经网络。

我们在这里用到了一个全新的函数,它叫做Sequential(),它的作用相当于我们对神经网络的一层一层的正向传递。model会在之后的学习中学到暂时只需要理解它的意思即可。

我们还可以进行一定的化简,我们得到的式子就变成了。 

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

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

相关文章

9*9乘法表

单层循环 99乘法表 动手写写画画整个程序的输出结果

Python 读取写入excel文件

使用Python读取和写入excel的xlsx、xls文件 目录 读取xlsx文件 安装三方库 引入三方库 读取数据 打开文件 表名 最大行数 最大列数 读取一张表 读取整个文件 返回xls整体内容 安装三方包 读取内容 写入xls文件 引入三方库 创建文件并写入数据 报错及解决 报错…

Vue.js+SpringBoot开发无代码动态表单系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 动态类型模块2.2 动态文件模块2.3 动态字段模块2.4 动态值模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 动态类型表3.2.2 动态文件表3.2.3 动态字段表3.2.4 动态值表 四、系统展示五、核心代码5.1 查询档案类型5.…

电脑不小心格式化了,怎么恢复?

在这个数字化时代,电脑已经成为我们日常生活和工作中不可或缺的工具。然而,有时我们可能会不小心格式化电脑硬盘,导致重要数据的丢失。那么,电脑不小心格式化了,怎么恢复? 别着急,在本篇攻略中&…

unicloud 云数据库概念及创建一个云数据库表并添加记录(数据)

云数据库概念 uniCloud提供了一个 JSON 格式的文档型数据库。顾名思义,数据库中的每条记录都是一个 JSON 格式的文档。 它是 nosql 非关系型数据库,如果您之前熟悉 sql 关系型数据库,那么两者概念对应关系如下表: 关系型JSON 文…

基于React的低代码开发:探索应用构建的新模式

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-OywB1Epu30PrvOJQ {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

智慧农业5G融合方案(2)

应用场景 农业航空 农业农村部资料显示,植保无人机具有机动灵活、喷施效率高、施药效果好等特点,能够克服复杂地形条件下地面喷雾机具进地难的问题。目前我国有400多家企业从事植保无人机研发、生产、销售等全产业链业务。主要机型以电动多旋翼为主。2018年作业面积约2.67亿…

ElasticSearch之文档的存储

写在前面 本文看下文档的存储相关内容。 1:如何确定文档存储在哪个分片? 我们需要确保文档均匀分布在所有的分片中,避免某些部分机器空闲,部分机器繁忙的情况出现,想要实现均匀分布我们可以考虑如下的几种分片路由算…

Python数据分析库之pandera使用详解

概要 在数据科学和数据分析中,数据的质量至关重要。不良的数据质量可能导致不准确的分析和决策。为了确保数据的质量,Python Pandera 库应运而生。本文将深入介绍 Python Pandera,这是一个用于数据验证和清洗的库,并提供丰富的示例代码,帮助大家充分利用它来提高数据质量…

FPGA AXI4总线操作教程

AXI(Advanced Extensible Interface)总线是一种高性能、低延迟的片上系统(SoC)接口标准,广泛应用于现代数字系统设计中。它允许不同的硬件组件以高效、可靠的方式进行数据传输和控制。本教程将介绍AXI总线的基本操作和…

Java实现快速排序算法

Java实现快速排序算法 以下是Java中的快速排序算法实现示例: public class QuickSort {// 快速排序入口函数public static void sort(int[] array) {quickSortRecursive(array, 0, array.length - 1);}// 递归函数实现快速排序private static void quickSortRecur…

【Linux】iftop命令详解

目录 一、iftop简介 二、安装iftop命令 2.1 命令查看测试环境系统信息 2.2 查看iftop版本与命令帮助 三、iftop的基本使用 3.1 直接使用iftop命令 3.2 iftop的显示说明 3.3 指定监控某块网卡 3.4 显示某个网段进出封包流量 3.5 按照流量排序 3.6 过滤显示连接 3.7 …

删除docker镜像文件时出现image is referenced in multiple repositories问题

首先查看docker镜像列表 docker images根据错误image is referenced in multiple repositories,我们发现e4e0b11c4100和928c7235d6a0分别有两个REPOSITORY,所以无法删除。此时我们需要通过REPOSITORY:TAG来指定需要删除的docker镜像文件 docker rmi vo…

Keepalive 解决nginx 的高可用问题

一 说明 keepalived利用 VRRP Script 技术,可以调用外部的辅助脚本进行资源监控,并根据监控的结果实现优先动态调整,从而实现其它应用的高可用性功能 参考配置文件: /usr/share/doc/keepalived/keepalived.conf.vrrp.localche…

【Linux】深入理解ls命令

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 基本用法 常用选项 示例 高级用法 结语 我的其他博客 前言 在 Linux 系统中,ls 命令是一个强大而又基础的工具&am…

海云安荣获「粤港澳大湾区金融创新成果优秀解决方案」奖

近日,由广东省粤港澳合作促进会指导,广东省粤港澳合作促进会金融专业委员会、粤港澳大湾区金融创新研究院和澳门电子金融产业贸易促进会联合开展了“第二届金融创新优秀应用案例与解决方案技术成果评定”工作。海云安向组委会提交的“海云安开发者安全助…

北斗卫星引领智能油气管线革新

北斗卫星引领智能油气管线革新 现代化的油气管线系统已成为国家经济发展的重要基础设施,而北斗卫星则为这些管线注入了新的活力。北斗卫星作为中国自主研发的卫星导航定位系统,其准确度和稳定性在全球范围内享有盛誉。在智能化时代的背景下,…

数字时代下的内部审计蜕变:探索数字化转型的七大关键领域

写在前面 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进行挖掘、分析和应用。广义…

统信os平台普通用户无法调用clockdiff的问题解决方法

问题描述 部署OceanBase 时遇到clockdiff: socket: operation not permitted 问题,从官网了解到可以通过setcap cap_net_rawep "$(which clockdiff)"解决 在centos平台,这个可以解决问题,但是在统信os平台失败了。。 参考: Ocea…

(黑马出品_05)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_05)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.初识elasticsearch1.1.了解ES1.1.1.elasticsearch的作用1.1.2.ELK技术栈1.1.3.elasticsearch和lucene1.1.4.为什么不是其他搜索技…