机器学习---神经网络(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-12-17机器学习资料入门指南
- 2024-12-06如何用OpenShift流水线打造高效的机器学习运营体系(MLOps)
- 2024-12-06基于无监督机器学习算法的预测性维护讲解
- 2024-12-03【机器学习(六)】分类和回归任务-LightGBM算法-Sentosa_DSML社区版
- 2024-12-0210个必须使用的机器学习API,为高级分析助力
- 2024-12-01【机器学习(五)】分类和回归任务-AdaBoost算法-Sentosa_DSML社区版
- 2024-11-28【机器学习(四)】分类和回归任务-梯度提升决策树(GBDT)算法-Sentosa_DSML社区版
- 2024-11-26【机器学习(三)】分类和回归任务-随机森林(Random Forest,RF)算法-Sentosa_DSML社区版
- 2024-11-18机器学习与数据分析的区别
- 2024-10-28机器学习资料入门指南