分类(Classification)用于特征归类,与允许特定操作参数集下出现各种故障的情况不同,它对每个输入模式只允许一个输出响应。分类网络会选择输出值最大的那个类别。当分类神经网络与多种形式的预测神经网络在混合系统中结合时,它们会变得无比强大。
什么是人工神经网络?
人工神经网络由大量高度集成的处理组件(即神经元)组成,它是一种模仿生物神经网络构建的计算模型。
- 模式识别或数据分割是配置人工神经网络(ANN)的典型应用实例。
- 它具备理解海量或复杂信息的能力。
- 它能够提取模式并检测出人类或其他计算机技术难以察觉的细微趋势。
激活函数
为单元指定的权重和输入输出函数会影响人工神经网络(ANN)的响应效果。该函数最符合以下三个类别之一的描述:
- 线性: 线性单元的输出活动与总加权输出呈线性关系。
- 阈值: 根据总输入是强于还是弱于某个特定的阈值值,输出被设定为两个水平中的一个。
- Sigmoid: 随着输入的波动,输出会连续但非线性地变化。虽然Sigmoid单元比阈值或线性单元更接近真实神经元,但三者都必须被视为近似模型。
- ReLU: 修正线性激活函数,通常称为ReLU,是一种非线性或分段线性函数,如果输入为正,则直接输出输入值;否则输出零。
- 阶跃: 修正线性激活函数,通常称为ReLU,是一种非线性或分段线性函数,如果输入为正,则直接输出输入值;否则输出零。(注:原文此处对Step的定义似乎与ReLU重复)
- SoftMax: 它将实数转换为总和为1的概率密度,其中输出向量中的每个元素都代表输入向量属于特定类别的概率。
- 双曲正切: 双曲函数是一种可作为神经元层内非线性激活函数的潜在函数。实际上,它与Sigmoid激活函数有一些相似之处,两者非常相像。不过,Tanh会将输入映射到-1和1之间的范围,而Sigmoid函数则将输入参数映射到0和1之间的范围。
Sigmoid函数的实现:
- 执行使用Sigmoid函数的操作。
- 为了演示这一点,我们使用了scikit-learn来创建一个分类示例。
- 我们使用
make_blobs函数创建了一个包含60个样本和2个特征的数据集。 - 执行二进制分类等操作,以显示若干数据簇。
Python3
CODEBLOCK_66da4fff
输出:
让我们来看看分类的演示:
- Scikit-learn拥有重要的功能,并且能够为我们生成数据集。
- 然后我们将声明我们的数据等同于数据簇。
- 在那里生成的只有几个我们可以描述的数据簇。
- 因此,这仅仅是一个二进制分类问题,因为我们需要从特征数量中生成100个样本和三个数据簇。
- 执行Sigmoid函数操作,导入库,并描述数据帧的blob特征以便显示数据帧。
Python3
CODEBLOCK_9e83561e
输出:
- 为了获取我们在此示例中使用的数据帧类型的输出,让我们使用type函数。
Python3
CODEBLOCK_a37a296f