我有一个权重函数 f,它输出样本 s 的数字权重。我还有一组有序的样本 S,其中每个样本 s 在集合 S 中的权重变化很大。
如何创建 n 个拆分点,以便每个拆分的权重大致相同?我可以使用什么样的方法、算法或模型来实现这一目标?
我有一个权重函数 f,它输出样本 s 的数字权重。我还有一组有序的样本 S,其中每个样本 s 在集合 S 中的权重变化很大。
如何创建 n 个拆分点,以便每个拆分的权重大致相同?我可以使用什么样的方法、算法或模型来实现这一目标?
一个经典的优化问题!您可以使用线性规划/优化来找到一个好的分割。n 个样本s 中的每一个都具有权重f(s),我们希望将它们分成m个折叠。您可以使用技巧来线性化 L1 目标,也可以将二次规划用于 L2 目标函数。在这种情况下,二次规划模型更容易定义。让我们将定义为将样本i放入折叠j的二元决策,而是理想的每折叠平均重量。那么这是我们的目标函数:
最小
在以下约束条件下:
for all以确保每个样本准确分配一个
将其转换为二元决策变量
根据您的数据集的大小和您使用的求解器,这可能是一个繁重的优化,但是有很多贪婪的启发式方法会让您很快关闭。