面试题库笔记
(1)简述数据预处理的主要过程,以及每个步骤所使用的主要方法。
数据预处理包括数据清洗、数据集成、数据转换和数据规约四个步骤。
一、数据清洗
数据清洗是数据预处理的第一步,主要是为了处理原始数据中存在的错误、缺失、重复、异常等问题。具体步骤如下:
1.去重:检查数据集中是否存在重复的数据记录,如有重复,删除其中的一条或多条记录。
2.处理缺失值:数据集中可能存在某些数据缺失的情况,可以通过删除缺失值、替换缺失值或使用插值方法进行处理。
3.处理异常值:检查数据集中是否存在异常值,如有异常值,可以进行删除、替换或使用插值方法进行处理。
4.处理错误值:检查数据集中是否存在错误值,例如数据类型不正确等,需要进行数据纠正。
二、数据集成
数据集成是将多个数据源中的数据整合到一起形成一个数据集的过程。具体步骤如下:
1.数据收集:从不同的数据源中收集数据,并将数据转换成数据集成所需的格式。
2.数据清洗:对不同数据源的数据进行清洗,去除重复数据、处理缺失数据、异常数据和错误数据。
3.数据集成:将多个数据源的数据整合到一个数据集中,合并重复数据、保留有用的数据等。
三、数据转换
数据转换是将原始数据转换成适合分析的格式或形式的过程。具体步骤如下:
1.数据格式转换:将原始数据转换成可读取的格式,例如将Excel文件转换成CSV文件。
2.数据统一:对于不同的数据源,需要进行数据的统一化处理,例如使用统一的单位和时间格式。
3.数据规范化:对于不同的数据类型,需要进行数据规范化处理,例如将字符串类型的数据转换成数值类型。
4.数据离散化:将连续型数据转换成离散型数据,例如将年龄分组。
四、数据规约
数据规约是将数据集中的数据缩减到合理的范围内,以便于分析和处理。具体步骤如下:
1.数据抽样:从数据集中抽取一部分数据进行分析,可以减少计算量,并且可以保证结果的可靠性。
2.数据聚集:将数据按照一定的方式进行聚合,例如求平均值、求和、最大值、最小值等。
3.数据规则建立:针对数据集中的特定属性,建立相应的规则,例如数据分类、数据分组等。
(2)机器学习中,如何解决分类问题中训练数据不均衡问题?
1、扩大数据集
当遇到类别不均衡问题时,首先应该想到,是否可能再增加数据(一定要有小类样本数据),更多的数据往往战胜更好的算法。因为机器学习是使用现有的数据对整个数据的分布进行估计,因此更多的数据往往能够得到更多的分布信息。即使再增加小类样本数据时,又增加了大类样本数据,也可以使用放弃一部分大类数据(即对大类数据进行欠采样)来解决。
2、欠采样
欠采样(under-sampling):对大类的数据样本进行采样来减少该类数据样本的个数,使其与其他类数目接近,然后再进行学习。欠采样若随机丢弃大类样本,可能会丢失一些重要信息。
欠采样的代表算法是EasyEnsemble:利用集成学习机制,将大类划分为若干个集合供不同的学习器使用。这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息。
3、过采样
过采样(over-sampling ):对小类的数据样本进行采样来增加小类的数据样本个数。过采样的代表算法是SMOTE和ADASYN。
SMOTE:通过对训练集中的小类数据进行插值来产生额外的小类样本数据。产生新的少数类样本,产生的策略是对每个少数类样本a,从它的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本。
ADASYN:基本思想是根据学习难度的不同,对不同的少数类别的样本使用加权分布,比较容易学习的少数类样本,对于难以学习的少数类的样本,产生更多的综合数据。 因此,ADASYN方法通过两种方式改善了对数据分布的学习:(1)减少类不平衡引入的偏差,(2)将分类决策边界自适应地转移到困难的样本。
(3)深度学习中,什么是梯度消失?深度学习如何解决梯度消失?
梯度消失:当误差反向传播到较早的层次时,梯度可能变得非常小,接近于零。这会导致网络难以学习和更新这些较早层次的参数,从而影响网络的性能。梯度消失问题在深度神经网络中尤为严重,因为梯度需要通过更多的层次进行传播。在 RNN 中,梯度消失问题可能导致网络难以捕捉长期依赖关系,即模型难以记住较早的信息。
梯度消失产生的主要原因有:一是使用了深层网络,二是采用了不合适的损失函数。
梯度消失解决方法:
(1)pre-training+fine-tunning
此方法来自Hinton在2006年发表的一篇论文,Hinton为了解决梯度的问题,提出采取无监督逐层训练方法,其基本思想是每次训练一层隐节点,训练时将上一层隐节点的输出作为输入,而本层隐节点的输出作为下一层隐节点的输入,此过程就是逐层“预训练”(pre-training);在预训练完成后,再对整个网络进行“微调”(fine-tunning)。此思想相当于是先寻找局部最优,然后整合起来寻找全局最优,此方法有一定的好处,但是目前应用的不是很多了。
(2) 选择relu等梯度大部分落在常数上的激活函数
relu函数的导数在正数部分是恒等于1的,因此在深层网络中使用relu激活函数就不会导致梯度消失的问题。
(3)batch normalization
BN就是通过对每一层的输出规范为均值和方差一致的方法,消除了权重参数放大缩小带来的影响,进而解决梯度消失的问题,或者可以理解为BN将输出从饱和区拉到了非饱和区。
(4) 残差网络的捷径(shortcut)
相比较于之前的网络结构,残差网络中有很多跨层连接结构(shortcut),这样的结构在反向传播时多了反向传播的路径,可以一定程度上解决梯度消失的问题。
(5)LSTM的“门(gate)”结构
LSTM全称是长短期记忆网络(long-short term memory networks),LSTM的结构设计可以改善RNN中的梯度消失的问题。主要原因在于LSTM内部复杂的“门”(gates),LSTM通过它内部的“门”可以在更新的时候“记住”前几次训练的”残留记忆“
(4)什么是过拟合?深度学习中,如何解决过拟合?
过拟合是指模型在训练数据上表现得太好,以至于失去了对未见过数据的泛化能力。简单来说,它学到了训练数据的噪音而非潜在的模式。
解决方法
数据增强 (Data Augmentation):创建训练数据的变体,可以通过旋转、缩放等方式来实现。
正则化 (Regularization): 通过添加惩罚项减少模型的复杂度,如L1或L2正则化。
剪枝 (Pruning): 移除模型中不重要的参数或层。
Dropout: 在训练过程中随机丢弃一些神经元,防止网络过于依赖某些特定的连接。
交叉验证 (Cross Validation): 通过将数据分为训练集和验证集来评估模型的泛化能力。
(5)图像处理中,数字图像中有哪些基本特征?
数字图像的基本特征主要包括以下几个方面:
空间分布特性:
空间位置:数字图像以二维矩阵结构的数据来描述图像,矩阵是按照行列的顺序来定位数据,所以物体的位置也是用行列号表示。
形状:物体的形状在数字图像上是利用像元组合来近似描述。一般把现实中的物体分为点状、线状和面状三类。
大小:物体的大小指面状物体的面积或者线状物体的长度,在图像上表现为像元的集聚状态。通常利用描述物体的像元个数来表达。在同一幅图像上,像元集聚个数越多,则说明物体越大,反之则说明物体越小。
空间关系:物体通常由多个像元组合而成,它在空间分布上也呈现一定的空间组合关系,例如湖面中的小岛(包含关系)、海洋和陆地的关系(相邻关系)等,这种关系称为拓扑关系,它不会随着物体的形状变化而变化。数字图像上的空间关系可分为相邻、包含、相离三种。
数值统计特性:
直方图:直方图是一种数值统计特性,用于表示图像中像素强度分布的情况。通过直方图,可以了解图像的明暗程度以及颜色分布等信息。
这些基本特征是数字图像处理和分析的基础,对于理解图像内容、进行图像识别和自动化处理等方面具有重要意义。