在为通用机器学习算法提供先验与用足够的数据训练机器学习算法以便它可以内化该先验时,在准确性/泛化/性能方面是否存在权衡?
例如:假设我试图让 ANN 对车辆“ A ”是否属于“公共汽车”或“非公共汽车”类进行一些基本分类。在此示例中,车辆具有一些相互依赖的特征 [Size,Speed],假设我有一堆位置的所有特征的历史记录。
我想建立一个与位置无关的通用算法,这样当您输入 [Size, Speed, Longitude, Latitude] 时,您可以获得 Bus/Not_Bus。
现在要做的显而易见的事情(我认为)是使用许多 [Size, Speed, Longitude, Latitude] 向量来训练一个算法,但我有一种感觉,如果它到达一个不在的位置,这将是脆弱的训练集,可能会出现意外行为。
如果我使用 [Size, Speed, Prior(Size | lat/lon), Prior(Speed | lat/lon),其中的先验是该位置的速度/大小的预先计算的直方图,权衡会是什么。
Prior(Size | location) = [Size-0, Size-10, ..., Size-X]
它会使输入向量变得更大,并且可以使用核函数来获取没有历史匹配的位置的先验数据。它还将使算法“与位置无关”,因为输入特征仅包括特定位置的大小、速度和先验。