人工神经网络的特征工程与优化技术
立即解锁
发布时间: 2025-09-09 00:45:22 阅读量: 10 订阅数: 11 AIGC 


深度学习与计算机视觉实战
### 人工神经网络的特征工程与优化技术
#### 1. 人工神经网络基础
在人工神经网络中,“weights”变量存储着整个网络的所有权重。网络结构可根据每个权重矩阵的大小动态确定。例如,若“input_HL1_weights”变量的大小为 102×80,我们就能推断出第一个隐藏层有 80 个神经元。
“train_network”是核心函数,它通过遍历所有样本对网络进行训练。对于每个样本,会执行特定步骤。该函数接受训练迭代次数、特征、输出标签、权重、学习率和激活函数作为参数。激活函数有两种选择:ReLU 或 sigmoid。ReLU 是一种阈值函数,当输入大于 0 时返回输入本身,否则返回 0。
如果网络对某个样本的预测错误,会使用“update_weights”函数更新权重。这里没有使用优化算法,只是根据学习率简单更新权重,分类准确率不超过 45%。
训练完成后,会根据训练数据对网络进行测试,若训练数据上的准确率可接受,再用新的未见过的数据测试模型。
#### 2. 工程特征的局限性
Fruits 360 数据集的图像是在受限环境下拍摄的,包含每个水果的大量细节,这使得挖掘数据以找到最佳特征相对容易。但在现实应用中并非如此,同一类样本存在诸多变化,如不同视角、透视畸变、光照变化、遮挡等,为这类数据创建特征向量是一项复杂任务。
以 MNIST 手写数字识别数据集为例,它包含 70,000 个样本,图像为二进制,颜色特征不适用。而且似乎没有单一特征能适用于整个数据集,因此需要使用多个特征来覆盖数据集中的所有变化,这必然会产生巨大的特征向量。
假设能找到一个好的特征,还有另一个问题。单层人工神经网络的错误率为 12.0%,可以增加网络深度,但使用深度人工神经网络架构处理大特征向量的计算量非常大,不过这是解决复杂问题的一种方式。另一种方法是避免手动特征挖掘,开始寻找自动特征挖掘方法,以最大化准确率为目标搜索最佳特征集。
#### 3. 工程特征并未过时
工程特征并非过时技术,在某些问题上仍能发挥出色作用,但在处理一些复杂数据集时不是最佳选择。
这就好比数据科学家曾经使用计算器进行数学计算,手机发明和发展后,智能手机出现了各种可替代计算器功能的应用。但这并不意味着计算器就被淘汰不再使用了。计算器专门用于数学运算,而智能手机功能繁多。在某些情况下,工具的功能越少,性能越好,功能越多,开销越大。使用计算器进行运算很简单,而使用智能手机做同样的运算可能会受到来电、邮件提醒等干扰。同样,从数据科学的角度看,并非最新的技术就一定最好,要根据需求选择合适的技术。
不同的学习算法和特征适用于不同的任务,如分类和回归。有些算法可以追溯到 1950 年,有些则是近期出现的,但不能说旧模型一定比新模型差。例如,对于只有 100 张图像分为 10 类的简单问题,使用深度学习可能会增加复杂性,浅层学习就足够了。如果要创建一个区分四种水果的分类器,使用之前的手工制作/工程特征就足够,使用卷积神经网络(CNN)可能会增加开销,使任务变得复杂,因为需要指定各种参数,如层的类型、层数、激活函数、学习率等。而使用色调通道直方图就可以达到很高的准确率。
#### 4. 优化的重要性
在自动特征学习方法出现之前,数据科学家需要知道使用哪些特征、选择什么模型以及如何优化结果等。随着大量数据和高速设备的出现,深度学习可以自动推断出最佳特征。数据科学家的两个核心任务是模型设计和优化,而模型优化至少和构建模型本身一样重要。
选择机器学习任务的最优参数具有挑战性。有些结果不佳可能不是因为数据有噪声或学习算法弱,而是参数值选择不当。理想情况下,优化通过查看不同的解决方案并选择最佳方案来保证返回最优解。定义解决方案优劣的指标越多,找到最佳解决方案就越困难。
#### 5. 优化问题介绍
假设有一个图像数据集被分为多个类别,要创建一个图像分类器。经过研究,K 近邻(KNN)算法似乎是个不错的选择。使用 KNN 算法时,有一个重要参数 K,即邻居的数量。假设初始选择 K = 3。
科学家使用选定的 K = 3 开始 KNN 算法的学习过程,训练后的模型分类准确率达到 85%。但在进行不同实验之前,不能确定 85% 就是最佳准确率。为了进行新的实验,必须改变实验中的某些因素,如改变 KNN 算法中的 K 值。只有尝试不同的 K 值并观察分类准确率的变化,才能确定哪个 K 值能使分类性能最大化,这就是超参数优化。
在优化过程中,我们从实验变量的初始值开始,由于这些初始值可能不是最优的,所以需要不断改变它们,直到找到最佳值。有些情况下,这些值由复杂函数生成,手动求解困难。但优化非常重要,因为分类器准确率低可能是参数选择不当导致的。因此,运筹学研究人员提出了不同的优化技术来完成这项工作。
#### 6. 单目标和多目标优化
优化问题可以分为单目标和多目标问题。
##### 单目标优化示例
假设有一家图书出版商想最大化图书销售利润,使用公式 \(Y = -(X - 2)^3 + 3\) 计算每天的利润,其中 X 表示图书数量,Y 表示利润。为了优化这个问题,我们要找到输出变量 Y 的最佳值。Y 只依赖于输入变量 X,通过改变 X 可以改变 Y 的值。假设 X 的取值范围是 1 到 3(包含 1 和 3),我们需要尝试所有可能的 X 值,找到使 Y 最大的解。具体数据如下表所示:
| X | Y |
| --- | --- |
| 1 | 4 |
| 2 |
0
0
复制全文
相关推荐









