关于LR梯度下降的一个问题?


面试中被问到的问题,在梯度下降的过程中

w(t+1)=W(t)+a*gradient,其中W(t+1)={w(t+1)1,w(t+1)2,...,w(t+1)n},W(t)={w(t)1,w(t)2,...,w(t)n},
在计算参数的时候如果已经计算出了W(t),和w(t+1)1,那w(t+1)2可否使用w(t+1)1进行求解?
这里知道应该是不可以的,应该使用W(t)对其求解。

但是为什么不能用w(t+1)1来求解w(t+1)2呢?
我感觉如果这样做就不是在梯度方向上进行渐进了,面试官说不够准确,大神们给解释一下。

还问到一个问题,LR就是求一个极值点,可以通过让其导数=0就能找到极值点,我们为什么要采用这种梯度的渐进方式进行求解呢?

公式编辑好的好丑....希望能看懂。
已邀请:

SuiterChik - 烫烫烫烫烫烫烫烫烫烫烫烫烫

赞同来自: 人晓 邹博 Me_TangZoe weco 御风破冰 xjzhou更多 »


题目看得太费劲,帮你改一下

问题一:
w(t+1)=W(t)+a*gradient,其中$$W(t+1)={w(t+1)_1,w(t+1)_2,\cdots,w(t+1)_n}$$,$$W(t)={w(t)_1,w(t)_2,\cdots,w(t)_n}$$,
$$\text{在计算参数的时候如果已经计算出了}W(t)\text{,和}w(t+1)_1\text{,那}w(t+1)_2\text{可否使用}w(t+1)_1\text{进行求解?}$$

答:前面已经有人说过了,维度不一样。好吧换个说法,特征不一样。比如说有一个数据
{颜色,形状,大小......}
现在你的问题就相当于为什么不能从颜色判断形状?确实是不能判断的,除非你知道两个特征之间的联系,但是在机器学习中,我们往往是不知道特征之间的关联的。而在实际中,我们在编写代码的时候都是,先手工推导出梯度公式,然后改写成代码:
weight += learningRate * delta
当然上面并没有考虑权衰减以及动量项这些东西。事实上,权值更新都是一批一批地处理的,很少会一个一个的处理,尤其是在大规模数据上。

问题二:
LR就是求一个极值点,可以通过让其导数=0就能找到极值点,我们为什么要采用这种梯度的渐进方式进行求解呢?

答:首先很多时候我们无法找到解析解,其次导数=0也不代表其是全局最优解,尤其是在一些复杂的情况下,局部最优解非常多,这时候常规的梯度方法也无法解决,所以我们会有很多随机化方法像模拟退火之类,动量项之类,这些都可以应用到梯度上。
刚推了一下,貌似在LR中要让似然函数导数为0不好解。

以上纯属个人观点,不保证正确性

要回复问题请先登录注册

返回顶部