术语“人工神经网络”ANN是指信息技术(IT)中的一种硬件或软件系统,它模仿了人脑中神经元的运作方式。作为一类深度学习技术,ANN(也称为神经网络)是人工智能(AI)的一个子集。它们最初是受到人脑的启发而开发的,它们构成了人脑的基本单元。
数据挖掘是用来描述从数据库中提取价值的过程的术语。数据仓库是存储信息的场所。
ANN 的训练:
我们可以通过向神经网络输入教学模式并根据某种学习规则让其调整权重来训练神经网络。我们可以将学习情况分类如下。
- 监督学习: 在这种方式中,通过向网络提供输入和与之匹配的输出模式来进行训练。这些输入-输出对可以由包含神经网络的外部系统提供。
- 无监督学习: 在这种方式中,训练输出以响应输入中的一组模式。无监督学习使用机器学习算法来分析和聚类未标记的数据集。
- 强化学习: 这种类型的学习可以被视为上述两种类型的中间形式,它通过让模型自主做出一系列决策来训练模型,从而为问题返回最优解。
教导人工神经网络的另一种方法是反向传播算法。这是一种教导人工神经网络的常用方法。反向传播算法用于前馈 ANN。反向传播算法的目的是减小这个误差,直到 ANN 学会了训练数据。
反向传播算法的步骤:
- 向神经网络展示训练样本。
- 将 ANN 的输出与数据中期望的输出进行比较。
- 计算每个输出神经元的误差。
- 对于每个神经元,计算缩放因子、输出,以及为了匹配期望输出输出应该高多少或低多少。这是一个局部误差。
算法:
- 初始化网络中的权重。
- 重复。
- 1. O =neural-net-output(network, e) ; 前向传递
- T = e 的教师输出
- 计算输出单元的误差 (T – O)
- 计算从隐藏层到输出层的所有权重的 delta_wi;反向传递
- 计算从输入层到隐藏层的所有权重的 delta_wi;继续反向传递
- 更新网络中的权重
- 直到所有例子都被正确分类或满足停止条件,然后 return(network)
训练神经网络的关键步骤:
选择一种神经网络架构。这意味着我们将主要考虑神经网络的连接模式,包括以下一些方面:
- 输入节点的数量: 确定输入节点数量的方法是确定特征的数量。
- 隐藏层的数量: 默认做法是使用单个或一个隐藏层。这是最常见的做法。
- 每个隐藏层中的节点数量: 如果使用多个隐藏层,最佳做法是在每个隐藏层中使用相同数量的节点。在一般实践中,隐藏单元的数量取与输入节点数量相当的数量。这意味着可以将隐藏节点的数量取为与输入节点相同,或者是输入节点数量的两倍或三倍。
- 输出节点的数量: 确定输出节点数量的方法是确定希望神经网络处理的输出类别的数量。
- 权重的随机初始化:权重被随机初始化为 0 到 1 之间的值,或者更确切地说,是非常接近于零的值。
- 实现前向传播算法,以计算任何隐藏层的一组输入向量的假设函数。
- 实现代价函数以优化参数值。大家可能还记得,代价函数有助于确定神经网络对训练数据的拟合程度。
- 实现反向传播算法,以计算与每个节点相关的误差向量。
- 使用梯度检查方法来比较通过反向传播计算的代价函数偏导数梯度与通过代价函数梯度的数值估计。梯度检查方法用于验证反向传播方法的实现是否正确。
- 在使用反向传播时使用梯度下降或高级优化技术