编辑
2024-12-17
机器学习
0
请注意,本文编写于 137 天前,最后修改于 137 天前,其中某些信息可能已经过时。

目录

人工神经元
激活函数
感知机
多层感知机MLP

人工神经元

人工神经元的结构可以画出如图

image.png

其中左侧的xix_i称为输入+1+1称为偏置。神经元中的输入经过加权求和后,还被作用了一个函数ff,称为激活函数。激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数。神经元的输出为

a=f(w1x1+w2x2++b)a=f\left(w_1x_1+w_2x_2+\cdots+b\right)

为了便于梯度下降,希望激活函数是连续可导的

激活函数

最开始的激活函数是Logistic,即Sigmoid

σ(x)=11+ex\sigma(x)=\dfrac{1}{1+e^{-x}}

image.png

这是由熵推出的表征概率的函数,不过在后来的实践中发现只要是个非线性的函数就可以,最简单的非线性函数莫过于ReLU

ReLU(x)=max(0,x)ReLU(x)=max(0,x)

image.png

它的光滑版本是Softplus

Softplus(x)=log(1+ex)Softplus(x)=\log(1+e^x)

image.png

此外还可能用双曲正切函数tanh

tanh(x)=exexex+extanh(x)=\dfrac{e^x-e^{-x}}{e^x+e^{-x}}

image.png

感知机

感知机由两层神经元组成,只有一层功能神经元,可以将其画图如下

image.png

由于其激活函数是阈值函数,也被称作阈值逻辑单元。可以使用感知机实现简单的逻辑运算,比如

image.png

不过非常可惜的是,感知机是一种线性分类器(见线性分类与感知机),面对非线性可分的逻辑(如异或XOR),它就无能为力了。不过鉴于在支持向量机与SVM中提到

如果训练数据本身就不是线性可分的,可以考虑将数据映射到更高维的空间,并尝试使用线性分类

可以尝试将数据映射到另一个空间,再尝试将其线性分类。映射的操作也可以通过感知机完成

不过此处的激活函数采取ReLU,由此即可实现异或

多层感知机MLP

两层感知机即可解决异或,更多层不是翻天了?实际上这就是多层前馈神经网络。有万能近似定理

Note

一个网络只要有两层计算单元,且其中第一层是非线性的,第二层是线性的,那么它可以以任意精度逼近任何连续函数

这意味着只有一个隐藏层的多层前馈网络足以逼近任何函数,同时还可以保证很高的精度和令人满意的效果

本文作者:GBwater

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!