矩阵求导在最小二乘法中的核心应用与推导

1. 从“猜”到“算”:为什么我们需要矩阵求导

大家好,我是老张,在机器学习这个行当里摸爬滚打了十来年。今天想和大家聊聊一个听起来有点吓人,但实际上非常“接地气”的技术——矩阵求导,以及它怎么就成了最小二乘法的“心脏”。

咱们先从一个最日常的场景说起。假设你是个房产中介,手头有一堆房子的数据:面积、房龄、离地铁站距离,还有最终的成交价。现在有个新客户,给了你他房子的面积、房龄和距离,让你估个价。你怎么做?

最朴素的想法,就是“猜”一个公式。比如,你可能会觉得:房价 ≈ w1 × 面积 + w2 × 房龄 + w3 × 距离 + 一个基础价 w0。这里的 w0, w1, w2, w3 就是我们想要求的参数,也叫权重或系数。问题来了,w 到底该是多少?是面积更重要,还是离地铁站近更值钱?

你不可能瞎蒙。最小二乘法,就是解决这个“猜”的问题,把它变成“算”的问题的科学方法。它的核心思想非常直观:我找出一组 w,使得我用这个公式预测出来的所有历史房价,和真实成交价之间的“差距的平方和”最小。这个“差距的平方和”,就是我们常说的损失函数。差距越小,说明我的公式越准,未来预测也越靠谱。

那么,怎么找到让这个平方和最小的那组 w 呢?在中学数学里,如果只有一个 w,我们对损失函数求导,令导数等于零,解方程就行了。但现在,w 不是一个数,而是一组数,是一个向量,甚至在未来更复杂的模型里,它可能是一个矩阵。这时候,我们就需要“矩阵求导”这个强大的工具。它相当于把我们对单个变量的求导,扩展到了对整个向量或矩阵同时求导,从而一次性解出所有最优参数。

所以,矩阵求导在最小二乘法里,扮演的就是那个“高效求解器”的角色。没有它,面对成百上千的参数,我们只能望洋兴叹;有了它,我们就能把复杂的优化问题,转化为一个清晰的矩阵方程,通过计算机瞬间得到答案。接下来,我会手把手带你,像拆解乐高一样,把这个过程看得明明白白。

2. 磨刀不误砍柴工:必须掌握的矩阵求导法则

在开始推导最小二乘法之前,咱们得先把“工具”——矩阵求导的规则搞清楚。这就像你要做木工,得先学会怎么用锯子和刨子。别担心,规则不多,而且和我们熟悉的单变量求导非常像。

首先,有一个容易让人头晕的地方:布局(Layout)。矩阵求导主要有两种布局约定:分子布局和分母布局。它们决定了求导结果的形状。为了和原始文章以及大多数机器学习教材保持一致,我们这里采用分母布局。简单记住一句话:在分母布局下,结果的行数由分母(求导变量)的维度决定。比如,我们对一个标量函数 f 关于一个 n 维列向量 x 求导,结果 df/dx 也是一个 n 维的列向量。这样记忆最直接。

有了这个约定,我们来看两个最核心的法则,它们足以应付最小二乘法的推导:

法则一:线性函数的导数 假设我们有一个向量 x = [x1, x2, ..., xn]^T,和一个常数向量 a = [a1, a2, ..., an]^T。考虑线性函数 f(x) = a^T * x = a1*x1 + a2*x2 + ... + an*xn。这个函数对向量 x 求导,结果是啥? 直觉上,这就像多元函数分别对每个 x_i 求偏导。对 x1 求偏导,结果是 a1;对 x2 求偏导,结果是 a2... 所以,最终的结果向量就是 [a1; a2; ...; an],也就是向量 a 本身。公式就是: d(a^T * x) / dx = a 这个结论非常自然,也很好记。

法则二:二次型的导数 这个稍微复杂一点,但极其重要。考虑函数 f(x) = x^T * A * x,这里 A 是一个 n×n 的矩阵,x 是 n 维列向量。这个形式叫二次型,在物理、优化等领域无处不在。 它的导数结果是:d(x^T * A * x) / dx = A *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值