机器学习中的向量
一、基础定义
向量(Vector):一组有序数字组成的列表,用来表示特征、样本、权重,是机器学习最基础的数据单元。
- 一维,区分顺序: {x} = [x1,x2,x3,...,xn])
- 在 ML 里默认:列向量(线性代数标准),代码实现(numpy)常用一维数组 / 行向量存储
标量:单个数字(如学习率 0.01)
矩阵:多个向量拼在一起(一行 / 一列代表一个向量)
二、机器学习里两种最常见向量
1. 样本向量(特征向量)一条样本 = 一个向量,每个元素是一个特征
举例:预测房价,特征:面积、楼层、房龄
样本:{x} = [89, 12, 15])
(x1=89):面积
(x2=12):楼层
(x3=15):房龄
数据集矩阵 X:每行 = 1 条样本向量(N 行 D 列:N 个样本,D 个特征)线性回归: ŷ = w₁x₁ + w₂x₂ + w₃x₃ + b 假设我们选取 3 个特征: x₁:房屋面积(㎡),x₂:距离地铁(km),x₃:房间数量 预测公式: ŷ = w₁x₁ + w₂x₂ + w₃x₃ + b w = [w₁,w₂,w₃]ᵀ 就是权重向量,b 是偏置(单独标量,不属于权重向量) 设定训练完成后的权重向量 经过模型训练得到: w = [25, -80, 300]ᵀ - w₂=-80:离地铁每远1km,租金平均 -80 元(负权重)
- w₃=300:每多1个房间,租金平均 +300 元
面积60㎡,离地铁2km,2个房间 x = [60, 2, 2]ᵀ 向量点积计算预测租金 wᵀx = 25×60 + (-80)×2 + 300×2 = 1500 -160 +600 = 1940 加上偏置:ŷ = 1940 + 120 = 2060 元 1. 权重正负代表特征对结果的影响方向:正数促进,负数抑制 2. 权重绝对值大小 = 特征重要程度:本例房间数量权重300 > 面积25,说明房间数对租金影响更大 3. 模型训练过程:一开始权重向量是随机值,不断迭代更新 w,让预测值贴近真实租金 拓展:逻辑回归(分类任务权重向量例子) ŷ = σ(wᵀx+b) σ 为sigmoid激活函数 训练后权重向量:w=[0.15,-0.4,0.8],同样代表各特征对分类结果的影响行向量 vs 列向量:数学公式多用列向量;numpy 代码一般直接一维数组,不用刻意转置,dot 会自动适配
向量 ≠ 数组:数组是计算机存储结构;向量是线性代数数学概念
维度:向量维度 = 特征数量,不是空间几何 2D/3D,可以是几十、上万维(高维向量)
# 加载库import numpy as np# 创建一个行向量vector_row=np.array([1,2,3])#创建一个 列向量vector_column=np.array([[1],[2],[3]])print(vector_row)print(vector_column)