我正在Coursera上学习斯坦福大学的机器学习课程。
我尝试获取成本函数的导数,但是却得到了完全不同的东西。
如何获得导数?
中间步骤是什么?
我正在Coursera上学习斯坦福大学的机器学习课程。
我尝试获取成本函数的导数,但是却得到了完全不同的东西。
如何获得导数?
中间步骤是什么?
Answers:
这个答案归功于安东尼奥·帕雷拉达(Antoni Parellada)的评论,我认为该评论应该在此页上占据更重要的位置(因为当其他许多答案都没有时,它可以帮助我)。另外,这不是全部推导,而是对的清晰陈述。(有关完整推导,请参见其他答案)。
哪里
同样,对于那些想要计算关于的梯度的人来说,这是一个Python实现。
import numpy
def sig(z):
return 1/(1+np.e**-(z))
def compute_grad(X, y, w):
"""
Compute gradient of cross entropy function with sigmoidal probabilities
Args:
X (numpy.ndarray): examples. Individuals in rows, features in columns
y (numpy.ndarray): labels. Vector corresponding to rows in X
w (numpy.ndarray): weight vector
Returns:
numpy.ndarray
"""
m = X.shape[0]
Z = w.dot(X.T)
A = sig(Z)
return (-1/ m) * (X.T * (A - y)).sum(axis=1)
对于我们中那些不擅长微积分但想调整成本函数并需要找到一种方法来计算导数的人来说,重新学习微积分的捷径是该在线工具,可自动提供推导,并逐步解释规则。