1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c
2.详细笔记网站(中文):http://www.ai-start.com/dl2017/
3.github课件+作业+答案:https://github.com/stormstone/deeplearning.ai
3.9 训练一个 Softmax 分类器 Trying a softmax classifier
上一节中我们学习了Softmax层和Softmax激活函数。
本节中,我们将更深入地了解Softmax分类,并学习如何训练一个使用了Softmax层的模型。
上节课中已经了解,我们有四个分类 C = 4 C=4 C=4,输出层的 z [ L ] = [ 5 2 − 1 3 ] z^{[L]}=\begin{bmatrix} 5 \\ 2 \\ -1 \\ 3 \end{bmatrix} z[L]=⎣⎢⎢⎡52−13⎦⎥⎥⎤,是4x1维向量。临时变量 t = [ e 5 e 2 e − 1 e 3 ] t=\begin{bmatrix} e^5 \\ e^2 \\ e^{-1} \\ e^3 \end{bmatrix} t=⎣⎢⎢⎡e5e2e−1e3⎦⎥⎥⎤,对元素进行幂运算。最后,如果你的输出层的激活函数 g [ L ] ( z [ L ] ) g^{[L]}(z^{[L]}) g[L](z[L])是Softmax激活函数,那么输出 a [ L ] a^{[L]} a[L]就会是这样的:
简单来说就是将临时变量 t t t归一化,使总和为1。
你注意到向量 z [ L ] z^{[L]} z[L]中,最大的元素是5,而最大的概率也就是第一种概率0.842。
Softmax这个名称的来源是与所谓hardmax对比。
hardmax函数会观察 z [ L ] z^{[L]} z[L]的元素,在其中最大元素的位置放上1,其它位置放上0。
所以向量 z [ L ] z^{[L]} z[L]通过hardmax函数就变成向量 [ 1 0 0 0 ] \begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix} ⎣⎢⎢⎡