本文主要是介绍恒等函数和softmax函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景知识
我们之前已经完成神经网络的学习,接下来我们需要将经过神经网络处理的数据传入输出层进行输出,由于神经网络主要用于分类问题和回归问题,所以我们需要根据实际情况来更改我们输出层的激活函数,一般而言,回归问题用恒等函数,分类问题用softmax函数。区分图像中的人是男是女属于分类问题,回归问题则是根据某个输入预测一个数值的问题,比如根据一个人的图像预测这个人的体重就属于回归问题。
这里我们主要讲softmax函数
softmax函数
通过softmax函数可以看出,输出层的各个神经元都受到所有输入信号的影响。
#softmax函数
import numpy as np
a=np.array([0.3,2.9,4.0])def softmax(x):exp_a=np.exp(x)sum_exp_a=np.sum(exp_a)y=exp_a/sum_exp_areturn yy=softmax(a)
print(y)#[0.01821127 0.24519181 0.73659691]
由于softmax容易溢出,为了防止这种情况发生,我们需要对其进行改进
#softmax函数
import numpy as np
a=np.array([0.3,2.9,4.0])def softmax(x):c=np.max(x)exp_a=np.exp(x-c)sum_exp_a=np.sum(exp_a)y=exp_a/sum_exp_areturn yy=softmax(a)
print(y)#[0.01821127 0.24519181 0.73659691]
这篇关于恒等函数和softmax函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!