趋近智
机器学习的根本在于找出数据中的规律。但为了让计算机处理这些数据,数据必须转换为结构化的数值形式。这正是线性代数提供核心框架的地方。它为我们提供了将信息组织成整齐的矩形数字阵列的工具,以便算法进行操作。
考虑一个用于预测房价的简单数据集。对于每栋房子,我们可能会记录几个属性:其面积(平方英尺)、卧室数量和浴室数量。在机器学习中,这些属性被称为特征。一栋房子,连同其所有特征,代表一个观测值或样本。
对于机器学习模型而言,一栋具体的房子,比如有1,500平方英尺、3间卧室和2间浴室,不是描述。它是一个空间中的点。我们可以将这栋房子表示为一个特征向量,它只是其数值特征的有序列表。
房子_1=150032向量中的顺序很重要。我们必须确定一个一致的序列,例如[面积,卧室数量,浴室数量]。我们数据集中每一栋房子都将按照这种相同结构转换为向量。这使我们能够比较不同的房子并一致地对它们执行数学运算。
数据集很少只包含一个观测值。通常,我们有数百、数千甚至数百万个观测值。将我们所有单个的特征向量堆叠在一起,就得到了一个数据矩阵,它几乎总是用一个大写字母表示,例如 X。
在机器学习中,按照惯例,数据矩阵中的每一行对应一个观测值(一栋房子),每一列对应一个特征(例如,面积)。
如果我们有三栋房子的数据:
我们可以堆叠它们的特征向量来形成数据矩阵 X:
X=150021001200342232这个矩阵现在包含了我们整个特征数据集。这个矩阵的维度说明了我们的数据集。如果矩阵 X 的形状是 m×n,这意味着我们有 m 个观测值和 n 个特征。在我们的例子中,X 是一个 3×3 矩阵。
在许多机器学习任务中,称为监督学习,我们的目标是预测一个特定的结果。对于我们的房价数据集来说,这将是每栋房子的价格。这个结果被称为标签或目标。
就像我们处理特征一样,我们将每个观测值的标签收集到一个向量中,通常命名为 y。如果我们三栋房子的价格是 300,000、450,000 和 250,000,我们的目标向量y$ 将是:
y=300000450000250000y 中的第一个条目对应 X 中的第一行,第二个对应第二行,依此类推。这种对齐对于模型学习 X 中的特征与 y 中的结果之间的关系具有重大意义。
一个图示,说明了原始数据如何被分割和组织成特征矩阵 X 和目标向量 y,然后它们作为机器学习模型的输入。
以这种方式组织数据可能看起来只是一个简单的组织步骤,但它是所有现代机器学习的立足点。以下是它如此有效的原因:
在 NumPy 中,创建这些结构非常直接。我们的房屋数据矩阵和目标向量将如下所示:
import numpy as np
# 数据矩阵 X (3个观测值, 3个特征)
X = np.array([
[1500, 3, 2],
[2100, 4, 3],
[1200, 2, 2]
])
# 目标向量 y (3个标签)
y = np.array([300000, 450000, 250000])
print("数据矩阵 X:\n", X)
print("\n目标向量 y:\n", y)
通过将数据组织成向量和矩阵,我们将一个实际问题转化为一个数学问题。这使我们能够运用线性代数的全部能力来找出规律、进行预测,并构建定义机器学习的智能系统。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造