机器学习中参数、特征和 class 之间的区别

Difference between parameters, features and class in Machine Learning

我是机器学习和自然语言处理领域的新手。

我总是对这三个术语感到困惑?

据我了解:

class:我们的模型输出的各种类别。给定一个人的名字,判断he/she是男是女?

假设我正在使用朴素贝叶斯 classifier。

我的功能和参数是什么?

另外,以上单词的别名有哪些可以互换使用。

谢谢

让我们以class确定一个人的性别为例。你对class的理解是正确的!给定一个输入观察值,我们的朴素贝叶斯分类器应该输出一个类别。 class 就是那个类别。

特征:朴素贝叶斯分类器或任何通用 ML 分类算法中的特征是我们选择定义输入的数据点。以人为例,我们不可能输入一个人的所有数据点;相反,我们选择一些特征来定义一个人(比如 "Height"、"Weight" 和 "Foot Size")。具体来说,在 Naive Bayes Classifier 中,我们做出的关键假设是这些特征是独立的(它们不会相互影响):一个人的身高不会影响体重,不会影响脚的大小。这个假设可能正确也可能不正确,但对于朴素贝叶斯,我们假设它是正确的。在您的示例的特定情况下,输入只是名称,特征可能是字母的频率、元音的数量、名称的长度或 suffix/prefixes。

参数:朴素贝叶斯中的参数是对我们试图class化的任何事物的真实分布的估计。例如,我们可以说大约 50% 的人是男性,男性身高的分布是均值 5' 7" 和标准差 3" 的高斯分布。参数将是 50% 估计值、5' 7" 平均估计值和 3" 标准差估计值。

别名:特征也称为属性。我不知道 'parameters' 有任何常见的替代品。

希望对您有所帮助!

@txizzle 很好地解释了朴素贝叶斯的情况。更一般意义上的:

Class: 您数据的输出类别。您也可以调用这些类别。数据上的标签将指向 类 之一(当然,如果它是分类问题。)

特征: 定义您的问题的特征。这些也称为属性。

参数: 您的算法试图调整以构建准确模型的变量。

举个例子,假设您要根据 his/her 本科 GPA、考试成绩、推荐分数、项目等各种因素来决定是否录取学生。在这种情况下,上面提到的因素是你的 features/attributes,学生是否被录取成为你的 2 类,决定这些特征如何组合在一起得到你的输出的数字成为你的参数。参数实际代表什么取决于你的算法。对于神经网络,它是突触链接上的权重。同样,对于一个回归问题,参数就是你的特征组合时的系数。

做一个简单的线性class化验问题-

y={0 如果 5x-3>=0 否则 1}

这里y是class,x是特征,5,3是参数。

我只是想添加一个区分属性和特征的定义,因为它们经常互换使用,这样做可能不正确。我在引用 'Hands-On Machine Learning with SciKit-Learn and TensorFlow'。

In Machine Learning an attribute is a data type (e.g., “Mileage”), while a feature has several meanings depending on the context, but generally means an attribute plus its value (e.g., “Mileage = 15,000”). Many people use the words attribute and feature interchangeably, though.

我喜欢“使用 Scikit 和 Tensorflow 进行机器学习实践”(作者 Aurelian Geron)中的定义,其中 属性 = 数据类型(例如,里程) 特征 = 数据类型 + 值(例如,里程 = 50000)

关于FEATURE versus PARAMETER,根据Geron书中的定义,我曾经将FEATURE解释为变量,将PARAMETER解释为权重或系数,如下图模型 Y = a + b*X

X 是特色 a, b 是参数

然而,在一些出版物中我看到了以下解释: X 是参数 a, b 是权重

所以,最近,我开始使用以下定义:

FEATURE = 原始数据的变量(例如,电子表格中的所有列)

参数 = 模型中使用的变量(即在选择模型中的特征之后)

WEIGHT = 模型参数的系数

想法?

让我们看看这是否有效:)

假设您有一个 excel 电子表格,其中包含有关特定产品的数据以及其中存在的 7 种原子元素。

[product] [calcium] [magnesium] [zinc] [iron] [potassium] [nitrogen] [carbon]

特征 - 是除 product 之外的每一列,因为所有其他列都是独立的、共存的,对目标(即产品)具有可衡量的影响。你甚至可以选择将其中一些组合起来称为Essential Elements即降维,使其更适合分析。术语“降维”在这里只是为了解释,不要与无监督学习中的 PCA 技术混淆。特征与监督学习技术相关。

现在,想象一台很酷的机器,它能够查看上面的数据并推断出产品是什么。

参数 就像是特定于您可以玩弄的那台机器的杠杆和旋塞阀,并确保如果机器说“这是肥皂渣”它really/truly 是。如果您考虑自己进行飞镖练习,您会对自己做些什么来更接近靶心(平衡 bias/variance)?

超参数 就像参数,但在我们正在谈论的这台机器之外。如果机器 parts/mechanical 元素由特定化合物制成怎么办?碳纤维还是镁聚alloy?这将如何改变机器 can/can 做得更好的地方?

我想这是对事物的过度简化,但希望可以接受吗?