手工特征和学习特征有什么区别

数据挖掘 特征
2021-10-09 08:44:41

我很难理解手工制作的功能和学习的功能之间的区别。

仅仅是手工制作的特征是输入变量,而学习的特征会引用输出变量吗?还是它们(手工制作和学习)两种类型的输入变量?

有人能帮忙吗?

谢谢。

2个回答

简而言之

分类如下:

  • 手工制作是由数据科学家手动设计的功能。
  • 学习特征是从机器学习算法中自动获得的特征

让我给你举个例子:

假设您正在执行图像分类任务,您想将猫与狗分类。你想建立一个分类器,但你面临着两难境地,我如何将我的数据输入到分类器中?. 你有两个选择:

  • 使用原始像素数据。这样做的问题是你有一个巨大的特征空间,这使得模型很难泛化
  • 尝试从图像中提取特征,以便减少特征空间。

现在,如果您选择第二个,您还有两个选择:

  • 手动定义一组特征并提取它们。一些示例包括边缘检测、角点检测、直方图等。这种方法的问题在于,无法保证角点的数量是分类猫和狗图像的良好描述符。
  • 另一种方法是训练一个 ML 模型来识别和提取用于这个特定分类任务的有用特征。这正是卷积神经网络所做的。它搜索哪些特征最适合对图像进行分类?.

传统上,第一种方法广泛用于机器学习。然而,随着深度学习的到来,这种情况发生了变化。

CNN 在对不同类型的图像进行分类时识别哪些特征的示例:

请注意,这些特征不是一般的低级特征,如边或角;相反,它们是为每个班级量身定制的。这就是训练模型以提取特征的力量。

比较

因为学习到的特征是自动提取来解决特定任务的,所以它们在这方面非常有效。事实上,执行特征提取和分类的深度学习模型大大优于对手动提取的特征进行分类的模型。这也是深度学习如此受欢迎的原因之一。

另一方面,我们无法控制模型将从数据中提取哪些特征。在许多情况下,这些特征只对数据分类有用,并没有真实世界的解释他们只对他们受过训练的任务有好处。

有些特征学习算法本质上是无监督的,因为算法会自己找出最好的特征集,即使不是最好的,也会给你一个好的结果。因此,这些无监督学习算法的输出称为学习特征,它们被用作模型的输入。手工制作的特征是经过数据科学家测试和手工挑选的特征,也可作为模型的输入。