一文速学-让神经网络不再神秘,一天速学神经网络基础(一)


前言

思索了很久到底要不要出深度学习内容,毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新,很多坑都没有填满,而且现在深度学习的文章和学习课程都十分的多,我考虑了很久决定还是得出神经网络系列文章,不然如果以后数学建模竞赛或者是其他更优化模型如果用上了神经网络(比如利用LSTM进行时间序列模型预测),那么就更好向大家解释并且阐述原理了。但是深度学习的内容不是那么好掌握的,包含大量的数学理论知识以及大量的计算公式原理需要推理。且如果不进行实际操作很难够理解我们写的代码究极在神经网络计算框架中代表什么作用。不过我会尽可能将知识简化,转换为我们比较熟悉的内容,我将尽力让大家了解并熟悉神经网络框架,保证能够理解通畅以及推演顺利的条件之下,尽量不使用过多的数学公式和专业理论知识。以一篇文章快速了解并实现该算法,以效率最高的方式熟练这些知识。

现在很多竞赛虽然没有限定使用算法框架,但是更多获奖的队伍都使用到了深度学习算法,传统机器学习算法日渐式微。比如2022美国大学生数学建模C题,参数队伍使用到了深度学习网络的队伍,获奖比例都非常高,现在人工智能比赛和数据挖掘比赛都相继增多,对神经网络知识需求也日渐增多,因此十分有必要掌握各类神经网络算法。

博主专注建模四年,参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。此专栏的目的就是为了让零基础快速使用各类数学模型、机器学习和深度学习以及代码,每一篇文章都包含实战项目以及可运行代码。博主紧跟各类数模比赛,每场数模竞赛博主都会将最新的思路和代码写进此专栏以及详细思路和完全代码。希望有需求的小伙伴不要错过笔者精心打造的专栏。


神经网络基础

神经网络的基础知识,我们能够掌握到以上8点基础知识,就算成功。 对于神经网络的理解,我们最好建立较为具体的思考内容而不是单单建立知识概念的抽象内容。当我们谈论神经网络时,其实可以把它想象成一种模仿人脑工作方式的计算方法。你可以把神经网络想象成一个由很多个小单元(神经元)组成的网络,就像大脑中的神经元一样。那么让我们回到上初中生物课的时候,先给大家放一张我们人类基础的神经大脑图片:

 

 不知道大家是否还有印象,再给大家放一张神经网络框架图片:

 

我们可以这样类比,和神经元传播类似:神经网络可以分为三层,分别是输入层,隐藏层以及输出层。每一层我们可以理解为就是大量的神经元组成的一个功能系统,也就是视为一个大号的神经元,释放的神经递质也就是我们当前层传递给下一层的数据参数,受体层则根据上一层给出的信号,去调整下一层该释放的神经信号。由此不断的一层一层传递数据,直到结束,也就是到输出层。

在神经网络中,最左边的一层称为输入层,如图,它有三个神经元。最右边的一层称为输出层,它包含两个输出神经元。如果一个层既不是输入层也不是输出层,那么我们就可以称其为隐藏层。不过隐藏层并不只限定有一层,比如下图:

 这个网络就有两层隐藏层。接下来我们再对单个神经元进行研究。

1.1神经元

 一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以用向其他多个神经元传递信息。轴突末梢与其他神经元的树突产生连接,从而传递信号。

在神经网络中,神经元模型是一个包含输入输出与计算功能的模型。输入可以类比为神经元的树突,输出可以类比为神经元的轴突,而计算则可以类比为细胞核。以下图为例:

 

 这就是一个典型的神经元模型,包含三个输入一个输出以及两个计算功能,连线称为“连接”,每一条连接线上都有一个“权重值”。权重的概念在我以往的机器学习算法都有很多次介绍这里便不开展,可以理解为线性回归中的a,b值。一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

 现在了解到了基础的神经网络结构后不免产生疑问,神经层数是越多越好吗?神经网络设置的神经元个数是否会影响分类效果?

1.2神经网络性质

一般来说更多的神经元的神经网络可以表达更复杂的函数。然而这即是优势也是不足,也就是说我们可以通过神经网络工具建造大炮甚至是究极导弹,但是你却让我去打蚊子,也就是令我们算法工程师最头疼的过拟合问题。过拟合想必不过多描述,以一个实际案例大家基本都能了解:

 如上图所示,图中圆点代表数据集,颜色代表数据的类别。红色和绿色的圆点代表数据集的类别情况,红色和绿色的背景表示神经网络的分类情况。当网络隐藏层包含3个神经元时,模型并没有将绿色圆点和红色圆点都很好地区分开。

当我们将隐藏层的神经元个数调整为6的时候:

我们明显发现分类效果更好了,大部分数据都得到了比较好的分类。当将隐藏层的神经元个数再次扩充至20个时:

 这时候的分类效果达到了极致,可以说是99.9%了,大家肯定觉得这个模型简直完美,但是我要告诉大家的是这模型几乎不可能用,因为它过分了区分了红色和绿色,如果我新加入一些数据集落入红绿边缘的时候,几乎都有明确的关系,那么我们再次训练的时候便不能灵敏的根据新加入的数据集去调整区域了,而且实际上的数据集并不是明显可分的,更多的是模棱两可。因此更好的泛化能力才是我们追求的。

如果数据比较简单,我们可以使用结构较为简单的网络防止过拟合。为了防止过拟合,工程师研发出了很多方法,比如正则化,噪声处理等。本篇文章主要给大家先引入神经网络基本概念,下一篇将给大家具体详细阐述神经网络的关键计算函数-激活函数。

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

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

相关文章

C语言刷题(13)

第一题 第二题 第三题 第四题 第五题 第六题 第七题 注意 1.nsqrt(n),sqrt本身不会将n开根 2.初始化已经令sumn了,故相加的个数为m-1次

K8S用户管理体系介绍

1 K8S账户体系介绍 在k8s中,有两类用户,service account和user,我们可以通过创建role或clusterrole,再将账户和role或clusterrole进行绑定来给账号赋予权限,实现权限控制,两类账户的作用如下。 server acc…

小航助学GESP_C++一级模拟测试卷第2套(含题库答题软件账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…

大学生创业出路【第二弹】科创训练营

目录 🚀一、我从哪里了解到的训练营 🚀二、训练营里学习和日常 🔎学习 🔎环境和设备 🔎遇到的人 🔎团队记录视频 🚀三、感悟 ​​​​个人主页:一天三顿-不喝奶茶&#x1f39…

JVM元空间溢出的排除思路

背景: java的应用我们为了防止元空间的无限扩展,一般都会设置MaxMetaSpace参数,一般来说只要这个值是512M或者1G左右就足够了,不过今天遇到一个meta空间溢出问题,简单记录下排除的思路 meta元空间溢出 最开始的现象…

实验六 u-boot-2013.01移植

【实验目的】 了解u-boot 的代码结构及移植的基本方法 【实验环境】 ubuntu 14.04发行版FS4412实验平台交叉编译工具arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行 【实验步骤】 一、建立自己的平台 下载uboot源码 在uboo…

【网络】DNS | ICMP | NAT | 代理服务器

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 前面几篇文章虽然讲介绍了整个网络通信的协议栈,我们也知道了完整的网络通信过程&#xff…

【⑬MySQL | 数据类型(一)】简介 | 整数 | 浮点 | 定点类型

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL数据类型简介 | 整数 | 浮点 | 定点类型的分享✨ 目录 前言0.数据类型简介1 整数类型2 浮点类型3 定点类型4 日期/时间类型总结 0.数据类型简介 数据类型(data_type)是指系统中所允许的…

LRU淘汰策略执行过程

1 介绍 Redis无论是惰性删除还是定期删除,都可能存在删除不尽的情况,无法删除完全,比如每次删除完过期的 key 还是超过 25%,且这些 key 再也不会被客户端访问。 这样的话,定期删除和堕性删除可能都彻底的清理掉。如果…

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

百度许少辉著Baidu《乡村振兴战略下传统村落文化旅游设计》图书馆新书通报

AWS SDK 3.x for .NET Framework 4.0 可行性测试

前言 为了应对日益增长的网络安全挑战, 越来越多的互联网厂商已经陆续开始或者已经彻底停止了对 SSL 3 / TLS 1.0 / TLS1.1 等上古加密算法的支持. 而对于一些同样拥有悠久历史的和 AWS 服务相关联的应用程序, 是否可以通过仅更新 SDK 版本的方式来适应新的环境. 本文将以 Win…

揭开pkill的秘密:在Linux中杀死进程的完整指南

揭开pkill的秘密:在Linux中杀死进程的完整指南 一、前言二、进程管理基础知识2.1、什么是进程?2.2、进程管理的原理和目的2.3、进程状态和标识符 三、理解Linux pkill命令3.1、pkill命令的概述和作用3.2、与kill命令的对比3.3、常见的pkill命令选项和参数…

PCAP01介绍和STM32模拟SPI驱动

一.芯片介绍 Pcap01是德国acam公司设计的一款革命性的电容测量芯片。该芯片 内部有DSP计算单元,可以直接将电容元件接到Pcap01芯片,然后芯片计算出容值大小,通过SPI总线将电容容值数据传送给CPU,电容测量完全数字化。 二,测量原…

无脑入门pytorch系列(五)—— nn.Dropout

本系列教程适用于没有任何pytorch的同学(简单的python语法还是要的),从代码的表层出发挖掘代码的深层含义,理解具体的意思和内涵。pytorch的很多函数看着非常简单,但是其中包含了很多内容,不了解其中的意思…

docker启用cgroup v2

要求 本人的操作系统是kali,基于debian docker info如果你这里是2那么说明启用了,如果是1,那么就未启用 对于Docker来说,Cgroups v2的使用需要满足以下条件: Linux内核版本在4.15以上。 uname -r 系统已经启用Cgro…

前端处理图片文件的方法

在项目开发过程中&#xff0c;有一个需求&#xff0c;需要前端对上传的图片进行处理&#xff0c;以字符串的形式传给后端&#xff0c;实现效果如下&#xff1a; 1.上传图片的组件 在该项目中&#xff0c;使用了element plus组件库 <el-uploadv-model:file-list"fileL…

c++(8.23)类,this指针,构造函数,析构函数,拷贝构造函数

设计一个Per类&#xff0c;类中包含私有成员&#xff1a;姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员&#xff1a;成绩、Per类对象 p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream>u…

​8th参考文献:[8]许少辉.乡村振兴战略下传统村落文化旅游设计[M]北京:中国建筑工业出版社,2022.

​&#xff18;th参考文献&#xff1a;&#xff3b;&#xff18;&#xff3d;许少辉&#xff0e;乡村振兴战略下传统村落文化旅游设计&#xff3b;&#xff2d;&#xff3d;北京&#xff1a;中国建筑工业出版社&#xff0c;&#xff12;&#xff10;&#xff12;&#xff12;&a…

notebook写好代码后直接生成PPT报告(html格式)

注&#xff1a;记录使用notebook直接生成html格式的PPT报告&#xff08;html格式&#xff09;。 前置内容&#xff1a;如果直接导出没有Reveal.js.slides(.slides.html)选项&#xff0c;需要安装插件nbextensions。 安装参考&#xff1a;插件nbextensions安装 操作步骤&#x…

PostgreSQL-UDF用户自定义函数-扩展插件

目录 PostgreSQL-UDF用户自定义函数-扩展插件零、前置条件一、创建 .c 和 .sql 文件创建.c文件创建.sql文件 二、创建 .control 和 Makefile 文件创建 .control 文件创建 Makefile 文件 三、编译 & 链接四、psql&#xff08;或者其他PG backend&#xff09;中创建扩展 Post…