在机器学习中,我们处理数据。大量的数据。这些数据可以是客户购买记录、传感器读数,也可以是图像和文本文档。为了将数学算法应用于这些各类数据,我们首先需要一种一致的方法来表示它们。这就是向量的用武之地。可以将向量视为一个有序的数字列表。此列表中的每个数字代表单个数据点的特定属性或特征。通过将这些特征组织成向量,我们创建了一个算法可以处理的数学对象。从数据点到特征向量设想您有关于房屋的数据,并且您想预测它们的价格。对于每个房屋,您可能会记录几个特征:面积 (平方英尺)卧室数量房龄 (年)到最近学校的距离 (英里)机器学习中的数据需要一种一致的表示方式。例如,一个特定的房屋(如房屋 A)可能具有以下特点:1500 平方英尺,3 间卧室,20 年房龄,距离学校 0.5 英里。为了对这类数据应用数学算法,房屋 A 的这些特点可以表示为一个向量:$$ \mathbf{v}_A = \begin{bmatrix} 1500 \ 3 \ 20 \ 0.5 \end{bmatrix} $$这个列向量$\mathbf{v}_A$常被称为特征向量。每个元素都按预定顺序对应一个特定的特征。另一个房屋,房屋 B(2100 平方英尺,4 间卧室,5 年房龄,距离学校 1.2 英里),将由另一个向量表示:$$ \mathbf{v}_B = \begin{bmatrix} 2100 \ 4 \ 5 \ 1.2 \end{bmatrix} $$这种表示方法极其灵活:图像: 灰度图像可以表示为向量,其中每个元素是像素的亮度值。一个 100x100 像素的图像变成一个具有 10,000 个元素的向量(通常通过将二维像素网格“扁平化”为长的一维列表)。彩色图像每个像素可能有三个值(红、绿、蓝),从而得到更大的向量。文本: 文档可以使用词袋模型(其中每个元素统计词汇表中特定单词的出现次数)或更高级的方法(如词嵌入,其中单词或文档被映射到捕捉语义的密集向量)转换为向量。传感器数据: 来自传感器的时间序列数据可以表示为向量,其中每个元素是特定时间点的读数,或者是一个时间点上来自不同传感器的读数集合。几何视角:特征空间中的点将数据表示为向量使我们能够从几何角度思考。如果一个数据点有两个特征(例如身高和体重),我们可以将其表示为二维向量。我们可以将此向量可视化为从原点 (0, 0) 开始,终止于由特征值(身高,体重)在二维平面中定义的点处的箭头。{"layout": {"xaxis": {"title": "特征 1 (例如:身高)", "range": [0, 7]}, "yaxis": {"title": "特征 2 (例如:体重)", "range": [0, 7]}, "title": "二维特征空间中作为向量的数据点", "showlegend": true, "width": 600, "height": 400, "margin": {"l": 50, "r": 50, "t": 60, "b": 50}}, "data": [{"type": "scatter", "x": [2, 4.5], "y": [5, 3], "mode": "markers", "marker": {"color": "#228be6", "size": 10}, "name": "数据点"}, {"type": "scatter", "x": [0, 2], "y": [0, 5], "mode": "lines", "line": {"color": "#f06595", "width": 2}, "name": "向量 A (2, 5)"}, {"type": "scatter", "x": [0, 4.5], "y": [0, 3], "mode": "lines", "line": {"color": "#40c057", "width": 2}, "name": "向量 B (4.5, 3)"}, {"type": "scatter", "x": [2], "y": [5], "mode": "markers+text", "text": [" A(2, 5)"], "textposition": "top right", "marker": {"color": "rgba(0,0,0,0)"}, "showlegend": false}, {"type": "scatter", "x": [4.5], "y": [3], "mode": "markers+text", "text": [" B(4.5, 3)"], "textposition": "bottom right", "marker": {"color": "rgba(0,0,0,0)"}, "showlegend": false}]}两个数据点 A=(2, 5) 和 B=(4.5, 3),表示为从二维特征空间原点出发的向量。如果我们有三个特征,每个数据点就成为三维空间中的向量。对于具有 $n$ 个特征的数据(如我们的房屋示例中 $n=4$),每个数据点对应于 $n$ 维空间中的一个向量,这个空间常被称为特征空间。虽然我们无法轻易可视化超过三维的空间,但数学原理保持不变。这种向量表示是大多数机器学习算法所基于的形式。它提供了一种结构化形式,使我们能够:应用数学运算: 我们可以向量相加、缩放它们,并测量它们之间的角度和距离,这些在诸如 k-近邻、支持向量机和线性回归等算法中都是重要的运算。处理高维数据: 线性代数提供了工具,即使向量具有数千或数百万维度(特征)时,也能高效处理。执行数据变换: 正如我们稍后将看到的,矩阵可用于变换这些向量,支持诸如降维(PCA)或特征工程等技术。在接下来的章节中,我们将了解您可以在这些向量上执行的基本运算,以及这些运算与机器学习任务的关系。