当前位置:   article > 正文

全连接神经网络

全连接神经网络

1、描述一下梯度和梯度下降的意义。

梯度用来表示目标函数的斜率,即函数在某一点的变化率

梯度下降是一种优化算法,它通过迭代地更新模型参数来最小化目标函数。梯度下降首先计算目标函数在当前参数值处的梯度,然后按照梯度的反方向调整参数值,从而使目标函数值不断减小。通过不断重复这个过程,找到目标函数的局部最小值,即最优解。

2、什么是线性可分和线性不可分?线性不可分转换为线性可分有几种方法?分别是什么方法?

超平面:在n维空间中,n-1维的平面

线性可分是指一个数据集可以使用一个超平面将不同类别的样本完全分开

线性不可分是指在二维或者更高维空间中,不能用超平面将不同类别的样本完全分开

有三种方法将线性不可分转为线性可分:

(1)多项式扩展:将原始特征进行多项式扩展,使得数据更加复杂

(2)核函数:核函数可以将数据映射到更高维的空间

(3)引入人工特征:通过手动添加一些特征

3、sigmoid和tanh激活函数的区别是什么?sigmoid做为网络中间激活层和网络输出层的区别是什么?

区别:sigmoid激活函数的输出范围为(0,1),它可以将任意实数映射到一个介于0和1之间的值。因此,sigmoid函数通常用于二分类问题中,作为输出层的激活函数,表示某个样本属于正类的概率。

正类:在二分类问题中,正类是指我们希望识别的那个类别。例如,如果我们希望区分垃圾邮件和非垃圾邮件,那么垃圾邮件就是正类,非垃圾邮件就是负类。

 

当我们使用分类模型来对某个样本进行预测时,输出的结果通常是一个介于0和1之间的值,表示该样本属于正类的概率。如果输出值大于0.5,则可以判定为正类;否则判定为负类。

tanh激活函数的输出范围为(-1,1),它可以将任意实数映射到一个介于-1和1之间的值。因此,tanh函数通常用于多分类问题中,作为输出层的激活函数,表示某个样本属于不同类别的概率。

中间层中,sigmoid和tanh的表现略有不同。sigmoid函数的输出范围在(0,1)之间,因此处于中间层的神经元输出的值会比较小,这可能导致梯度消失问题。而tanh函数的输出范围在(-1,1)之间,当输入很大或很小时,其导数会趋近于0,也会出现梯度消失的问题。因此,在深度神经网络中,通常使用其他激活函数(如ReLU)来替代sigmoid和tanh函数。

4、softmax输出函数和sigmoid输出函数的区别是什么?什么情况下二者可以替换?

sigmoid输出函数的输出范围是(0,1),通常用于二分类问题中,表示某个样本属于正类的概率。

softmax输出函数将多个输入映射到一个介于0和1之间的值,并且这些值的和等于1。因此,softmax通常用于多分类问题中,表示每个类别的预测概率。

在二分类问题中,我们可以使用softmax代替sigmoid,将问题转化为多分类问题。

5、数据归一化的方法有哪些?为什么要使用归一化?归一化和去均值化的区别是什么?

数据归一化是将不同规格和量级的数据转换为相同规格和量级的过程,目的是消除各个特征之间的量纲差异,在数据预处理、特征工程等领域被广泛应用。以下是常用的数据归一化方法:

  1. 最大最小值归一化(Min-Max Scaling):将数据线性映射到[0, 1]之间。

  2. Z-Score标准化:将数据按均值为0、方差为1的正态分布进行调整。

  3. 小数定标标准化(Decimal Scaling):将数据除以基数的幂次方,使其绝对值小于1。

为什么要使用归一化?因为在机器学习中,模型的训练和预测都依赖于数据的质量,而数据的质量受到各种因素的影响,例如特征之间的量纲差异、缺失值、异常值等。数据归一化能够消除特征之间的量纲差异,使得特征具有可比性、可解释性和可视化性,有助于提高模型的精度和稳定性。

归一化与去均值化的区别在于,归一化是将数据缩放到一个指定的范围内,而去均值化则是使得数据的平均值为0

6、全连接神经网络的缺点

全连接神经网络(Fully Connected Neural Network)是一种最基本的神经网络,它由多个层组成,每层都包含多个神经元,其中相邻两层之间的神经元之间都有权重连接。虽然全连接神经网络在很多任务上表现出色,但也存在一些缺点:

  1. 参数过多:全连接神经网络中的参数量通常非常大,这会导致模型的训练和推理速度变慢,同时也容易发生过拟合现象。

  2. 不适用于图像等高维数据:对于图像等高维数据,全连接神经网络需要大量的隐藏层神经元才能保留足够的信息,这会导致网络过于庞大,难以训练。

  3. 缺乏位置信息:全连接神经网络无法保留输入数据中的位置信息,因此可能无法捕捉到某些模式或规律,例如图像中的空间结构。

为了克服全连接神经网络的一些缺点,出现了很多改进的神经网络结构,例如卷积神经网络、循环神经网络等。这些神经网络结构可以更好地处理高维数据,并且通常具有更少的参数量和更好的性能。

7、什么是归一化,它与标准化的区别是什么?

归一化(Normalization)是将不同规格和量级的数据转化为同一规格和量级的过程,常用的方法有最大最小值归一化、Z-Score标准化和小数定标标准化等。

与归一化不同,标准化(Standardization)是指将原始数据按照均值为0、方差为1的标准正态分布进行调整。与最大最小值归一化相比,标准化更适合于处理特征值分布较为分散的情况,也可以避免由于某些特征值过大导致的权重过大问题。

8、神经网络中激活函数的意义是什么?一个激活函数需要具有哪些必要的要求?

神经网络中的激活函数是非线性函数,通常作用于每个神经元的输出,将其转化为非线性的形式。激活函数的作用在于引入非线性因素,使得神经网络可以处理更加复杂的数据模式和规律。

具体来说,激活函数的作用包括以下几点:

  1. 引入非线性因素:如果没有激活函数,神经网络只能表示线性函数,而无法处理更加复杂的非线性问题。

  2. 增强神经网络的表达能力:通过使用不同的激活函数,可以增强神经网络的表达能力,从而提高其性能。

  3. 解决梯度消失问题:某些激活函数(如ReLU)可以缓解梯度消失问题,从而加速模型的训练过程。

一个好的激活函数应该具备以下一些必要的要求:

  1. 非线性:激活函数必须是非线性的,否则神经网络就变成了多层线性模型,无法处理非线性问题。

  2. 可导或近似可导:激活函数应该是可导或近似可导的,这样可以方便地对其求导,从而使用误差反向传播算法来更新神经网络的参数。

  3. 单调性:激活函数应该是单调的,这样可以保证随着输入值的增加或减少,输出值也会相应地增加或减少。

  4. 非饱和性:激活函数在一定范围内应该具有非饱和性,即对于一些大的输入值,其导数不应该趋近于0,否则可能会导致梯度消失问题。

  5. 收敛快:激活函数的收敛速度应该尽可能快,以便更快地训练神经网络。

9、为什么softmax比sigmoid更适合做分类?

softmax函数比sigmoid函数更适合做分类的原因如下:

  1. 多分类问题:softmax函数可以将多个输入映射到一个介于0和1之间的值,并且这些值的和等于1,从而表示每个类别的预测概率。在多分类问题中,softmax函数能够直接输出各个类别的概率,方便模型进行分类决策。

  2. 可处理互斥事件:softmax函数适用于互斥事件,即每个样本只能属于一个类别。而sigmoid函数只能处理二元分类问题,需要通过多个神经元进行组合才能处理多分类问题。

  3. 梯度计算简单:softmax函数的导数可以使用矩阵形式来表达,因此在使用误差反向传播算法时,计算梯度非常简单。而sigmoid函数的导数需要使用除法,计算相对复杂。

10、画图表示什么是反向传播?

 

11、反向传播是如何进行梯度更新的?

先计算输出误差,然后通过链式法则从输出层向输入层逐层计算梯度并更新参数。

 

 

由图可知,竖轴为损失,横轴为权重,

(1)通过正向传播得到的输出值与标签对比得到损失值

(2)通过 y = w * x + b计算出此时权重,绘制出类似于上图的损失权重关系曲线

(3)如图,可知损失最低为D点,此时斜率为0,此点就是需要更新的权重值

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/405674
推荐阅读
相关标签
  

闽ICP备14008679号