人工神经网络

人工神经网络,或简称神经网络,并不是一个新概念.它已经存在了大约80年.

直到2011年,深度神经网络才开始流行使用新技术,巨大的数据集可用性和强大的计算机.

神经网络模仿神经元,它具有树突,核,轴突和末端轴突.

终端轴突

对于网络,我们需要两个神经元.这些神经元通过一个树突和另一个轴突的突触之间的突触传递信息.

神经元转移信息

一个可能的人工神经元模型看起来像这样 : 去;

可能模型

神经网络如下图所示 :

神经网络

圆圈是神经元或节点,它们在数据上的功能和连接它们的线条/边缘是传递的权重/信息.

每列都是一个图层.数据的第一层是输入层.然后,输入图层和输出图层之间的所有图层都是隐藏图层.

如果您有一个或几个隐藏图层,那么您有一个浅层神经网络.如果你有很多隐藏层,那么你有一个深层神经网络.

在这个模型中,你有输入数据,你加权,并通过神经元中的函数传递它称为阈值函数或激活函数.

基本上,它是将某个值与某个值进行比较后的所有值的总和.如果你发出一个信号,那么结果是(1)输出,或者什么也没发出,然后是(0).然后将其加权并传递给下一个神经元,并运行相同类型的函数.

我们可以使用sigmoid(s形)函数作为激活函数.

对于权重,它们只是随机启动,并且每个输入到节点/神经元中它们是唯一的.

在典型的"前馈"中",最基本的神经网络类型,您可以直接通过您创建的网络传递信息,并将输出与您希望输出使用样本数据的内容进行比较.

从这里开始,您需要调整权重以帮助您使输出与您想要的输出相匹配.

直接通过神经网络发送数据的行为称为前馈神经网络.

我们的数据从输入到层,按顺序,然后到输出.

我们后退并开始调整权重以最小化损失/成本,这称为反向传播.

这是一个n 优化问题.使用神经网络,在实际操作中,我们必须处理数十万个变量,或数百万或更多变量.

第一个解决方案是使用随机梯度下降作为优化方法.现在,有AdaGrad,Adam Optimizer等选项.无论哪种方式,这都是一个庞大的计算操作.这就是为什么神经网络大多数被搁置半个多世纪的原因.直到最近,我们甚至在我们的机器中才有能力甚至考虑进行这些操作,以及匹配的适当大小的数据集.

对于简单的分类任务,神经网络与K Nearest Neighbors等其他简单算法的性能相对接近.当我们拥有更大的数据和更复杂的问题时,实现了神经网络的真正实用性,这两个问题都胜过其他机器学习模型.