机器学习中的神经网络:从基础到深度学习
1. 激活函数:Sigmoid神经元
神经网络中有一种特殊的神经元,叫做Sigmoid神经元。与感知器不同,Sigmoid神经元能提供连续的输出,其输出值处于一个连续的尺度上。
Sigmoid函数是一种具有S形曲线的数学函数,其定义如下:
[ S(t) = \frac{1}{1 + e^{-t}} ]
除了上述标准的Sigmoid函数,还有一些类似的函数,如奥吉曲线、冈珀茨曲线和逻辑曲线。在神经网络中,Sigmoid函数常被用作激活函数。
在神经网络里,一个Sigmoid神经元可以有多个输入 ( x_1, x_2, \cdots, x_n ),但其输出范围在0到1之间。和感知器类似,Sigmoid神经元对每个输入都有对应的权重 ( w_1, w_2, \cdots ) 以及一个整体的偏置。当输入(输入与权重的点积加上偏置)非常大时,Sigmoid神经元的输出趋近于1,与感知器类似,不过是渐近趋近;对于绝对值很大的负输入,同样适用。
2. 神经网络架构
简单的感知器在处理线性分类问题之外的任务时表现不佳。线性可分性是指能否用一条直线(权重和偏置的线性函数)将不同类别的数据分开。如下图所示:
| 线性可分 | 线性不可分 |
| ---- | ---- |
| 可以用直线分开 + 和 - | 无法用直线分开 + 和 - |
为了实现非线性分离,我们需要扩展神经网络的架构,引入更多的感知器。一种常见的架构是多层感知器(Multi-Layer Perceptron,MLP),它包含输入层、隐藏层和输出层。输入层位于最左侧,输出