Deeplearning.ai 学习笔记 -- 浅层神经网络

0x01 神经网络的表示

首先要理解神经网络每一层的表示方法,搞清楚每个变量的意义,如下图:

下面这几道题答对就算及格了


0x02 手撸单隐层神经网络-Planar data classification with one hidden layer

这节主要讲了利用单隐层神经网络来处理线性不可分的问题。对于下图的数据,采用逻辑回归(左图)只能达到47%的准确率;而单隐层神经网络可以达到90%以上的准确率(右图):

首先,我们要牢记下面这一大坨公式:注意,本文只是个人学习笔记,看不懂的请自行搜索 Deeplearning.ai 在网易上的公开课

Mathematically:

对于单个样本 $x^{(i)}$:
$$z^{[1] (i)} = W^{[1]} x^{(i)} + b^{[1]}\tag{1}$$
$$a^{[1] (i)} = \tanh(z^{[1] (i)})\tag{2}$$
$$z^{[2] (i)} = W^{[2]} a^{[1] (i)} + b^{[2]}\tag{3}$$
$$\hat{y}^{(i)} = a^{[2] (i)} = \sigma(z^{ [2] (i)})\tag{4}$$
$$y^{(i)}_{prediction} = \begin{cases} 1 & \mbox{if } a^{[2](i)} > 0.5 \\ 0 & \mbox{otherwise } \end{cases}\tag{5}$$

对于所有的样本,损失函数 $J$ 为:
$$J = - \frac{1}{m} \sum\limits_{i = 0}^{m} \large\left(\small y^{(i)}\log\left(a^{[2] (i)}\right) + (1-y^{(i)})\log\left(1- a^{[2] (i)}\right) \large \right) \small \tag{6}$$