函数正则项

正则的引入:正则性衡量函数光滑(可导),正则项则是为了使函数可导而引入的补项。这里的可导可以引申为通过正则项的引入使得非适定问题变为适定问题。(如果按照实际的条件进行求解,函数将出现无穷解现象。当正则项引入时(加入BV范数),函数就变成了可求解函数了。)
这里对适定问题定义:1.问题的解存在且唯一;2.定解约束的改变相对较小时,解的改变也相对较小。

在机器学习中,正则项的引入是为了解决过拟合问题(overfitting)
网上这类文章会有很多,这里不做详细论述。

一般的正则项都会在前面有一个设定的系数,该系数的目的主要是为了体现解的可信度,当该系数过小时,正则项的引入约束力较小,起到的约束作用较小,在约束较小时的结果其可信度较差。当我们的系数增大时,正则项所起的作用也就随之增大。我们求得的解的也更接近我们所设约束下的最优解。

正则项的应用(此处不针对深度学习进行阐述)

1.先验估计:通过正则项的引入,将先验(例如:通过某种方法可以初步估计的结果)做为约束条件,进行函数求解

2.求解奇异矩阵(不为满秩,也就是所推导的的等式个数小于不等式个数。例如:你要求x,y,z。你只给出了x+y=4;y+z=6,这样你是求解不出来特定解的,这样会造成无穷多解。)引入正则项等同于引入了求解方程所需的其他等式关系。
在求解Ax=b时,便可应用此方法

矩阵A的条件数:

### 神经网络中损失函数正则项及其作用 #### L1 正则化 L1 正则化通过对权重参数应用绝对值惩罚来约束模型复杂度。其核心思想是通过减少不必要的特征数量,使得模型更加稀疏[^3]。具体来说,在训练过程中,L1 正则化的梯度更新会使较小的权重逐渐趋近于零并最终被消除。 以下是基于 Python 的简单实现: ```python import numpy as np def l1_regularization(weights, lambda_l1): return lambda_l1 * np.sum(np.abs(weights)) ``` #### L2 正则化 L2 正则化则是通过对权重参数平方和进行惩罚的方式降低过拟合风险。相比 L1,L2 更倾向于均匀分布权重而非完全剔除某些特征。这种特性有助于保持所有输入变量的影响,从而提高泛化能力。 下面是 L2 正则化的代码片段: ```python def l2_regularization(weights, lambda_l2): return 0.5 * lambda_l2 * np.sum(weights ** 2) ``` #### Elastic Net (弹性网) 正则化 作为一种综合了 L1 和 L2 特性的方法,Elastic Net 能够平衡两者的优势[^1]。对于那些既希望获得稀疏解又不想牺牲过多性能的情况尤为适用。它的定义如下: \[ J_{EN}(W) = J(W) + \lambda_1 \| W \|_1 + \frac{\lambda_2}{2} \| W \|_2^2 \] 其中 \(J(W)\) 表示原始目标函数;\(λ_1\) 控制 L1 部分强度;\(λ_2\) 则调节 L2 成分比重。 下面展示如何组合两种正则形式: ```python def elastic_net_regularization(weights, lambda_l1, lambda_l2): l1_term = lambda_l1 * np.sum(np.abs(weights)) l2_term = 0.5 * lambda_l2 * np.sum(weights ** 2) return l1_term + l2_term ``` #### Dropout 技术 Dropout 是一种专门用于防止深层神经网络过度依赖特定节点的技术[^4]。在每次迭代期间随机丢弃部分单元格可以有效增强整体架构稳定性。值得注意的是,仅需修改前向传播逻辑即可完成该操作——只需乘上相应掩码矩阵 D 即可。 这里给出一个简单的例子说明 dropout 如何工作: ```python def apply_dropout(A, keep_prob): D = np.random.rand(*A.shape) < keep_prob A *= D / keep_prob return A, D ``` #### 应用场景对比分析 - 当数据集存在大量冗余特征或者噪声干扰较大时,优先考虑采用 L1 或者 ElasticNet 来简化结构; - 如果追求平滑决策边界并且相信大部分属性都可能有用,则推荐单独运用 L2 方法; - 对于超大规模深度学习项目而言,结合 Dropout 可进一步提升测试精度同时抑制过拟合现象发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值