Pycharm(二十)神经网络入门

一、什么是神经网络

人工神经网络 ( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。人脑可以看做是一个生物神经网络,由众多的神经元连接而成。各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号

当电信号通过树突进入到细胞核时,会逐渐聚集电荷。达到一定的电位后,细胞就会被激活,通过轴突发出电信号

如何构建神经网络?

这个过程就像,来源不同树突(树突都会有不同的权重)的信息, 进行的加权计算, 输入到细胞中做加和,再通过激活函数输出细胞值。

使用多个神经元来构建神经网络,相邻层之间的神经元相互连接,并给每一个连接分配一个强度.

概述:

神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动。其中的基本部分是:

1.输入层: 即输入 x 的那一层;

2.输出层: 即输出 y 的那一层;

3.隐藏层: 输入层和输出层之间都是隐藏层;

特点:

1.同一层的神经元之间没有连接;

2.第 N 层的每个神经元和第 N-1层 的所有神经元相连(这就是full connected的含义),这就是全连接神经网络;

3.第N-1层神经元的输出就是第N层神经元的输入

4.每个连接都有一个权重值(w系数和b系数)。

二、激活函数

激活函数 用于对每层的输出数据进行变换, 进而为整个网络注入了非线性因素。此时, 神经网络就可以拟合各种曲线

注:

1.没有引入非线性因素的网络等价于使用一个线性模型来拟合;

2.通过给网络输出增加激活函数, 实现引入非线性因素, 使得网络模型可以逼近任意函数, 提升网络对复杂问题拟合能力

常见的激活函数如下:

2.1 sigmoid函数

补充:

1.sigmoid 函数可以将任意的输入映射到**(0, 1)之间,当输入的值大致在 <-6 或者 >6 时,意味着输入任何值得到的激活值都是差不多的,这样会丢失部分的信息**。比如:输入100和输入 10000 经过 sigmoid 的激活值几乎都是等于 1 的,但是输入的数据之间相差 100 倍的信息就丢失了;

2.对于 sigmoid 函数而言,输入值在**-6, 6之间输出值才会有明显差异**,输入值在**-3, 3之间才会有比较好的效果;**

3.通过上述导数图像,我们发现导数数值范围是**(0, 0.25),当输入<-6 或者 >6** 时,sigmoid 激活函数图像的导数接近为 0,此时网络参数将更新极其缓慢,或者无法更新;

4.一般来说, sigmoid 网络在 5 层之内就会产生梯度消失现象。而且,该激活函数并不是以 0 为中心的,所以在实践中这种激活函数使用的很少。sigmoid函数一般只用于二分类的输出层

Python示例代码如下:

相关推荐
源码学社2 分钟前
股市复盘Skills全流程资料包:从手工复盘到AI赋能的进阶指南
人工智能·skills·股市复盘·股市复盘skills
hyuk的AI工坊5 分钟前
流式对话实战:LangChain4j + SSE 打字机效果全链路指南
人工智能
白色机械键盘11 分钟前
领域大模型微调数据集构建实战
大数据·人工智能
极客互动API26 分钟前
企业微信 iPad 协议服务搭建与 AI 回调实战
网络·汇编·人工智能·微信·企业微信·ipad
空堂与归27 分钟前
token畅享?FreeToken单卡5090跑满血DeepSeek_V4Flash
人工智能·free token
AI码农小姐姐27 分钟前
AI漫剧用什么软件制作?知漫剧小说导入成片教程
人工智能
ycjunhua28 分钟前
Spring AI 2.0 GA:ToolCallingAdvisor 重构与 Java Agent 新范式
java·人工智能·spring
二川bro1 小时前
零门槛上手DeepSeek Harness,从零自制arxiv搜索插件
人工智能
cxr8281 小时前
数学的本质:关系、模式与不变量的结构世界
人工智能·算法·机器学习
东莞和裕包装1 小时前
如何管控广州定制纸箱生产中的啤切精度与印刷色差质量问题
大数据·运维·网络·人工智能