机器学习(2):多变量线性回归
-
多变量线性回归
|
方面 |
单变量线性回归 |
多变量线性回归 |
|---|---|---|
|
样本特征 |
标量 x(i) |
n维特征向量 x(i)=[x1(i),...,xn(i)] |
|
参数表示 |
独立参数 θ0,θ1 |
(n+1)维参数向量 θ=[θ0,θ1,...,θn]T |
|
数学形式 |
标量运算 |
向量/矩阵运算 |
|
模型表示 |
|
|
|
几何意义 |
二维空间中的一条直线 |
高维空间中的一个超平面 |
|
代价函数 |
|
|
|
求解方法 |
方法单一(可直接求导解方程) |
面临关键抉择:梯度下降 vs. 正规方程 |
|
核心挑战 |
几乎无计算复杂度问题 |
需根据问题规模(特征数n)和模型类型选择算法 |
线性回归从单变量扩展到多变量时,其数学表示和计算方式发生了本质变化,主要体现在以下三个方面:
- 数据结构:从标量到向量
-
在单变量线性回归中,每个样本的特征x(i)是一个标量(单个数值)。
-
在多变量线性回归中,每个样本的特征是一个n维特征向量
x(i)=[x1(i),x2(i),...,xn(i)],其中n为特征数量。
- 模型表示:从算术到线性代数
多变量线性回归的假设函数hθ(x)的自然形式为:
hθ(x)=θ0+θ1x1+θ2x2+...+θnxn
此公式包含 n+1个参数 (θ0,θ1,...,θn)和 n个特征变量。
为简化公式,我们引入常数项x0≡1。则假设函数可重写为:
hθ(x)=θ0x0+θ1x1+θ2x2+...+θnxn
基于此,我们可以进行关键的向量化:
-
将参数表示为 (n+1)维的参数向量:
θ=[θ0,θ1,θ2,...,θn]T -
将单个样本的特征表示为 (n+1)维的增广特征向量:
x=[x0,x1,x2,...,xn]T -
此时,假设函数可简化为两个向量的点积(内积):
hθ(x)=θTx -
其结果是一个标量,即预测值。
随后进行批量计算,将所有m个样本的增广特征向量作为行向量堆叠,构成 m×(n+1)维的设计矩阵 X:

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

-
算法选择:梯队下降/正规方程
|
特性维度 |
梯度下降 |
正规方程 |
|---|---|---|
|
需要选择学习率 |
是 |
否 |
|
需要多次迭代 |
是 |
否 |
|
计算效率 |
O(n),适合大规模特征(n>10000) |
O(n³),适合小规模特征(n<10000) |
|
模型适用性 |
通用,适用于各种模型 |
专用,仅适用于线性模型 |
|
数值稳定性 |
较好 |
需计算 (XTX)−1,可能出现矩阵奇异问题 |
算法中的实现挑战与工程技术:
-
特征缩放
面对多维特征问题的时候,为了加速梯度下降收敛,防止特征尺度差异导致的问题,需要进行特征缩放:
-
标准化:
(x - μ) / σ。将数据缩放到均值为0,标准差为1。最常用,适用于数据分布不明显或存在异常值的情况。 -
归一化:
(x - min) / (max - min)。将数据缩放到[0, 1]区间。适用于已知边界分布的情况。
-
多项式特征创建:
为了捕捉变量之间的非线性关系,增强模型表现力,可以创建变量的多项式特征:
-
多项式回归:
y=θ0+θ1x+θ2x2+...+θdxd -
特征组合:如
area = frontage × depth
多项式方程中,特征x是非线性的,但参数θ是线性的。通过简单的特征变换,将其转化为多元线性回归问题。
-
训练过程监控
-
学习率选择:尝试指数级变化值(0.01, 0.03, 0.1, 0.3, 1, 3, 10)
-
收敛判断:绘制迭代次数-代价函数曲线,观察收敛趋势
-
过拟合防范:监控验证集性能,防范高阶多项式过拟合风险
更多推荐



所有评论(0)