机器学习---神经网络(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-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习
- 2024-01-08扩展卡尔曼滤波:提高机器学习性能的利器
- 2023-12-26各种二端口滤波器网络仿真遇到的问题
- 2023-12-14机器学习-搜索技术:从技术发展到应用实战的全面指南
- 2023-12-12机器学习 - 决策树:技术全解与案例实战
- 2023-12-05机器学习-学习率:从理论到实战,探索学习率的调整策略
- 2023-12-04解锁机器学习-梯度下降:从技术到实战的全面指南
- 2023-11-30回归算法全解析!一文读懂机器学习中的回归模型
- 2023-11-30机器学习 - 似然函数:概念、应用与代码实例