Py学习  »  机器学习算法

机器学习中的人工神经网络

大数据应用 • 6 年前 • 439 次点击  

原文作者:Sheetal Sharma 

原文链接:https://www.datasciencecentral.com/profiles/blogs/artificial-neural-network-ann-in-machine-learning

人工神经网络 - 介绍


人工神经网络(ANN)或神经网络是计算算法。


它旨在模拟由“ 神经元”组成的生物系统的行为。人工神经网络是受动物中枢神经系统启发的计算模型。 它具有机器学习和模式识别的能力。 这些能力以系统的形式表现出来,即可以从输入值来计算结果的相互关联的“神经元”系统。


神经网络是一个定向图。 它由节点组成,就像生物的神经元,通过弧连接。它对应于树突和突触 。 每个弧在每个节点处与一个权重相关联。 将节点接收到的输入值,定义输入的弧线的激活函数,由弧线的权重进行调整。


神经网络是基于人类神经元模型的机器学习算法。人脑由数百万个神经元组成。 它以电子和化学信号的形式发送和处理信号。 这些神经元以特殊结构相连接,称为突触。 突触允许神经元传递信号。神经网络就是由大量这样的模拟神经网络组成。


人工神经网络是一种信息处理技术。 它像人脑处理信息的方式一样工作。ANN包括大量相互连接的处理单元,它们一起处理信息。 他们也从中产生了有意义的结果。


我们不仅可以应用神经网络进行分类。 它也可以用于连续目标属性的回归。


神经网络在行业中的数据挖掘中有很好的应用。 例如经济学,取证学等,以及模式识别。经过仔细的训练,它也可以用于大量数据的数据分类。


神经网络可能包含以下3个层次:


        输入层 - 输入单元的活跃度表示可进入网络的原始信息。

        隐藏层 - 确定每个隐藏单元的活跃度。输入单元的活跃度和输入与隐藏单元之间连接的权重。 可能有一个或多个隐藏层。

       输出层 - 输出单元的行为取决于隐藏单元的活跃度以及隐藏单元和输出单元之间的权重。


人工神经网络层

人工神经网络通常是分层组织的。 图层由许多包含“激活功能”的相互连接的“节点”组成。神经网络可能包含以下3个层次:


a

输入层


输入层的目的是接收每个观测值的解释属性的值作为输入。通常,输入层中输入节点的数量等于解释变量的数量。“输入层”向网络呈现图案,其与一个或多个“隐藏层”进行通信。

 

输入层的节点是被动的,这意味着它们不会改变数据。节点从输入层收到一个值,并将其复制到他们的众多输出中。它复制输入层的每个值,并发送到所有的隐藏节点。


b

隐藏层


隐藏层将给定的转换应用于网络内的输入值。在这里,从其他隐藏节点的弧,或从输入节点传入的弧,连接每个节点。它连接了输出节点或其他隐藏节点的弧。在隐藏层中,实际处理是通过加权“连接”系统来完成的。这其中可能有一个或多个隐藏层。进入一个隐藏节点的值乘以权重,存储在程序中的一组预定数字。然后,加权的输入被添加到产生一个单一的数字。


c

输出层


之后,隐藏的层链接到“输出层”。输出层接收来自隐藏层或来自输入层的连接。它返回一个对应于响应变量预测的输出值。在分类问题中,通常只有一个输出节点。输出层的活动节点结合并改变数据以产生输出值。

 

神经网络能够给出数据操作的核心在于适当选择权重。这与传统的信息处理不同。


神经网络的结构


神经网络的结构也被称为其“架构”或“拓扑”。它由层数,基本单位组成。它也包括互换权重调整机制。结构的选择决定了将要获得的结果。这是神经网络实施中最关键的部分。

 

最简单的结构是单元呈两层分布结构:输入层和输出层。输入层中的每个单元都有一个输入和一个与输入相等的输出。输出单元将输入层的所有单元连接到他们的输入,具有组合功能和传输功能。可能有超过1个的输出单位。在这种情况下,产生的模型是线性或逻辑回归。这取决于传递函数是线性的还是逻辑的。网络的权重是回归系数。

 

通过在输入层和输出层之间增加一层或多层隐层,神经网络的预测能力增加。但是隐藏层的数量应该尽可能小。这确保了神经网络不存储来自训练数据集的所有信息,但可以将其推广以避免过度拟合。

 

过度拟合有可能发生。当权重使得系统学习训练数据集的细节而不是发现结构时,过度拟合就会发生,这是因为训练数据集的大小相对于模型的复杂度而言太小。

隐藏层有可能存在也有可能不存在,当有多个类需要预测时,网络的输出层有时会有很多单元。


神经网络的优点和缺点


让我们看看神经网络的优点和缺点:

 

神经网络在线性和非线性数据下表现良好,但对神经网络(特别是机器人学)的普遍批评是,它们需要对现实世界的操作进行大量的训练。这是因为任何学习机器都需要足够的代表性例子来捕捉基本结构,从而使其能够推广到新的情况。

 

神经网络即使有一个或几个单元不能响应网络仍然能运行良好,但要实现大型有效的软件神经网络,需要承担大量的处理和存储资源。虽然大脑具有针对通过神经元图处理信号的任务量身定制的硬件,但是模拟冯诺依曼技术的最简化形式可能迫使神经网络设计者为其连接在数据库中添加数百万行——这会消耗大量的计算机内存和硬盘空间。

 

神经网络从分析好的数据中学习,不需要重新编程,但是它们被称为“黑盒子”模型,并且对这些模型真正在做什么提供很少的运作信息。用户只需要喂它输入,看着它训练并等待输出。


结论


人工神经网络被看作是增强现有数据分析技术的简单数学模型。 虽然它不能与人脑的力量相媲美,但它仍然是人工智能的基本组成部分。


您也许还想看看

周日Live直播 | 学CS还在局限于刷题求Offer? 不如拓宽一下知识面: Spark大数据开发与构架

周六Live线上研讨会 | 商科与理工科综合技能求职之路: 商业分析师

2月24日开课 | 数据应用学院 AI人工智能训练营火热报名中

校园大使招募 | 我们能给的,不止是一份工作!

每日一练 | Data Scientist & Business Analyst & Leetcode 面试题 287



点击“阅读原文”查看数据应用学院核心课程


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/DRB18s2O5p
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/6667
 
439 次点击