神经网络(neural network)

news2024/11/17 1:53:08

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

神经元和大脑(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.coloradmin.cn/o/1499604.html

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

相关文章

耐腐蚀PFA消解管可配四氟回流盖适配海能莱伯泰科全自动石墨消解仪

PFA消解管,也叫PFA消化管、特氟龙消解管、耐高温消解杯等,应用于气相、液相、等离子光谱质谱、原子吸收、原子荧光等化学分析方法的样品前处理,可消解重金属、农残、食品、淤泥、稀土、水产品、有机物等。 PFA消解管 PFA消解管可耐强酸、强碱…

【论文阅读】(2024.03.05-2024.03.15)论文阅读简单记录和汇总

(2024.03.05-2024.03.15)论文阅读简单记录和汇总 2024/03/05:随便简单写写,以后不会把太详细的记录在CSDN,有道的Markdown又感觉不好用。 目录 (ICMM 2024)Quality Scalable Video Coding Based on Neural Represent…

(2024.03.04)如何打包Android Studio项目?

一、引言 最近帮助很多从未谋面的小伙伴调试了一下AS的项目,调试完成后需要他们查看是否与当初需求一致,此时就需要将已完成的项目打包,即导出APK安装包,发送到他们的手机上就可以下载安装使用了。在这里一是分享给大家打包方法&…

Java项目:41 springboot大学生入学审核系统的设计与实现010

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本大学生入学审核系统管理员和学生。 管理员功能有个人中心,学生管理,学籍信息管理,入学办理管理等。 学…

实验1:查看CPU和内存,用机器指令和汇编指令编程

预备知识:Debug的使用 1.Debug: Debug时DOS、Windows都提供的实模式(8086 方式)程序的调试工具。 debug是Windows 16位或者32位机器上的一款调试工具。 也就是说,在WindowsXP及以前的机器上都有debug,直接…

【C++从0到王者】第五十二站:跳表

文章目录 一、什么是跳表二、skiplist的效率三、skiplist的实现 一、什么是跳表 skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。 skiplist,…

【PCIe】 PCIe 拓扑结构与分层结构

🔥博客主页:PannLZ 文章目录 PCIe拓扑结构PCIe分层结构 PCIe拓扑结构 计算机网络中的拓扑结构源于拓扑学(研究与大小、形状无关的点、线关系的方法)。 把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组…

HTTP请求响应详解 (HTTP请求数据格式,常见请求方式,后端响应参数)及Apifox(postman)使用方式

目录 一.HTTP协议 二.HTTP请求数据格式 请求方式 三.后端响应请求 基于SpringBoot响应数据 请求响应的参数类型 同一响应格式 四.Apifox(postman)使用方法 一.HTTP协议 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种用…

maven项目引入私有jar,并打包到java.jar中

私有jar存放位置 maven依赖 <dependency><groupId>com.hikvision.ga</groupId><artifactId>artemis-http-client</artifactId><version>1.1.10</version><scope>system</scope><systemPath>${project.basedir}/s…

JS实现chatgpt数据流式回复效果

最近高了一个简单chatgpt对话功功能&#xff0c;回复时希望流式回复&#xff0c;而不是直接显示结果&#xff0c;其实很简单&#xff0c;前端流式读取即可&#xff0c;后端SSE实现流式传输 前端用到fetch获取数据&#xff0c;然后利用reader读取 let requestId parseInt(Ma…

笛量智能加入飞桨技术伙伴计划,共同打造“AI+私域智慧运营”新模式

近日&#xff0c;上海笛量智能科技有限公司正式加入飞桨技术伙伴计划&#xff0c;双方将共同努力在私域运营机器人技术及生态建设做出贡献&#xff0c;致力打造“AI私域运营”智能化新模式&#xff0c;助力产业降本增效。 上海笛量智能科技有限公司 上海笛量智能科技有限公司&a…

6款ai写作一键生成,让你的文字脱颖而出

如今AI写作工具正逐渐走入我们的生活&#xff0c;成为我们写作的得力助手&#xff0c;它们通过分析大量的文本数据和机器学习算法&#xff0c;能够快速生成文章的大纲、段落结构等&#xff0c;从而帮助我们节省写作时间&#xff0c;提高写作效率。今天&#xff0c;我将为大家介…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑净负荷均衡的分布式光伏集群电压调控策略研究》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Vue时间轴

之前有这样子的需求没有用第三方插件于是自己写一个简单的时间轴 时间轴滚动条并左右切换滚动条位置相对应移动 <div class"time-scrollbar"><div v-if"timeLineData.length>0" class"scrollbar-content"><div class"ar…

NextJs教程系列(四):路由loading

loading加载 loading.js 可以帮助你使用React Suspense创建一个组件, 当你在加载路由内容时&#xff0c;它会显示该加载状态组件&#xff0c;渲染完成后&#xff0c;新的内容将会自动替换。 传统ssr渲染流程 传统的ssr渲染流程&#xff0c;当用户请求一个页面时&#xff0c;服…

入门学习Python推荐书籍

. Python作为一门易学易用的编程语言&#xff0c;在近些年得到了越来越多的关注和应用。Python的开发效率极高&#xff0c;语言特性丰富&#xff0c;拓展性强。因此&#xff0c;Python成为了众多IT工程师、科研人员、数据分析师以及爱好者的首选。 那么&#xff0c;对于初学者…

led护眼灯真的能护眼吗?五大热门护眼台灯测评,不容错过!

如今&#xff0c;儿童近视率不断攀升&#xff0c;其中用眼过度疲劳已成为近视的主要诱因。学习环境中光线的适宜与否&#xff0c;直接关乎孩子眼睛的疲劳程度。因此&#xff0c;为孩子营造一个舒适、健康的学习环境显得尤为关键。而一款优质的护眼台灯&#xff0c;正是预防近视…

Hive-源码带你看hive命令背后都做了什么

一、源码下载 下面是hive官方源码下载地址&#xff0c;我下载的是hive-3.1.3&#xff0c;那就一起来看下吧 https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-src.tar.gz 二、总结 由于篇幅太长担心占用你的时间&#xff0c;先把总结写到前面。 1、命令行输入 …

【Linux】软件管理器yum和编辑器vim

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、Linux下安装软件的方案1.1 源代码安装1.2 rpm安装1.3 yum安装 二、Linux软件…

备战2024年汉字小达人活动:历年区级样题练习和解析

今天我们来看一下汉字小达人活动的第一轮选拔的区级样题。区级样题是中文自修杂志社&#xff08;主办方&#xff09;发布的试题&#xff0c;主要是给学校老师选拔参考使用的&#xff0c;据了解&#xff0c;很多学校老师是直接用这个样卷在学校组织选拔&#xff0c;选拔成绩突出…