深度学习之二:神经网络编程基础


2.18 逻辑回归损失函数

逻辑回归

逻辑回归需要预测的结果: $\hat{y}=\sigma\left(w^{T} x+b\right)$,$\sigma$是sigmoid函数。
$$\sigma(z)=\sigma\left(w^{T} x+b\right)=\frac{1}{1+e^{-z}}$$
约定$\hat{y}=p(y=1 \mid x)$(这么做是要将$\hat{y}=p(y=1 \mid x)$看为一个含w,b参数的似然函数,可用最大似然法求w,b)

总得来说就是:要找到一个式子以$\hat{y},y$作为自变量,理论上当$\hat{y}=y$时,该式的值达到最大值(凸函数),然后用该式加负号作为损失函数来训练。当损失函数达到最小值时,预测值$\hat{y}$和真值$y$近似相等。
下面就是$\hat{y}=p(y=1 \mid x)$的完整定义:

$$\begin{array}{lll}\text { If } & y=1: & p(y =1\mid x)=\hat{y} \ \text { If } & y=0: & p(y =0\mid x)=1-\hat{y}\end{array}$$
由上式可见,当$\hat{y}=y$($y$只能取0、1,二分类问题)时,$\hat{y}=p(y \mid x)$达到最大值1。
将上式合并为一个式子,如下:
$$p(y \mid x)=\hat{y}^{y}(1-\hat{y})^{(1-y)}$$

分别将$y=1,y=0$代入,得到的结果分别为$\hat{y},1-\hat{y}$.可见上式就是对$\hat{y}=p(y \mid x)$定义的完整表达。
对数化简:
$$\log (p(y \mid x))=y \log \hat{y}+(1-y) \log (1-\hat{y})$$
其中$\log(p(y\mid x))$就是之前损失函数的负数$-L(\hat{y},y)$。其实就是要不断更新w与b,使$\log(p(y\mid x))$达到最大,等价于让损失函数达到最小,其结果就是预测值$\hat{y}$不断接近$y$,最终达到近似相等。这是训练单个样本的情况。

而训练多个样本时,可以把这m个样本看成m个随机抽样结果。它们的联合概率就是每个样本概率的乘积。
$$P(\text { labels in training } \operatorname{set})=\prod_{i=1}^{m} P\left(y^{(i)} \mid x^{(i)}\right)$$
取对数优化:
$$\text {logp}(\text { labels in training set })=\log \prod_{i=1}^{m} P\left(y^{(i)} \mid x^{(i)}\right)=\sum_{i=1}^{m} \log P\left(y^{(i)} \mid x^{(i)}\right)=\sum_{i=1}^{m}-L\left(\hat{y}^{(i)}, y^{(i)}\right)$$
如果通过不断迭代,找到一对w,b 使logp达到最大值,等价于使$\sum_{i=1}^{m}L\left(\hat{y}^{(i)}, y^{(i)}\right)$达到最小值,那么这一对 w,b 就是logp 的最大似然估计值。


文章作者: Extreme Ways
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Extreme Ways !
评论
  目录