11.训练细节和激活函数

目录

training details训练细节

 模型训练步骤

激活函数

选择激活函数

输出层选择

隐藏层优先选择Relu函数

为什么需要激活函数

softmax

多分类问题

 neural network with softmax output

 改进的softmax实现


training details训练细节

 模型训练步骤

11.训练细节和激活函数_第1张图片

第一,确定模型

11.训练细节和激活函数_第2张图片

第二,确定loss和cost

        这里,其中loss是单个样本的损失计算公式,它是模型输出和真实标签ground truth label的函数。其中,cost function是整个训练集的loss的均值。

11.训练细节和激活函数_第3张图片

第三,训练优化

        使用梯度下降

        梯度下降过程中,最重要的是J对w或J对b的偏导计算,这一步在tensorflow或pytorch中,是通过back propagation后向传播计算的。

11.训练细节和激活函数_第4张图片

激活函数

选择激活函数

输出层选择

        11.训练细节和激活函数_第5张图片

        根据情况,二分类问题选择sigmod,输出全为正数,选择relu,输出有正有负,选择线性激活函数

隐藏层优先选择Relu函数

11.训练细节和激活函数_第6张图片

        第一,relu函数简单,计算也简单

        第二,relu函数的图像左边flat扁平,右边不flat。sigmod函数左边和右边都是flat的。在梯度下降过程中,在一些flat的地方,梯度下降可能会慢

为什么需要激活函数

11.训练细节和激活函数_第7张图片

 11.训练细节和激活函数_第8张图片

softmax

        softmax​​​​​​​通常来讲是激活函数,但是softmax函数要与交叉熵损失函数一起使用来避免数值溢出的问题。我们调用交叉熵损失函数时(entropy),框架会在entropy之前自动为我们添加softmax函数。

多分类问题

11.训练细节和激活函数_第9张图片

 11.训练细节和激活函数_第10张图片

 11.训练细节和激活函数_第11张图片

 11.训练细节和激活函数_第12张图片

 neural network with softmax output

11.训练细节和激活函数_第13张图片

 改进的softmax实现

·

x1=2.0/10000
print(f"{x1:.18f}")
x2=1+(1/10000)-(1-1/10000)
print(f"{x2:.18f}")

11.训练细节和激活函数_第14张图片

        不同的计算方法,结果会不一样。

11.训练细节和激活函数_第15张图片

        z是中间值logit,把最后的sigmod激活函数改成了linear激活函数,sigmod激活函数通过from_logits=True这个参数实现。

        通过直接使用z计算,而不是中间值a,可以减少计算误差。

11.训练细节和激活函数_第16张图片​​​​​​​

        除了精度,与之间一样

11.训练细节和激活函数_第17张图片

11.训练细节和激活函数_第18张图片 

 

你可能感兴趣的:(吴恩达机器学习)