我对统计分类问题很感兴趣。给定一个特征向量X,我想将X分类为“yes”或“no”。然而,训练数据将基于人类输入实时输入。例如,如果用户看到特征向量X,用户将根据他们的专业知识将其标记为“yes”或“no”。
我不想在参数空间上进行网格搜索,而是希望根据之前提交的数据更智能地探索参数空间。例如,如果参数空间的一部分存在密集的“no”聚集点,那么继续在这个区域采样可能没有意义——很可能只是更多的“no”。
我该如何进行这项工作呢?C4.5算法似乎适合这种情况,但我并不确定这是不是最佳选择。
另一个细微之处是,某些特征可能指定了随机数据。假设特征向量中的前两个属性指定了高斯分布的均值和方差。即使所有参数保持不变,用户分类的数据也可能显著不同。
例如,假设算法显示了一个添加了高斯噪声的正弦波,其中高斯分布由特征向量中的均值和方差指定。用户被问到“这个图表是否代表正弦波?”即使均值或方差的两个值非常相似,图表也可能显著不同。
是否有专门处理这种情况的算法?
回答:
您所描述的场景属于主动学习的广泛领域。这个主题涉及模型构建的迭代过程,以及选择下一个查询的训练示例以优化模型性能。在这里,每个数据点的训练成本大致相同,并且在学习阶段没有额外的可变奖励。
然而,如果在每次迭代中,您有一个可变奖励,它是所选择数据点的函数,那么您应该考虑多臂老虎机和强化学习。
您提到的另一个问题是找到合适的特征来表示数据点,这应该单独处理。