Python人工神经网络,人工神经网络,或简称神经网络,并不是一个新概念。它已经存在了大约 80 年。直到 2011 年,随着新技术的使用、巨大的数据集可用性和强大的计算机,深度神经网络才开始流行起来。
神经网络模仿神经元,神经元具有树突、细胞核、轴突和末端轴突。
对于网络,我们需要两个神经元。这些神经元通过一个树突和另一个树突的末端轴突之间的突触传递信息。

neurons_transfer_information
人工神经元的可能模型如下所示 –

probable_model
神经网络如下所示 –

neural_network
圆圈是神经元或节点,它们在数据上具有功能,连接它们的线/边是传递的权重/信息。
每列是一个层。数据的第一层是输入层。那么,输入层和输出层之间的所有层都是隐藏层。
如果你有一个或几个隐藏层,那么你有一个浅层神经网络。如果你有很多隐藏层,那么你就有了一个深度神经网络。
在这个模型中,您有输入数据,对其进行加权,然后将其传递给神经元中称为阈值函数或激活函数的函数。
基本上,它是将所有值与某个值进行比较后的总和。如果你发射一个信号,那么结果是 (1) out,或者没有发射任何东西,然后是 (0)。然后将其加权并传递给下一个神经元,并运行相同类型的函数。
我们可以使用 sigmoid(s 形)函数作为激活函数。
至于权重,它们只是随机开始,并且每个节点/神经元的输入都是唯一的。
在典型的“前馈”(神经网络的最基本类型)中,您让信息直接通过您创建的网络,并将输出与您希望使用样本数据的输出进行比较。
从这里开始,您需要调整权重以帮助您获得与所需输出相匹配的输出。
直接通过神经网络发送数据的行为称为前馈神经网络。
我们的数据按顺序从输入到层,然后到输出。
当我们倒退并开始调整权重以最小化损失/成本时,这称为反向传播。
这是一个优化问题。使用神经网络,在实际操作中,我们必须处理数十万、数百万或更多的变量。
第一个解决方案是使用随机梯度下降作为优化方法。现在,有 AdaGrad、Adam Optimizer 等选项。无论哪种方式,这都是一个巨大的计算操作。这就是神经网络半个多世纪以来大多被搁置的原因。直到最近,我们的机器才具备了考虑进行这些操作的能力和架构,以及与之相匹配的适当大小的数据集。
对于简单的分类任务,神经网络在性能上与其他简单算法(如 K 最近邻)相对接近。当我们拥有更大的数据和更复杂的问题时,神经网络的真正效用就会实现,这两者都优于其他机器学习模型。