sigmoid:
sigmoid函数的图像,如果我把水平轴作为轴,那么关于的sigmoid函数是这样的,它是平滑地从0走向1,让我在这里标记纵轴,这是0,曲线与纵轴相交的截距是0.5,这就是关于的sigmoid函数的图像。我们通常都使用来表示的值。
关于sigmoid函数的公式是这样的,,在这里是一个实数,这里要说明一些要注意的事情,如果非常大那么将会接近于0,关于的sigmoid函数将会近似等于1除以1加上某个非常接近于0的项,因为 的指数如果是个绝对值很大的负数的话,这项将会接近于0,所以如果很大的话那么关于的sigmoid函数会非常接近1。相反地,如果非常小或者说是一个绝对值很大的负数,那么关于这项会变成一个很大的数,你可以认为这是1除以1加上一个非常非常大的数,所以这个就接近于0。实际上你看到当变成一个绝对值很大的负数,关于的sigmoid函数就会非常接近于0,因此当你实现逻辑回归时,你的工作就是去让机器学习参数以及这样才使得成为对这一情况的概率的一个很好的估计。
sigmoid 的损失函数:
对个样本的损失函数求和然后除以m:
Gradient Descent:
修改参数: 对代价函数求偏导数
Logistic Regression Gradient Descent:
设有两个特征值 x1,x2 的线性函数z为:
代价函数对a的导数:
sigmoid对z求导:
代价函数对z求导:
代价函数对 w1,w2,b求导:
将dz展开为a-y:
使用梯度下降修正 w 和 b参数:
这里的a为可变参数。
转变为代码:
这是对所有样本进行一次梯度下降。
向量化(使用for循环速度很慢,故需向量化)
使用非向量化计算:
使用向量化的实现: z=np.dot(w,x)+b
不使用for循环进行梯度下降 (m个样本的向量化实现):