我在考虑创建一个尽可能多样化的训练集,同时将数据压缩到较小的尺寸(这取决于数据集中数据点的相似程度)。这样做是为了防止对数据中相对不重要的部分过度拟合。详细解释如下:
问题描述如下:我正在使用赛车数据进行训练,道路的很大一部分是相对笔直的。这部分数据的变化较小,相对不重要。只要保持在道路上并加速即可。最困难的部分在我看来是:拐角的预判,以及进入拐角时的速度/角度。
为了简化问题并最大化对这部分的学习,我想只选择那些显著不同的数据点。因此,大幅减少直线部分的数据(以及相同类型的拐角),同时保留不同类型的拐角数据。数据基本上是一个50维的向量。我想保持维度的数量,只想使这个多维空间中数据点的密度更加均匀。我也不知道如何很好地量化“更加均匀”。因此,这个问题基本上是关于数据预处理的问题。
有没有已经实现这种方法的技术,或者有其他达到相同目标的方法吗?
回答:
如果我正确理解了你的数据集,你需要平滑向量,然后获取原始向量与平滑向量之间最显著的偏差。Savitzky–Golay滤波器是通过数组(向量)平滑数据的常用方法。如果你决定使用Python,那么scipy.signal.savgol_filter
就是你需要的工具。