神经网络(neural network)

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

神经元和大脑(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.rhkb.cn/news/271423.html

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

相关文章

经典排序算法之希尔排序|c++代码实现||什么是希尔排序|如何代码实现

引言 排序算法c实现系列第4弹——希尔排序 算法介绍 希尔排序(Shell Sort),也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。该排序算法的基本思想是将原始序列分成若干个子序列&#xf…

Finetuning Large Language Models: Sharon Zhou

Finetuning Large Language Models 课程地址:https://www.deeplearning.ai/short-courses/finetuning-large-language-models/ 本文是学习笔记。 Goal: Learn the fundamentals of finetuning a large language model (LLM). Understand how finetu…

Scrapy与分布式开发(2.3):lxml+xpath基本指令和提取方法详解

lxmlxpath基本指令和提取方法详解 一、XPath简介 XPath,全称为XML Path Language,是一种在XML文档中查找信息的语言。它允许用户通过简单的路径表达式在XML文档中进行导航。XPath不仅适用于XML,还常用于处理HTML文档。 二、基本指令和提取…

pytorch续写tensorboard

模型训练到一半有 bug 停了,可以 resume 继续炼,本篇给出 pytorch 在 resume 训练时续写 tensorboard 的简例,参考 [1-3],只要保证 writer 接收的 global step 是连着的就行。 Code import numpy as np from torch.utils.tensor…

【node版本问题】运行项目报错 PostCSS received undefined instead of CSS string

最近该项目没有做任何修改,今天运行突然跑不起来报错了 PostCSS received undefined instead of CSS string 【原因】突然想起来期间有换过 node 版本为 16.17.1 【解决】将 node 版本换回之前的 14.18.0 就可以了

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

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

25考研资料PDF汇总

资料V馊public号ZL研知己 V馊public号ZL研知己 25考研资料PDF汇总

开关电源安规测试标准与测试要求

安规测试是对开关电源进行电气性能、安全性能等检测,确保开关电源符合规定并且安全可靠,为开关电源的质量把关。那么开关电源安规测试有哪些测试要求和标准呢? 开关电源安规测试要求 一、测试前 1. 首先,要检查测试环境&#xff0…

Python数据处理实战(5)-上万行log数据提取并分类进阶版

系列文章: 0、基本常用功能及其操作 1,20G文件,分类,放入不同文件,每个单独处理 2,数据的归类并处理 3,txt文件指定的数据处理并可视化作图 4,上万行log数据提取并作图进阶版 …

基于OpenCV的图形分析辨认02

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言:Python,编程软件:vscode或pycharm,必备的第三方库:OpenCV,numpy,matplotlib,os等等。 关于OpenCV&…

WPF学习三(MVVM+自定义按钮等的登录界面)

跟着bilibil龙马哥视频做的一个登录界面,个人感觉讲得很到位,适合新手),他是从开始的前后绑定慢慢解耦合到MVVM,让我较快的理解了WPF的基础。 【WPF入门】WPF零基础到精通,从概念到实操,步步提升…

换手机后日记不见了怎么恢复?换手机日记内容同步方法

曾经,我使用的是一款苹果手机,这部手机陪伴了我整整3年。随着时间的推移,手机内存不够用成为了我面临的一个大问题,因此我决定更换一部新手机——这次我选择了OPPO品牌。在更换手机的过程中,我利用手机搬家软件一键同步…

英语四级开始报名了?大学生如何三个月突破四级【文章底部添加进大学生就业交流群】

目录 一、明确考试内容与要求 二、制定合理的复习计划 三、注重听力和阅读能力的提升 四、加强词汇和语法的积累 五、多做真题和模拟题 英语四级考试,对于大多数大学生来说,是检验英语水平的一个重要标准。随着报名时间的来临,许多同学都…

vue3 ref获取子组件显示 __v_skip : true 获取不到组件的方法 怎么回事怎么解决

看代码 问题出现了 当我想要获取这个组件上的方法时 为什么获取不到这个组件上的方法呢 原來: __v_skip: true 是 Vue 3 中的一个特殊属性,用于跳过某些组件的渲染。当一个组件被标记为 __v_skip: true 时,Vue 将不会对该组件进行渲染&am…

开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)

一、前言 通过“开源模型应用落地-工具使用篇-Spring AI-Function Call(八)-CSDN博客”文章的学习,已经掌握了如何通过Spring AI集成OpenAI以及如何进行function call的调用,现在将进一步学习Spring AI更高阶的用法,如…

vscode 使用ssh进行远程开发 (remote-ssh),首次连接及后续使用,详细介绍

在vscode添加remote ssh插件 首次连接 选择左侧栏的扩展,并搜索remote ssh 它大概长这样,点击安装 安装成功后,在左侧栏会出现远程连接的图标,点击后选择ssh旁加号便可以进行连接。 安装成功后vscode左下角会有一个图标 点击图…

08.回调地狱函数及其解决(Promise链式调用)

一.同步代码和异步代码 1. 同步代码: 逐行执行,需原地等待结果后,才继续向下执行 2. 异步代码: 调用后耗时,不阻塞代码继续执行(不必原地等待),在将来完成后触发回调函数传递结果…

Windows上基于名称快速定位文件和文件夹的免费工具Everything

在Windows上搜索文件时,使用windows上内置搜索会很慢,这里推荐使用Everything工具进行搜索。 "Everything"是Windows上一款搜索引擎,它能够基于文件名快速定位文件和文件夹位置。不像Windows内置搜索,"Everything&…

Docker-完整项目的部署(保姆级教学)

目录 1 手动部署(白雪版) 1.1 创建网络 1.2 MySQL的部署 1.2.1 准备 1.2.2 部署 1.3 Java项目的部署 1.3.1 准备 1.3.1.1 将Java项目打成jar包 1.3.1.2 编写Dockerfile文件 1.3.2 部署 1.3.2.1 将jar包、Dockerfile文件放在linux同一个文件夹下 1.3.2.2 构建镜像 …

飞行汽车首飞成功?一文讲解飞行汽车与其代表的立体交通形式

中国的“飞行汽车”从深圳跨越大湾区到珠海首飞成功,既是一次重要尝试,更是交通运输行业发展史中一个全新的起点 关注我,共同交流,一起成长 前言一、基本认识飞行汽车二、发展飞行汽车必要性三、飞行汽车所形成的影响 前言 2月27…