人工神经网络的特征工程与优化技术解析
1. 神经网络基础与训练
在神经网络中,“weights”变量存储着整个网络的所有权重。通过每个权重矩阵的大小,能够动态地确定网络结构。例如,若“input_HL1_weights”变量的大小为 102×80,我们就能推断出第一个隐藏层有 80 个神经元。
核心函数“train_network”用于训练网络,它会遍历所有样本。对于每个样本,会执行特定步骤。该函数接受训练迭代次数、特征、输出标签、权重、学习率和激活函数作为参数。激活函数有 ReLU 和 sigmoid 两种选择。ReLU 是一种阈值函数,当输入大于 0 时返回输入值,否则返回 0。
若网络对某个样本的预测错误,会使用“update_weights”函数更新权重。这里不使用优化算法,仅根据学习率进行简单更新,此时网络的准确率不超过 45%。
训练完成指定迭代次数后,会依据训练数据对网络进行测试,以判断其在训练样本上的表现。若训练数据的准确率可接受,就可以用新的未见过的数据来测试模型。
2. 工程特征的局限性
Fruits 360 数据集的图像是在受限环境下拍摄的,每个水果都有丰富的细节,这使得挖掘数据以找到最佳特征相对容易。然而,现实世界的应用并非如此简单。同一类别的样本之间存在诸多差异,如不同的视角、透视畸变、光照变化、遮挡等。为这类数据创建特征向量是一项复杂的任务。
以 MNIST 手写数字识别数据集为例,它包含 70,000 个样本,图像为二进制,颜色特征类别不适用。而且,似乎没有单一特征能适用于整个数据集,因此需要使用多个特征来涵盖数据集中的所有变化,这必然会产生一个巨大的特征向量。 </
超级会员免费看
订阅专栏 解锁全文
9万+

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



