逻辑回归损失函数为什么引入log?

先放一下激活函数和损失函数的数学公式

逻辑回归损失函数为什么引入log?_第1张图片

再来看对应的几行代码

# z = w.T * X + b,np.dot(w.T, X)(1, 209)
A = sigmoid(np.dot(w.T, X) + b)  # 计算激活值,请参考公式2。
m = X.shape(1)      # X的列的维数就是图片的个数
# 引入log是因为该函数不会影响原来的单调性;二、损失函数中包含A,直接对sigmoid函数求导...;剩下的,看笔记
cost = (- 1 / m) * np.sum(Y * np.log(A) + (1 - Y) * (np.log(1 - A)))  

可以看到,损失函数的等式中是包含A的,LR是一种广义的线性回归模型,平方损失函数的话,一、对于Sigmoid函数求导计算,无法保证是凸函数,在优化的过程中,求得的解有可能是局部最小,不是全局的最优值。其二:取完对数之后,对我们的后续求导比较方便。
参考: https://juejin.cn/post/7023638919279280142

你可能感兴趣的:(吴恩达深度学习入门,逻辑回归,机器学习,python)