如何为机器学习设计特征

对于机器学习任务,你有什么关于如何设计特征的建议或阅读材料吗?好的输入特征即使对于神经网络也很重要。所选择的特征会影响所需的隐藏神经元的数量和所需的训练样本的数量。

以下是一个示例问题,但我对一般的特征工程很感兴趣。

一个动机示例: 在查看拼图(例如,15 拼图推箱子)时,什么样的输入才算好? 是否有可能识别出两种状态中哪一种更接近目标?


回答:

好的特征工程包含两个组成部分。第一是理解你尝试解决的任务的属性,以及它们可能如何与你使用的分类器的优点和局限性相互作用。第二是实验工作,你将在其中测试你的期望,并找出什么实际有效,什么无效。

这可以迭代地完成:你对问题的自上而下的理解激发了实验,然后你从这些实验中学习到的自下而上的信息有助于你更好地理解问题。 对问题的更深入理解可以推动更多的实验。

使特征适应你的分类器

假设你正在使用简单的线性分类器,例如逻辑回归或具有线性内核的SVM。 如果你认为你可以测量并作为分类器输入提供的各种属性之间可能存在有趣的交互,则你需要手动构建并提供捕获这些交互的特征。 但是,如果你使用带有多项式或高斯内核的 SVM,则输入变量之间的交互将已通过模型的结构捕获。

同样,如果某些输入变量的值范围比其他变量大得多(例如,大多数特征的值为 0 或 1,但一个特征的值介于 -1000 和 1000 之间),则 SVM 的性能可能会很差。 因此,当你为 SVM 进行特征工程时,你可能希望尝试在将特征提供给分类器之前对其值进行归一化。 但是,如果你使用的是决策树随机森林,则无需进行此类归一化,因为这些分类器对各种特征所取值的幅度差异具有鲁棒性。

关于解决拼图的特别说明

如果你正在考虑解决具有复杂状态空间的问题,你可能需要使用像Q-learning这样的强化学习方法。 这有助于构建通过系统的一系列中间步骤达到某些目标的学习任务。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注