从贝叶斯角度看正则化

Regularization: A Bayesian point of view

Introduction

正则化(regularization)是防止模型过拟合(overfitting)的 有效方式之一。常用的正则化包括L1正则和L2正则,我们知道使用L1正则化的回归对应LASSO(最小绝对收缩选择因子)回归,使得参数稀疏化,倾向于产生稀疏模型,是一种嵌入式特征选择方法,其特征选择过程和学习器训练过程融为一体,同时完成。而L2正则化对应岭回归,倾向于选择使各个参数尽可能小的模型,L2正则化更平滑,在可解释性方面差于L1正则化,但是L2能更好的防止过拟合。下面主要从贝叶斯理论的角度理解正则化。

在这里插入图片描述

Linear regression

Ordinary linear regression采用均方误差,hypothesis $f(x) = {w^T}x $ ,通过最小化均方误差(观测值与预测值的残差平方)来训练模型参数,即
w=arg⁡min⁡w∑i=1m(y(i)−wTx(i))2 w = \mathop {\arg \min }\limits_w \sum\limits_{ {\rm{i}} = 1}^m { { {({y^{(i)}} - {w^T}{x^{(i)}})}^2}} w=wargmini=1m(y(i)wTx(i))2
下面我们假设第i个样本上的误差(i)=y(i)−wTx(i){^{(i)}} = {y^{(i)}} - {w^T}{x^{(i)}}(i)=y(i)wTx(i) 服从gaussian分布,即
p(ϵ(i))=12πδexp⁡(−(ϵ(i))22δ2) p\left(\epsilon^{(i)}\right)=\frac{1}{\sqrt{2 \pi} \delta} \exp \left(-\frac{\left(\epsilon^{(i)}\right)^{2}}{2 \delta^{2}}\right) p(ϵ(i))=2π δ1exp(2δ2(ϵ(i))2)
​ 于是
p(y(i)∣x(i);θ)=12πδexp⁡(−(y(i)−wTx(i))22δ2) p\left(y^{(i)} | x^{(i)} ; \theta\right)=\frac{1}{\sqrt{2 \pi} \delta} \exp \left(-\frac{\left(y^{(i)}-w^{T} x^{(i)}\right)^{2}}{2 \delta^{2}}\right) p(y(i)x(i);θ)=2π δ1exp(2δ2(y(i)wTx(i))2)
由最大似然估计(MLE)
L(w)=p(y⃗∣X;w)=∏i=1mp(y(i)∣x(i);θ)=∏i=1m12πδexp⁡(−(y(i)−wTx(i))22δ2) \begin{aligned} L(w) &=p(\vec{y} | X ; w) \\ &=\prod_{i=1}^{m} p\left(y^{(i)} | x^{(i)} ; \theta\right) \\ &=\prod_{i=1}^{m} \frac{1}{\sqrt{2 \pi} \delta} \exp \left(-\frac{\left(y^{(i)}-w^{T} x^{(i)}\right)^{2}}{2 \delta^{2}}\right) \end{aligned} L(w)=p(y X;w)=i=1mp(y(i)x(i);θ)=

### 贝叶斯正则化在机器学习中的应用及实现 #### 什么是贝叶斯正则化贝叶斯正则化是一种基于概率论的方法,用于解决过拟合问题并提高模型的泛化能力。它通过引入先验分布来约束参数空间,从而减少复杂度较高的模型对训练数据的过度依赖[^1]。 #### 贝叶斯正则化的理论基础 贝叶斯正则化的核心在于利用贝叶斯定理将先验知识融入到模型的学习过程中。具体来说,在给定观测数据 \(D\) 的情况下,目标是找到最大化后验概率 \(P(\theta|D)\) 的参数 \(\theta\)。这一过程可以通过以下公式表示: \[ P(\theta|D) = \frac{P(D|\theta) P(\theta)}{P(D)} \] 其中: - \(P(D|\theta)\) 是似然函数; - \(P(\theta)\) 是参数的先验分布; - \(P(D)\) 是证据项,通常视为常数。 为了简化计算,可以忽略分母部分,转而寻找使分子最大的参数组合,即最大后验估计(MAP)。这种方法本质上是对传统极大似然估计的一种扩展[^2]。 #### 实现方法:MATLAB 中的贝叶斯正则化 BP 神经网络 一种常见的贝叶斯正则化实践是在反向传播(Backpropagation, BP)神经网络中加入正则化机制。以下是 MATLAB 提供的一个典型例子,展示了如何使用 `trainbr` 函数完成时间序列预测任务[^3]。 ```matlab % 数据准备 load simplefit_dataset % 加载内置数据集 inputs = x; targets = t; % 创建神经网络 net = feedforwardnet([10], 'trainbr'); % 使用 trainbr 训练算法 net.trainParam.showWindow = false; % 关闭图形界面显示 % 设置训练参数 net.divideFcn = ''; % 不分割数据 net.performFcn = 'mse'; % 均方误差作为性能指标 % 开始训练 [net, tr] = train(net, inputs, targets); % 测试与验证 outputs = net(inputs); errors = gsubtract(targets, outputs); performance = perform(net, targets, outputs) % 可视化结果 figure; plotperform(tr); title('Training Performance'); ``` 上述代码片段实现了带有贝叶斯正则化的前馈神经网络训练流程。`trainbr` 方法会自动调整权重衰减系数和有效样本数量的比例,以达到最佳的泛化效果。 #### 正则化的作用及其意义 正则化的主要作用是防止模型过分适应噪声或异常值,从而使模型更加稳健。从统计学角度来看,这种技术有助于平衡偏差(bias)与方差(variance),进而改善整体表现。 #### 极大似然法 vs. 贝叶斯方法 尽管两者都试图优化某些形式的目标函数,但它们之间存在显著差异。极大似然法仅关注于找到能够最好解释观察数据的单一最优解;相比之下,贝叶斯方法更注重整个参数空间的概率分布特性,并允许不确定性被显式表达出来[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值