我目前正在做Andrew NG的ML课程。根据我的微积分知识,函数的一阶导数测试给出了关键点,如果有的话。并且考虑到线性/逻辑回归成本函数的凸性,给出了全局/局部最优。如果是这种情况,为什么我们不使用一阶导数测试来获得最小化成本函数J的Theta的值,而不是长时间地采取微小的步骤来达到全局最小值。一次尝试,并有一个美好的结局?
话虽如此,我确实知道有一个名为Normal Equation的Gradient Descent替代方案,在一个成功的步骤中与前者不同。
第二个想法,我在想是否主要是因为方程中涉及多个未知变量(这就是为什么偏导数发挥作用?)。
答案 0 :(得分:0)
我们举一个例子:
梯度简单回归成本函数:
Δ[RSS(w) = [(y-Hw)T(y-Hw)]
y : output
H : feature vector
w : weights
RSS: residual sum of squares
将此等于0以获取已关闭的表单解决方案将给出:
w =(H T H)-1 H T y
现在假设有D个特征,计算矩阵转置的时间复杂度约为O(D 3 )。如果有一百万个特征,那么在合理的时间内计算是不可能的。
我们使用这些梯度下降法,因为它们可以在更短的时间内为解决方案提供合理可接受的解决方案。