1. 多变量线性回归

方面

单变量线性回归

多变量线性回归

样本特征

标量 x(i)

n维特征向量 x(i)=[x1(i),...,xn(i)]

参数表示

独立参数 θ0,θ1

(n+1)维参数向量 θ=[θ0,θ1,...,θn]T

数学形式

标量运算

向量/矩阵运算

模型表示

h(x) = θ0 + θ1*x

h(x) = θ^T · x

几何意义

二维空间中的一条直线

高维空间中的一个超平面

代价函数

J(a, b)

J(θ),形式相同但维度更高

求解方法

方法单一(可直接求导解方程)

面临关键抉择:梯度下降 vs. 正规方程

核心挑战

几乎无计算复杂度问题

需根据问题规模(特征数n)和模型类型选择算法

线性回归从单变量扩展到多变量时,其数学表示和计算方式发生了本质变化,主要体现在以下三个方面:

  1. 数据结构:从标量到向量
  • 在单变量线性回归中,每个样本的特征x(i)是一个标量(单个数值)。

  • 在多变量线性回归中,每个样本的特征是一个n维特征向量 x(i)=[x1(i),x2(i),...,xn(i)],其中n为特征数量。

  1. 模型表示:从算术到线性代数

多变量线性回归的假设函数(x)的自然形式为:

(x)=θ0+θ1x1+θ2x2+...+θnxn

此公式包含 n+1个参数 (θ0,θ1,...,θn)和 n个特征变量。

为简化公式,我们引入常数项x0≡1。则假设函数可重写为:

(x)=θ0x0+θ1x1+θ2x2+...+θnxn

基于此,我们可以进行关键的向量化

  • 将参数表示为 (n+1)维的参数向量:θ=[θ0,θ1,θ2,...,θn]T

  • 将单个样本的特征表示为 (n+1)维的增广特征向量:x=[x0,x1,x2,...,xn]T

  • 此时,假设函数可简化为两个向量的点积(内积):(x)=θTx

  • 其结果是一个标量,即预测值。

随后进行批量计算,将所有m个样本的增广特征向量作为行向量堆叠,构成 m×(n+1)维的设计矩阵 X

将所有参数表示为参数向量 θ,则全部 m个样本的预测值 y^可通过一次高效的矩阵乘法同时得出:

  1. 算法选择:梯队下降/正规方程

特性维度

梯度下降

正规方程

需要选择学习率

需要多次迭代

计算效率

O(n),适合大规模特征(n>10000)

O(),适合小规模特征(n<10000)

模型适用性

通用,适用于各种模型

专用,仅适用于线性模型

数值稳定性

较好

需计算 (XTX)−1,可能出现矩阵奇异问题

算法中的实现挑战与工程技术:

  1. 特征缩放

面对多维特征问题的时候,为了加速梯度下降收敛,防止特征尺度差异导致的问题,需要进行特征缩放:

  • 标准化:(x - μ) / σ。将数据缩放到均值为0,标准差为1。最常用,适用于数据分布不明显或存在异常值的情况。

  • 归一化:(x - min) / (max - min)。将数据缩放到[0, 1]区间。适用于已知边界分布的情况。

  1. 多项式特征创建:

为了捕捉变量之间的非线性关系,增强模型表现力,可以创建变量的多项式特征:

  • 多项式回归:y=θ0+θ1x+θ2x2+...+θdxd

  • 特征组合:如 area = frontage × depth

多项式方程中,特征x是非线性的,但参数θ是线性的。通过简单的特征变换,将其转化为多元线性回归问题。

  1. 训练过程监控

  • 学习率选择:尝试指数级变化值(0.01, 0.03, 0.1, 0.3, 1, 3, 10)

  • 收敛判断:绘制迭代次数-代价函数曲线,观察收敛趋势

  • 过拟合防范:监控验证集性能,防范高阶多项式过拟合风险

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐