二元分类与Logistic 回归
二元分类与Logistic 回归
本部分将会介绍神经网格构建与训练的基础知识;一般来说,网络的计算过程由正向传播
深度学习的标准术语约定
神经网络的符号
上标
尺寸
- $m$:数据集中用例的数目。
- $n_x$:输入的单个用例的特征向量维度。
- $n_y$:输出的维度
( 待分类的数目) 。 - $n_h^{[l]}$:第
$l$ 个隐层的单元数目,在循环中,我们可能定义$n_x = n_h^{[0]}$ 以及$n_y = n_h^{number , of , layers + 1}$ 。 - $L$:神经网络的层数。
对象
- $X \in R^{n_x \times m}$:输入的矩阵,即包含了
$m$ 个用例,每个用例的特征向量维度为$n_x$ 。 - $x^{(i)} \in R^{n_x}$:第
$i$ 个用例的特征向量,表示为列向量。 - $Y \in R^{n_y \times m}$:标签矩阵。
- $y^{(i)} \in R^{n_y}$:第
$i$ 个用例的输出标签。 - $W^{[l]} \in R^{number , of , units , in , next , layer \times number , of , unites , in , the , previous , layer}$:第
$l$ 层与第$l+1$ 层之间的权重矩阵,在简单的二元分类且仅有输入层与输出层的情况下,其维度就是$ 1 \times n_x$ 。 - $b^{[l]} \in R^{number , of , units , in , next , layer}$:第
$l$ 层的偏差矩阵。 - $\hat{y} \in R^{n_y}$:输出的预测向量,也可以表示为
$a^{[L]}$ ,其中$L$ 表示网络中的总层数。
通用前向传播等式
- $ a = g^{[l]}(W_xx^{(i)} + b_1) = g^{[l]}(z_1) $,其中
$g^{[l]}$ 表示第$l$ 层的激活函数。 - $\hat{y}^{(i)} = softmax(W_hh + b_2)$。
- 通用激活公式:$aj^{[l]} = g^{[l]}(\sum_kw{jk}^{[l]}a_k^{[l-1]} + b_j^{[l]}) = g^{[l]}(z_j^{[l]})$。
$J(x, W, b, y)$ 或者$J(\hat{y}, y)$ 表示损失函数。
损失函数
- $J*{CE(\hat{y},y)} = - \sum*{i=0}^m y^{(i)}log \hat{y}^{(i)}$
- $J*{1(\hat{y},y)} = \sum*{i=0}^m | y^{(i)} - \hat{y}^{(i)} |$
深度学习的表示
在深度学习中,使用结点代表输入、激活函数或者数据,边代表权重或者偏差,下图即是两个典型的神经网络:
Logistic 回归
基础模型
在猫咪识别问题中,我们给定了未知的图片,可以将其表示为
$$ \hat{y} = \sigma(w^Tx + b) $$
这里的

上图中可以发现,当
损失函数与代价函数
我们的训练目标是在给定训练数据
$$ L(\hat{y},y) = \frac{1}{2} (\hat{y} - y)^2 $$
不过
$$ L(\hat{y},y) = -(ylog\hat{y} + (1-y)log(1-\hat{y})) $$
我们的优化目标是希望损失函数值越小越好,这里我们考虑两个极端情况,当
$$ J(w,b) = \frac{1}{m}\sum*{i=1}^mL(\hat{y}^{(i)} - y^{(i)}) = -\frac{1}{m} \sum*{i=1}^m [y^{(i)}log\hat{y}^{(i)} + (1-y^{(i)})log(1-\hat{y}^{(i)})] $$
在深度学习的模型训练中我们常常会接触到损失函数