神经网络与MBrace在大数据处理中的应用
1. 神经网络的构建与训练
在机器学习中,如果我们想要一个与之前的一对多逻辑回归方法表现不同的模型,可能需要插入至少一个隐藏层。每个输入节点都与隐藏层的每个节点相连(但不与下一层相连),隐藏层的每个节点又与每个输出节点相连。
1.1 神经网络训练的问题
在构建和训练神经网络时,会面临一些问题:
- 隐藏层神经元数量 :输入层和输出层的大小是明确的(每个特征对应一个神经元,每个类别对应一个神经元),但隐藏层应该包含多少个神经元呢?为什么是一个隐藏层,而不是两个、三个或更多?
- 模型训练方法 :需要估计大量的参数。例如,将784个输入连接到一个有10个神经元的层,需要调整近8000个权重。而且神经元之间相互连接,不能单独训练每个神经元。
- 权重初始化 :如果所有连接的权重都初始化为零,由于每个神经元相同,可能会导致每个神经元学习到相同的参数,无法捕捉输入集的不同特征。
1.2 反向传播训练方法
训练人工神经网络的主要方法是反向传播。类似于梯度下降,向网络输入示例,将期望的值与模型输出进行比较,然后在网络中逐层反向调整每个神经元,以减少误差。为避免节点相同的问题,使用某种随机过程初始化权重。
1.3 使用Accord库创建和训练神经网络
以下是使用Accord库创建和训练神经网络的代码示例:
#I @"../packages"
超级会员免费看
订阅专栏 解锁全文
43

被折叠的 条评论
为什么被折叠?



