文章目录
- 一、正则化惩罚
- 1.L1正则化
- 2.L2正则化
- 二、梯度下降(Gradient Descent)
- 1.基本原理
- 2.注意事项
- 三、BP神经网络
- 1.基本原理
- 2.网络结构
- 3.特点
- 四、总结
一、正则化惩罚
正则化惩罚(Regularization Penalty)是机器学习中常用的一种技术,用于减少模型的复杂度,防止模型过拟合,提高模型的泛化能力。过拟合是指模型在训练数据上表现非常好,但在新的、未见过的数据上表现不佳的情况。这通常是因为模型学习到了训练数据中的噪声或细节,而不是数据的真实规律。
正则化通过在损失函数中添加一个惩罚项(也称为正则项)来实现。这个惩罚项通常与模型的复杂度有关,复杂度越高,惩罚项的值就越大,从而增加了损失函数的值。在训练过程中,模型会尝试在最小化损失函数(包括原始损失和正则化惩罚)和保持模型复杂度之间找到一个平衡点。
常见的正则化方法有L1正则化、L2正则化等。
1.L1正则化
L1正则化通过在损失函数中添加模型权重的绝对值之和(即L1范数)作为惩罚项。这有助于产生稀疏的权重矩阵,即许多权重值变为0,从而可以进行特征选择。L1正则化的数学表达式如下:
L
o
s
s
=
O
r
i
g
i
n
a
l
L
o
s
s
+
λ
∑
i
∣
w
i
∣
Loss=Original Loss+λ\sum_i |w_i|
Loss=OriginalLoss+λi∑∣wi∣
其中,
w
i
w_i
wi是模型的权重,λ 是正则化系数,用于控制正则化的强度。
2.L2正则化
L2正则化通过在损失函数中添加模型权重的平方和(即L2范数)作为惩罚项。与L1正则化不同,L2正则化不会使权重变为0,但会使权重值向0收缩,这有助于防止模型过于依赖某些特征。L2正则化的数学表达式如下:
L
o
s
s
=
O
r
i
g
i
n
a
l
L
o
s
s
+
λ
∑
i
w
i
2
Loss=Original Loss+λ\sum_i w_i^2
Loss=OriginalLoss+λi∑wi2
二、梯度下降(Gradient Descent)
梯度下降(Gradient Descent)是一种优化算法,用于寻找函数的局部最小值。在机器学习和深度学习中,梯度下降是最常用的优化技术之一,特别是在寻找损失函数的最小值方面。损失函数是衡量模型预测值与实际值之间差异的函数,我们的目标是找到使损失函数最小的模型参数。
1.基本原理
- 偏导数
一个多变量函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定。 - 梯度
梯度可以定义为一个函数的全部偏导数构成的向量,梯度向量的方向即为函数值增长最快的方向 - 梯度下降法
梯度下降算法通过迭代地更新参数来最小化损失函数。在每次迭代中,算法会计算损失函数关于模型参数的梯度(即偏导数),然后沿着梯度的反方向更新参数。这是因为梯度的方向是函数值增长最快的方向,所以梯度的反方向就是函数值减少最快的方向。
2.注意事项
- 学习率的选择:学习率太小会导致收敛速度慢,太大则可能导致无法收敛到最优解,甚至发散。
- 特征缩放:为了加快梯度下降的收敛速度,通常需要对输入特征进行缩放,使它们具有相似的尺度。
- 局部最小值与全局最小值:梯度下降只能保证找到局部最小值,而不是全局最小值。在某些情况下,可能需要使用其他优化算法或策略来寻找全局最小值。
三、BP神经网络
BP神经网络(Back Propagation Neural Network),也称为反向传播神经网络,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一。
1.基本原理
BP神经网络的基本思想是利用梯度下降法,通过反向传播算法来调整网络中的连接权重,以最小化网络输出与期望输出之间的误差。具体来说,算法包括信号的前向传播和误差的反向传播两个过程:
前向传播:输入信号通过隐含层(可以有一层或多层)作用于输出节点,经过非线性变换,产生输出信号。
反向传播:如果实际输出与期望输出不相符,则计算误差,并将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小。
2.网络结构
BP神经网络由输入层、隐藏层和输出层组成。每个层级都由多个神经元构成,它们通过带有权重的连接相互连接。隐藏层的数量和每层神经元的数量可以根据具体任务的需要进行调整。
3.特点
- 非线性映射能力:BP神经网络具有很强的非线性映射能力,可以逼近任何复杂的非线性函数。
- 自适应学习能力:网络可以通过自身的训练,学习某种规则,在给定输入值时得到最接近期望输出值的结果。
- 并行处理能力:神经网络的计算可以在硬件上并行化,加速训练和推理过程。
四、总结
神经网络作为一种经典的人工神经网络模型,具有强大的非线性映射能力和自适应学习能力。虽然存在一些不足,但通过不断改进和优化算法,其性能和应用范围仍在不断拓展。随着深度学习技术的兴起和发展,BP神经网络将继续在人工智能和机器学习领域发挥重要作用。