Logistic Regression
把它看成只有一个神经元的神经网络,激活函数就是sigmoid
函数。
模型:
其中,
代价函数:
视频中好像没有具体说这个损失函数的一个推导,这里自己简单推一推。
首先对于$\sigma(Z)$这个函数,它其实就是经常说到的sigmoid函数, 它的函数图像如下:
可以看出sigmoid函数的值域范围是0~1,所以通常把它当成一个概率来看待,
那么,可以写出y
的概率表达式为:
其中$\hat y$就是预测$y$为1的概率,区分两种情况, 上面的式子分开写就是下面的式子,合并在一起有利于公式化:
所以我们采用极大似然法来进行对$W$的求解,似然函数就可以写为:
对数似然写为:
加上$- \frac{1}{m}$就得到了上面的代价函数,同时也从最大化变成了最小化。
梯度:
首先需要对代价函数进行求导,下面进行推导,令:
单独看一个样本,它的代价函数为,
对其中一个进行求导,这里先忽略上标:
然后其中的$\frac{\partial \alpha}{\partial W_i}$继续计算:
继续对$\frac{\partial Z}{\partial W_i}$进行计算:
将上面的合起来,写为:
注意到代价函数为:
所以考虑到向量化处理,同时加上前面的因子$-\frac{1}{m}$,最终可以写为:
其中,
参数更新
权值的更新就按照梯度下降的原则更新就行,
这里的$\alpha$代表学习因子。
存疑
如果直接使用最小二乘损失函数呢?