# DRO_stream_learning **Repository Path**: zreach/dro_stream_learning ## Basic Information - **Project Name**: DRO_stream_learning - **Description**: 专注于实时流学习算法研究与应用的开源项目,利用分布鲁棒优化,提供高效的数据处理和模型更新机制,适用于动态环境下的流数据学习任务。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 0 - **Created**: 2025-04-03 - **Last Updated**: 2025-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DRO_stream_learning #### 介绍 专注于实时流学习算法研究与应用的开源项目,利用分布鲁棒优化,提供高效的数据处理和模型更新机制,适用于动态环境下的流数据学习任务。 `DRO` 是一个 Python 工具包,用于在监督学习任务中实现 12 种典型的**分布鲁棒优化(DRO)**方法,适用于线性损失函数(如 SVM、逻辑回归和线性回归)。该工具包基于凸优化求解器 `cvxpy` 构建。默认情况下,我们的 DRO 模型旨在求解以下优化问题: $$ \min_{\theta} \max_{P \in U} \mathbb{E}_{(X,Y) \sim P} \left[ \ell(\theta; (X, Y)) \right], $$ 其中,$U$ 是所谓的**模糊集**,通常定义为 $U = \{P: d(P, \hat P_n) \leq \epsilon\}$,而 $\hat P_n := \frac{1}{n}\sum_{i=1}^n \delta_{(X_i, Y_i)}$ 表示训练样本 $\{(X_i, Y_i)\}_{i=1}^n$ 的经验分布。 本工具包支持多种损失函数,例如: • $\ell(\theta; (X,Y)) = (Y - \theta^{\top} X)^2$($\ell_2$ 线性回归) • $\max\{1 - Y \theta^{\top}X, 0\}$(SVM 损失函数) 其中,$\epsilon$ 是一个可调的超参数,用于控制模型的鲁棒性。