在本实验中,我们将探索 softmax 函数。在求解多类分类问题时,此函数在 Softmax 回归和神经网络中使用。
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('./deeplearning.mplstyle')
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from IPython.display import display, Markdown, Latex
from sklearn.datasets import make_blobs
%matplotlib widget
from matplotlib.widgets import Slider
from lab_utils_common import dlc
from lab_utils_softmax import plt_softmax
import logging
logging.getLogger("tensorflow").setLevel(logging.ERROR)
tf.autograph.set_verbosity(0)
注意:通常,在本课程中,笔记本使用以 0 开始计数并以 N-1 结束的约定,,虽然讲座以 1 开始,以 N 结束,
这是因为在讲课时,代码通常会从 0 开始迭代,将 1 数到 N 会导致方程式更清晰、更简洁。这个笔记本包含的方程式比实验室的典型方程式多,因此将打破惯例,将 1 计算到 N。
Softmax Function
在 softmax 回归和具有 Softmax 输出的神经网络中,都会生成 N 个输出,并选择一个输出作为预测类别。在这两种情况下,向量z由应用于 SoftMax 函数的线性函数生成。softmax 函数转换z转换为如下所述的概率分布。应用 softmax