神经网络基础知识
感知机
感知机是第一个人工神经元,其公式: O = σ ( < w , x > + b ) O = \sigma(<w,x>+b) O=σ(<w,x>+b) 其中 O O O表示输出, σ \sigma σ 表示激活函数, < w , x > <w,x> <w,x> 表示矩阵相乘, b b b为偏置。该感知机输出为1或0,是一个传统的二分类模型。但是感知机有致命缺陷,即感知机无法解决异或问题。
简单证明即:假设模型输入为X0 、X1,则:
O = σ ( X 0 ∗ W 0 + X 1 ∗ W 2 + b ) O = \sigma(X_0*W_0 + X_1*W_2 + b)\\ O=σ(X0∗W0+X1∗W2+b)不考虑激活函数,则有:
O ′ = X 0 ∗ W 0 + X 1 ∗ W 2 + b X 1 = − W 0 W 1 ∗ X 0 + O W 1 − b W 1 O' = X_0*W_0 + X_1*W_2 + b \\ X_1 = -\frac {W_0}{W_1}*X_0 +\frac OW_1 - \frac bW_1 O′=X0∗W0+X1∗W2+bX1=−W1W0∗X0+WO1−Wb1将上式看作X1关于X0的数学表达式,满足直线方程的表达式: y = k ∗ x + b y = k*x+b y=k∗x+b,加上激活函数的作用,简单的感知机在二维平面内,可以表达为一条线。而对于异或问题而言,无法用简单的一条线将其区分,故感知机无法解决异或问题。为了解决单一感知机的致命缺陷,出现了多层感知机,多层感知机基本模型如下:
σ ( X 1 ∗ 3 ∗ W 3 ∗ 4 ) = H 1 ∗ 4 σ ( H 1 ∗ 4 ∗ W 4 ∗ 2 ) = O 1 ∗ 2 \sigma(X_{1*3}*W_{3*4})=H_{1*4} \\ \sigma(H_{1*4}*W_{4*2})=O_{1*2} σ(X1∗3∗W3∗4)=H1∗4σ(H1∗4∗W4∗2)=O1∗2
需要特别注意的是,当不存在激活函数时,多层感知机将退化为单层,推导如下:
H = X ∗ W