ANN

ANN停止的标准

  • 特定次数的迭代(iteration)之后
  • 输出的误差低于阈值(threshold)
  • 独立验证集(separate validation set)上的错误小于某些标准(criteria)。

ANN各项参数的影响

学习率:过小,迭代(iteration)过多;过大,可能错过最优解,在损失函数(lossfunction)最低点震荡(oscillate)

动量(momentum):过小,陷入局部最优解(local minima);过大,造成下降方向与梯度方向差异较大,产生震荡。

*附:动量的作用: 1.使得训练时穿过(rolling through)局部最优(local minima)*

2.加大梯度不变时的步长(step size),提升收敛速率

迭代次数(learning iterations):过小,欠拟合,无法捕捉数据集的通用特征(characteristic)。过多,浪费计算资源,导致过拟合(overfitting)。

*附:防止过拟合的方法:1. 使用验证数据集(validation data set),当误差增加时,则立即停止训练*

2.使用预定义的迭代次数停止训练

3.使用预定义的误差阈值(threshold)停止训练

数据集:越大越好,大的good for training

超参数(hyperparameter):手动(manually)设置的参数,用于优化训练算法。

神经网络类型的数种概念

深度学习:使用多层非线性处理单元的级联进行特征提取和转换(feature extraction and transformation)。每一层都使用前一层的输出作为输入。隐藏层的作用:可以为模型引入其他影响因子(introducing extra factors),为网络提供了对数据中的非线性进行建模的能力。

迁移学习:使用其他数据进行预训练(pretrained)后的模型进行再次训练,以处理新数据。可以有效节省数据集(节省监督学习的数据标注量)。

单层感知机网络的局限性:单层感知机只能分类线性边界,因此XOR这样的需要多条线进行分割(requires more than one line to it),无法使用单层感知机进行建模。

循环神经网络(Recurrent Neutral Network):一种常用于处理时间序列数据的深度学习网络。隐藏层包含自反馈,序列的当前输出也与前一个输出相关,因此有内部记忆(internal memory)。擅长:处理未分割的手写识别或语音识别等(unsegmented connected handwriting recognition or speech recognition)缺点:1. 大多数RNN都存在缩放问题(scaling issue)。2. 在有大量输入数据集时,RNN不易训练。

*附:使用feedforward网络处理时间序列数据:需要将时间序列作为输入,例如以x(t), x(t-1), x(t-2)作为输入。训练同最正常神经网络*

卷积神经网络(Convolutional neural networks):常用于图像识别的神经网络。由多层卷积层-池化层还有一个全连接层(full connected layer)构成。卷积层:提取输入数据的特征。池化层:提取卷积结果的显著特征,减少计算量。被用于:手写识别、图像分类、人脸识别(face recognition)

训练方式

监督学习(supervised):需要使用被标注的数据(labeled data)进行学习。监督学习算法分析训练数据并产生一个推断函数,该函数可用于映射新样本。前馈神经网络就是一种有监督学习系统。

无监督学习(unsupervised):无需使用被标注的数据,在无标签数据中寻找隐藏结构(hidden structure),只是将现有的数据进行聚类(clustering)和分类(classifying)。SOM就是典型的无监督学习。

常用训练算法-梯度下降(Gradient descent):计算损失函数在当前点的梯度,并沿着梯度的相反(opposite)方向更新参数,直到找到损失函数的最小值,即朝着上升率最快的反方向行走。

验证数据集的意义(validation set):验证集是用于在训练时测试网络的数据,通常用于防止过拟合(overfitting)。


Fuzzy System

推理模型差异

Mamdani:使用连续的输出模糊集,可以能够以更直观、更人性化的方式描述专业知识。但需要更大的计算负担。

Sugeno:输出模糊集使用离散的特定数字。在计算上效率很高,并且可以很好地嵌入优化和自适应技术,这使得它在控制问题中非常有吸引力,特别是对于动态非线性系统。

归一化模糊变量的优点

  • 更有效地利用论域(universe of discourse)的间隔
  • 将规则库推广到更大范围的模糊化(To generalize the rule base for a wide range of fuzzification)
  • 为调教(tuning)提供了更多灵活性(flexibility)

Genetic Algorithm

GA的一个世代的步骤及其意义

编码(Encoding):将问题的可能解决方案视为种群中的个体(individuals)。如果解决方案可以分为一系列小步骤(构建块 Building blocks),那么这些步骤由基因表示,而一系列基因(染色体 chromosome)将编码整个解决方案。这样,问题的不同解决方案在遗传算法中表示为个体的染色体。

适应度函数(fitness function):代表一个问题的期望解的主要要求(即最便宜的价格,最短的路线,最紧凑的安排等)。该函数计算并返回单个解决方案的适应度。

选择算子(Selection operator):定义当前种群中个体被选择繁殖的方式。有许多策略(例如轮盘赌,排名,锦标赛选择等),,选择最适合当前算法的。

交叉(Crossover):定义了父母的染色体如何混合,以获得其后代的遗传密码(例如,一点,两点,均匀交叉等)。这个运算符实现了继承属性(inheritance property)(子代继承(inherit )父代的基因)。

变异(Mutation):算子会对后代的遗传密码(genetic codes)产生随机变化。这种操作符需要为遗传密码带来一些随机多样性(random diversity)。在某些情况下,如果不使用变异算子,遗传算法就无法找到全局最优解。
下面给出算法的流程图:

image-20250103102623368

表型和基因型的差异

表型(phenotypes):表型是基因型通过解码和表达所产生的实际特征或行为(actual characteristic or behaviour)。在遗传算法中,表型通常是基因型经过解码后得到的解。

基因型(genotypes):基因型是个体的遗传信息(individual’s genetic information)的编码表示。在遗传算法中,基因型通常表示为一个字符串或数组,其中每个元素代表一个基因,表型经过编码(encoding)即可得到基因型。

GA训练停止条件:

  • 超出允许的CPU时间(CPU time)后停止
  • 适应度超过给定阈值
  • 在一段时间内,改善不明显
  • 种群多样性(population diversity)在阈值以下

GA参数的影响

种群大小过大:可以找到解决方案,但是计算量提高

交叉率过大:可能产生震荡,不收敛

变异率过小:激励不足(not enough excitation),可能陷入局部最优解

GA是全局优化算法的原因

GA是一种随机算法( stochastic algorithm),它从分布在整个解空间(solution space)范围内的随机数开始,从而在整个解空间范围内寻找可行解,使算法成为一种全局优化搜索引擎。


图像处理

图像压缩的流程

image-20250103103405493

mapper:将数据变换(transform)到对压缩有友好的域上。其中一些mapper与傅里叶有关,例如DCT。

Quantization:引入误差的主要步骤。That introduces something that helps the compression, but limits us from being able to reconstruct exactly the image.

Symbol encoder:将图像使用更高效的编码(例如可变长的霍夫曼编码)进行存储。

JPEG使用DCT的原因

相较于DFT,DCT的边界拓展更加连续

image-20250103104836562

直方图均衡化的已知条件

图像复原的步骤

image-20250103104458118

逆滤波

在拍摄图像时,由于相机系统、运动干扰等引入噪声$h(x,y)$

那么在频域上,通过除$H(u,v)$即可

逆滤波的难点是如何估计退化函数H,通常情况是根据经验预测图像所经受的退化类型

维纳滤波

基本思想:将原图和复原图的均方差表达式最小化

如果将上述期望式子展开,用DCT变化到频率,则有

由于$\frac{p_\eta}{p_f}$通常是个常数,因此记为$K$。通过尝试不同的K值后,对上式进行IDFT观察图像复原的情况,从而复原图像。