事情是这样的,某次机器学习课上,老师让我们对这个式子求导:

反函数的求导法则ppt_链式求导法则_指数函数求导法则

链式求导法则_反函数的求导法则ppt_指数函数求导法则

求着求着,发现自己不会了…

于是就去搜了搜矩阵向量求导(Matrix calculus),发现这里面知识点还有点多。因此就稍微整理了一些关于标量对向量求导的相关方法,并以这最小二乘法的式子求导为例,介绍几种求导方法。

首先我们观察一下要求导的式子,是一个标量对D维列向量求导,得到的结果也应该是一个D维向量链式求导法则,为了计算方便与统一,我们这里规定结果采用分母布局(denominator layout conventions),也即输出结果为一个D维列向量。那么,接下来就可以愉快地开始求导了!

1. 暴力展开法

分子是一个2-范数,根据定义,它等于该向量每一个分量的平方和,展开就好。而标量对向量求导,就相当于标量对该向量的每一个分量求导,那么我们可以求出对每一个分量的导数,最后把每一个分量重新组合成一个列向量,就得到最后的结果了。

具体过程如下:

链式求导法则_反函数的求导法则ppt_指数函数求导法则

其中链式求导法则,第三行方括号内可以看成是X的第k列与y-Xw的内积。

2. 化简公式法

当然,上面的方法可能过于繁琐了(尽管它可能是最通用、最基础的解法之一),而标量对向量的求导是有许多二级结论的,比如:

指数函数求导法则_反函数的求导法则ppt_链式求导法则

那有了这些结论后,我们便可以去化简式子并进行求导了。

具体过程如下:

链式求导法则_反函数的求导法则ppt_指数函数求导法则

3. 链式法则法

和普通的求导类似,标量对向量求导也有着属于自己的链式法则。具体推导就不详细阐述了,我们直接上结论:

链式求导法则_反函数的求导法则ppt_指数函数求导法则

去掉转置后,即

链式求导法则_指数函数求导法则_反函数的求导法则ppt

其中有很多细节,比如多了转置,乘法的计算顺序发生了变化等等。

如果记得其中细节的话,或许便可以采用这个方法求解。

具体过程如下:

链式求导法则_反函数的求导法则ppt_指数函数求导法则

(确实是非常简洁呀)

以上就是标量对向量求导的3种方法,以机器学习里很常见的一个式子为例,希望能给大家带来一点启示。

(ps: 当然还有向量对标量,向量对向量,标量对矩阵,矩阵对标量的求导营销引流,大家感兴趣的话可以参考以下链接学习:

欢迎扫码关注

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注