机器学习推导合集03-机器学习领域矩阵求导的理解和实战

1 引言

我写的博客很多都是想在一些容易被劝退的地方分享一些体悟。在这之中有一个比较基本的关卡:矩阵求导。当你在面对LR(logistic regression)和最小二乘问题求梯度的时候,你会想:“这里的公式为啥是这样?”。回答你的,可能是参考书目背后零星公式的整理。若你想上网查阅,却发现鱼龙混杂(最近随着机器学习的热门情况有所好转)。我认为主要原因是:矩阵求导还没有一个统一的定义。WIKI有系统的介绍。然而,看完整篇之后可能你对实际的应用还有点云里雾里。这也是本篇博客致力于解决的问题。

声明:本文内容参考了Matrix Calculus的WIKI和Randal J. Barnes所写的Matrix Differentiation。 并且看本文前,请确保你有基本的线性代数知识。本文适合求经典问题损失函数梯度,本公式卡住的读者阅读。

2 求导简单回顾

作者数学分析一课学的并不好,在这里希望尽量解释清楚。我所学习到现代教科书上的导数定义是这样的:

$$f'(x_0)=\lim_{\triangle x \rightarrow 0}\frac{\triangle y}{\triangle x}=\lim_{\triangle x \rightarrow 0} \frac{f(x_0+\triangle x)-f(x_0)}{\triangle x}$$

在一元函数上,一个点对应的导数与在这个点函数的切线的斜率是相等的。求导在机器学习里用的很多,关键原因在于:当损失函数为凸的情况下,梯度下降能把证明收敛到全局最优,并且相比求解析解能更数值稳定(numerically stable)。看个收敛的直观结论(有兴趣可以去学习优化相关的理论):

如果f为凸函数,并且l-lipschitz光滑。如果\eta_t \equiv \eta = \frac{1}{L} 那么:

$$\lvert\lvert x^{t+1}-x^{\star}\rvert\rvert_2 \leqslant \lvert\lvert x^t -x^{\star}\rvert \rvert_2 - \frac{1}{L^2}  \lvert\lvert \nabla f(x^t) \rvert \rvert_2$$

注:x^{\star}为全局最优点,$\eta_t$代表学习率,在这里

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值