python深度神经网络_深度神经网络简介及Python示例

本文介绍了多层感知器这一经典神经网络结构的历史背景及工作原理。从20世纪50年代的人工智能发展历程讲起,阐述了感知机的诞生及其在机器学习中的地位。随着梯度反向传播算法的发展,多层感知器得以训练并应用于实际问题。文章还解释了逻辑单元的工作流程,包括线性计算与激活函数的应用,并展示了如何使用Keras构建一个深度神经网络。

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

4172486b56ae4531b12d226384a85294

本文重点介绍一种被称为多层感知器的经典神经网络的结构。

神经网络的诞生简史

人工神经网络的起源可以追溯到20世纪50年代。当时,人工智能领域的乌托邦主义者接受了神经科学领域发展起来的学习理论。尤其是,神经相互连接在学习中的作用成为计算机研究人员的灵感来源。在1957年,心理学家Frank Rosenblatt制造了感知机,这是第一台学习机器,至今仍是机器学习的参考模型。由单层人工神经元组成的感知器显示出有限的能力。研究人员试图通过引入几层神经元来改善它,但没有找到合适的学习算法。然后,神经网络的研究一直持续到120世纪80年代。在这个时候,梯度反向传播的方法变得流行起来,允许训练多层神经网络(多层感知器)。尽管当时这个术语没有提到这个研究领域,但深度学习还是诞生了!从那时起,出现了其他类型的神经网络:卷积神经网络,递归神经网络,生成对抗网络等等。

逻辑单元/神经单元

逻辑单元或神经单元可以看作是神经元的一个非常简化的模型。它是构建神经网络的基础。它接受一组n个输入/特征,并基于权重(W)和偏差(b)参数计算一个标量,称为激活。输出的计算称为正向传播,计算如下:

1.线性:输入x的加权和。结果存储在变量z中。

2.激活:对z应用非线性函数。

激活可以是sigmoid、tanh、ReLU,甚至是回归网络输出的恒等函数。

以下是一个逻辑单元及其相关方程的备忘录表。这里只考虑一个训练实例x,ŷ是计算最终输出预测类或输出值。

ad724f96b7484d92bbce115dea5b68c9

逻辑单元(1个训练实例)

通常,机器学习数据集包含数千个甚至数百万个训练实例。为了提高计算效率,正向传播步骤以向量化方式执行。下面的备忘表显示了一个逻辑单元,其中包含m个训练实例。将实例堆叠到矩阵X中。

33e1fd0c0d8f4a8d956d8d0ba6249a91

逻辑单元(m个训练实例)

神经网络

有几种类型的神经网络,但比较简单的是感知器分类器。它由若干个逻辑单元叠加而成,形成一个隐藏层。每个输入特征都完全连接到下一层的每个神经单元。类似地,隐藏层的神经单元完全连接到输出层神经单元。为了清楚起见,偏差b在下图中没有显示。

4a89cd1be1c4472fa3a45664805f5006

深度神经网络

深度学习模型的典型实例是多层感知器。通常,只要神经网络由四层(即三个隐藏层+一个输出层)组成,便被视为深度网络。每层神经单元的数量可以不同。对于二元分类,输出层由单个神经单元组成(预测为0或1)。多类分类是将实例分为三个或更多类之一的问题。我们可以通过在输出层添加多个个神经单元来执行。

c846a9f16e8246e2a7a3f40443620c99

深度神经网络Python示例

下面是一个使用Keras的深度神经网络的基本实现,Keras是一个高级的神经网络API,用Python编写,能够在TensorFlow、CNTK或Theano上运行。

下面的Python示例深度神经网络由一个输入层、三个隐藏层和一个输出层(softmax)组成。Keras库管理所有的技术实现,如正向传播、成本计算和反向传播。

5f5c2123bfaa4adab67d236774e22062

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值