用 Python 绘制图表理解神经网络

这篇博客通过Python解释神经网络的工作原理,特别是前馈神经网络。文章创建了一个玩具数据集,展示了2个隐藏神经元的网络如何在2D空间中映射样本。讨论了网络架构,包括输入、隐藏和输出层的激活函数,以及反向传播训练过程。重点对比了ReLU和Tanh激活函数在训练过程中的效果。最后,提供了完整源码的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

92f74dc6dd1eb78d0af9507b99a7e199.png

人工神经网络 (ANN) 已成功应用于许多需要人工监督的日常任务,但由于其复杂性,很难理解它们的工作方式和训练方式。

在这篇博客中,我们深入讨论了神经网络是什么、它们是如何工作的,以及如何将它们应用于诸如寻找异常值或预测金融时间序列之类的问题。

在这篇文章中,我尝试直观地展示一个简单的前馈神经网络如何在训练过程中将一组输入映射到不同的空间,以便更容易理解它们。

数据

为了展示它是如何工作的,首先我创建了一个“ toy”数据集。它包含 400 个均匀分布在两个类(0 和 1)中的样本,每个样本具有两个维度(X0 和 X1)。

db4fb44812ab8914ae54d1e66082ae98.png

注:所有数据均来自三个随机正态分布,均值为 [-1, 0, 1],标准差为 [0.5, 0.5, 0.5]。

网络架构

下一步是定义ANN的结构,如下:

90ca9c739813b6f0687cd2cea65d4173.png

隐藏层的维度最小(2 个神经元)以显示网络在 2D 散点图中映射每个样本的位置。

尽管前面的图表没有显示,但每一层都有一个修改其输出的激活函数。

•输入层有一个linear激活函数来复制它的输入值。

0a11a02d09ab7dd2b9bdf1aa8ed11278.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值