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示例代码如下:

相关推荐
THMAIL1 天前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%1 天前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
xcnn_1 天前
深度学习基础概念回顾(Pytorch架构)
人工智能·pytorch·深度学习
attitude.x1 天前
PyTorch 动态图的灵活性与实用技巧
前端·人工智能·深度学习
骥龙1 天前
XX汽集团数字化转型:全生命周期网络安全、数据合规与AI工业物联网融合实践
人工智能·物联网·web安全
zskj_qcxjqr1 天前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代
大数据·人工智能·科技·机器人
Ven%1 天前
第一章 神经网络的复习
人工智能·深度学习·神经网络
研梦非凡1 天前
CVPR 2025|基于视觉语言模型的零样本3D视觉定位
人工智能·深度学习·计算机视觉·3d·ai·语言模型·自然语言处理
Monkey的自我迭代1 天前
多目标轮廓匹配
人工智能·opencv·计算机视觉
每日新鲜事1 天前
Saucony索康尼推出全新 WOOOLLY 运动生活羊毛系列 生动无理由,从专业跑步延展运动生活的每一刻
大数据·人工智能