机器学习---神经网络(Neural Network)
2022/7/12 6:22:08
本文主要是介绍机器学习---神经网络(Neural Network),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 神经网络的基本概念
- 神经网络的分层:神经网络由输入层、隐藏层、输出层组成。
- 神经元之间的连接:层与层之间有神经元连接、而层内之间没有神经元连接。连接的神经元都有对应的权重。
- 输入层:负责接收输入的数据。
- 输出层:从这层获取神经网络输出数据。
- 隐藏层:输入层与输出层之间的是隐藏层。
隐藏层可以有多层。
2. 激活函数
激活函数可以使神经网络逼近任意非线性函数,使得神经网络可以应用到众多的非线性模型中。
常用的激活函数
- sigmoid
- relu
最开始,神经网络中经常使用的一个激活函数就是sigmoid
函数,函数公式如下:
sign={−1+1x<0xgeq0
函数图像如下图所示:
sigmoid
函数是一条平滑的曲线,输出随着输入发生连续的变化。而阶跃函数以0
为界,输出发生急剧兴的变化。sigmoid
函数的平滑性对神经网络的学习具有重要意义。
sigmoid
函数在x
过大或过小时,函数变化非常小,即梯度非常接近0
,随着神经网络的加深,在使用梯度下降方法的时候,由于梯度接近0
,参数更新接近0
,网络开始学不到东西,即梯度消失。所以现在常使用relu
激活函数,函数公式如下:
relu(x)={0xx<0xgeq0
函数图像如下图所示:
relu
函数在x
大于等于0
时,输出的是x
本身,函数变化率恒为1
,这样就避免了梯度消失的情况。当x
小于0
时,输出为0
,即神经元不被激活,这样也符合人脑内并不是所有神经元同时被激活的情况。并且,relu
函数计算成本非常低,所以在神经网络过深时常使用relu
函数作为激活函数。
3. 反向传播算法
4. 使用pytorch搭建卷积神经网络识别手写数字
这篇关于机器学习---神经网络(Neural Network)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-28机器学习资料入门指南
- 2024-10-25机器学习开发的几大威胁及解决之道
- 2024-10-24以下是五个必备的MLOps (机器学习运维)工具,帮助提升你的生产效率 ??
- 2024-10-15如何选择最佳的机器学习部署策略:云 vs. 边缘
- 2024-10-12从软件工程师转行成为机器学习工程师
- 2024-09-262024年机器学习路线图:精通之路步步为营指南
- 2024-09-13机器学习教程:初学者指南
- 2024-08-07从入门到精通:全面解析机器学习基础与实践
- 2024-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习