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 小时前
【YOLO11】【DeepSort】【NCNN】使用YOLOv11和DeepSort进行行人目标跟踪。(基于ncnn框架,c++实现)
人工智能·算法·目标检测
倒悬于世2 小时前
基于千问2.5-VL-7B训练识别人的表情
人工智能
大知闲闲哟2 小时前
深度学习TR3周:Pytorch复现Transformer
pytorch·深度学习·transformer
大哥喝阔落3 小时前
chatgpt plus简单得,不需要求人,不需要野卡,不需要合租,不需要昂贵的价格
人工智能·chatgpt
Godspeed Zhao3 小时前
自动驾驶中的传感器技术21——Camera(12)
人工智能·机器学习·自动驾驶·图像评测
hurrycry_小亦3 小时前
补:《每日AI-人工智能-编程日报》--2025年7月31日
人工智能
静心问道3 小时前
量化大型语言模型的评估
人工智能·语言模型·自然语言处理
gptplus4 小时前
AI + 云原生:正在引爆下一代应用的技术革命
人工智能·云原生
2401_831896034 小时前
机器学习(13):逻辑回归
人工智能·机器学习·逻辑回归
山烛5 小时前
决策树学习全解析:从理论到实战
人工智能·python·学习·算法·决策树·机器学习