神经元算法的原理 Microsoft 神经网络算法 (SSAS)

http://blog.csdn.net/bing_shan/article/details/1401546


Microsoft 神经网络算法使用由三层神经元(即感知器)组成的多层感知器网络,该网络也称为反向传播 Delta 法则网络。这些层分别是输入层、可选隐藏层和输出层。在一个多层感知器网络中,每个神经元接收一个或多个输入,产生一个或多个相同的输出。每个输出都是对神经元的输入之和的简单非线性函数。输入只是从输入层中的节点传递到隐藏层中的节点,最后传递到输出层。同一层中的神经元之间没有连接。(如果没有隐藏层,则输入从输入层中的节点传递到输出层中的节点。)有关多层感知器神经网络的详细探讨不属于本文档的范围。使用 Microsoft 神经元网络算法构造的挖掘模型可以包含多个网络,这取决于用于输入和预测的列的数量,或者取决于仅用于预测的列的数量。一个挖掘模型包含的网络数取决于挖掘模型使用的输入列和预测列包含的状态数。在使用 Microsoft 神经网络算法创建的神经网络中,存在三种神经元类型:  
输入神经元  
输入神经元提供数据挖掘模型的输入属性值。对于离散输入属性,输入神经元通常代表输入属性的单个状态,其中包括缺少的值。例如,一个二进制输入属性生成一个输入节点,该节点说明缺少的或现有的状态,并指示该属性是否存在值。用作输入属性的 Boolean 列可生成三个输入神经元:一个神经元用于 True 值,一个神经元用于 False 值,还有一个神经元用于缺少或现有的状态。具有两个以上状态的离散输入属性可为每个状态生成一个输入神经元,并为缺少的或现有的状态生成一个输入神经元。一个连续的输入属性可生成两个输入神经元:一个是针对缺少的或现有的状态的神经元,一个是针对连续属性自身的值的神经元。输入神经元可向一个或多个隐藏神经元提供输入。    
隐藏神经元  
隐藏神经元接收来自输入神经元的输入,并向输出神经元提供输出。  
 
输出神经元  
输出神经元代表数据挖掘模型的可预测属性值。对于离散输入属性,输出神经元通常代表可预测属性的单个预测状态,其中包括缺少的值。例如,一个二进制可预测属性可生成一个输出节点,该节点说明缺少的或现有的状态,以指示该属性是否存在值。用作可预测属性的 Boolean 列可生成三个输出神经元:一个神经元用于 True 值,一个神经元用于 False 值,还有一个神经元用于缺少或现有的状态。具有两种以上状态的离散可预测属性可为每个状态生成一个输出神经元,并为缺少的或现有的状态生成一个输出神经元。连续可预测列可生成两个输出神经元:一个是针对缺少的或现有的状态的神经元,一个是针对连续列本身的值的神经元。如果通过检查可预测列集生成了 500 个以上的输出神经元,则 Analysis Services 将在挖掘模型中生成一个新的网络,用于代表超出部分的输出神经元。神经元可接收多个输入:对于输入神经元,神经元接收来自原始数据的输入;对于隐藏神经元和输出神经元,神经元接收来自神经网络中其他神经元的输出的输入。输入在神经元之间建立了关系,而这些关系可用作分析特定事例集时的路径。为每个输入都分配了一个称为

权重

的值,该值用于说明特定的输入对于隐藏神经元或输出神经元的相关性和重要性。分配给输入的权重值越大,则该输入与算法在确定该输入是否成功分类一个特定事例时所收到的神经元的相关性就越高,重要性也就越大。另请注意,权重可以是负值,表示输入可能抑制而不是激活特定神经元。输入值与权重相乘可以强调特定神经元的输入。(对于负权重值,输入值与权重相乘可降低重要性。)相应地,每个神经元都分配有一个称为

激活函数

的简单非线性函数,用于说明特定神经元对于神经网络层的相关性或重要性。隐藏神经元使用双曲正切函数作为其激活函数,但输出神经元使用 S 函数 (Sigmoid) 作为其激活函数。这两个函数都是非线性连续函数,允许神经网络在输入和输出神经元之间建立非线性关系模型。

    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/tropicofcancer9/article/details/54692718
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞