神经网络基础以及激活函数,以及梯度下降
2021/8/27 6:07:58
本文主要是介绍神经网络基础以及激活函数,以及梯度下降,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.神经网络分为三层:输入层,隐藏层以及输出层
2.a^[0]表示输入层,a^[1]表示隐藏层,a^[2]表示输出层,在隐藏层还要表示
则呈现a^[1]1,a^[1]2,a^[1]3
3.m个训练集向量化
Z^[1] = W^[1]X+b A^[1] = 符号(Z^[1]) Z^[2] = W^[2]A^[1]+b^[2] a^[2] = 符号(Z^[2])#sigmoid()激活函数 for i in m: Z^[1](i) = W^1]X^(i)+b A^[1](i) = 符号(Z^[1](i)) Z^[2](i) = W^[2]A^[1][i]+b^[2] a^[2](i) = 符号(Z^[2](i))
4.矩阵的从左至右的行表示不同的样本矩阵的列从上至下表示样本的不同属性
5.sigmoid函数就是激活函数,这个函数的值域在0-1之间
sigmoid() = 1/1+e^(-z),主要用于二分类问题
6.还有一个更好的激活函数tanh函数,值域在-1-1之间,是sigmoid函数通过平移之后得到的函数,g(z) = tanh(z) = e^(z)-e^(-z)/e^(z)+e^(-z)任何场合都可以使用,处理二分类问题
7.最常用的默认激活函数reLU,当定义域小于0的时候,它的导数为0,当定义域大于0的时候,它的值域是一条直线,reLU = max(0,z)
8.带泄露reLU激活函数,当它的定义域小于0的时候,它会是趋近于0的函数
9.激活函数主要用于输出层
10.正向传播和反向传播
#正向传播: Z^[1] = W^[1]X+b*[1] A^[1] = g^[1](Z^[1]) Z^[1] = W^[2]A^[1]+b^[2] A^[2] = g^[2](Z^^[2])+b^[2] #反向传播: dZ^[2] = A^[2] - Y dw^[2] = 1/m*dZ^[2]*A^[1]T db^[2] = 1/m*np.sum(dZ^[2],axis = 1,keepdoms = True) dZ^[2] = W^[2]dZ^[2]*g^[1](Z^[1]) dW^[2] = 1/m*dZ^[1]X^T db^[1] = 1/m*np.sum
这篇关于神经网络基础以及激活函数,以及梯度下降的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南