第二周 神经网络基础
logistic回归
一、 初探logistic回归
对于一个二分分类问题,可以归结为由一个输入X,得到一个输出Y。线性回归可以实现因变量为任意实数,但在二分分类问题中往往只有0-1。所以logistic回归在线性回归基础上加入sigmoid函数,将Y进行限制。如下图:
二、 相关公式
- Step 1 计算 $\large\hat{y}$
$$
\begin{cases}
\large Z = W^{T}X\ +\ b\
\large\sigma(Z)=\Large\frac{1}{1\ +\ e^{-Z}}\
\large\hat{y}=a
\end{cases}
$$
- step 2 计算 Cost Function $J(w,b)$
$$
\begin{cases}
\large L(\hat{y},y)=-(y\ log\ (\hat{y})+(1-y)\ log\ (1-\hat{y}))\
\large J(w,b)=\frac{1}{m}\sum_{i=1}^{m}L(\hat{y},y)
\end{cases}
$$
- step 2 梯度下降 gradient
$$
\begin{cases}
\large w=w\ -\ \alpha\Large\frac{dJ(w,b)}{dw},\ \large即\ w=w\ -\ \alpha dw\
\large b=b\ -\ \alpha\Large\frac{dJ(w,b)}{db},\ \large即\ b=b\ -\ \alpha db\
\end{cases}
$$
三、代码
下面以两个特征为例(为了显示效果,采用MathJax书写)
$\large J=0,dw_{1}=0,dw_{2}=0,db=0$
$\large for\quad i=1\quad to\quad m :$
$\qquad\large z^{(i)}=w^{T}x^{(i)}\ +\ b$
$\qquad \large a^{(i)}=\sigma(z^{(i)})$
$\qquad \large J\ + =-[\ y^{(i)}log\ a^{(i)}+(1-y^{(i)})log\ (1-a^{(i)})\ ]$
$\qquad \large dz^{(i)}=a^{(i)}-y^{(i)}$
$\qquad \large dw_{1}\ +=\ x^{(i)}_1dz^{(i)}$
$\qquad \large dw_{2}\ +=\ x^{(i)}_2dz^{(i)}$
$\qquad \large db\ +=dz^{(i)} $
$\large J=J/m,dw_{1}=dw_1/m,dw_{2}=dw_2/m,db=db/m$
四、向量化
1 | for iter in range(1000): # 用于控制循环次数 |
注:各向量的shape如下:
$Z : (1,m)$
$ W : (n_x,1)$
$b : (1,1)$
其中 dw 的每一行是 m 个 $xdz$ 的和,不同行代表 $dw_1,dw_2,\cdots,dw_{nx}$