神经网络基础:前馈神经网络与激活函数详解
在神经网络的学习中,我们常常会遇到各种基础概念和技术,理解这些内容对于构建和优化神经网络模型至关重要。本文将详细介绍前馈神经网络(FFNN)的相关知识,包括其基本原理、激活函数、反向传播算法,以及如何使用Python从零开始实现一个简单的FFNN来解决异或(XOR)问题。
1. 前馈神经网络基础
前馈神经网络(FFNN)是一种常见的神经网络类型,其信息仅从输入层向输出层单向流动。与感知机算法相比,感知机只能捕捉线性关系,对于一些简单的任务,如逻辑异或(XOR)问题,感知机就显得无能为力。
逻辑异或问题是指当两个二进制输入不同时,输出为真;否则输出为假。其真值表如下:
| X1 | X2 | 输出 |
| — | — | — |
| 0 | 0 | False |
| 0 | 1 | True |
| 1 | 0 | True |
| 1 | 1 | False |
在这个问题中,无法用一条直线将预测空间正确地划分为两部分,这意味着线性函数无法解决该问题。而多层神经网络可以通过多个线性函数的组合,更复杂地划分空间,从而解决这类非线性问题。
2. 引入非线性:激活函数
为了引入非线性,我们可以改变激活函数。常见的激活函数有以下几种:
- Sigmoid函数 :是逻辑函数的一种特殊情况,类似于阶跃函数,常用于二分类问题,将输出值限制在0到1之间,表示概率。其公式为:$sigmoid(s) = \frac{1}{1 + e^{-s}}$。但当输入值非常大或非常小时,导数接近0,
超级会员免费看
订阅专栏 解锁全文
4211

被折叠的 条评论
为什么被折叠?



