神经元网络

人工神经网络

人工神经元是人工神经网络的基本构成元素,如下图所示, = [ x 1 , x 2 , x 3 . . . x m ] T , W = [ w 1 , w 2 , . . . w m ] T =\left[ x_1,x_2,x_3...x_m \right] ^T,W=\left[ w_1,w_2,...w_m \right] ^T =[x1,x2,x3...xm]T,W=[w1,w2,...wm]T为连接权,于是网络输入 u = ∑ i = 1 m w i x i u=\sum_{i=1}^m{w_ix_i} u=i=1mwixi,其向量形式为 u = W T X u=W^TX u=WTX
在这里插入图片描述

上图为单层感知器神经元模型,其中m为输入神经元的个数
v = ∑ i = 1 m w i x i , y = { 1 v ≥ 0 0 v < 0 v=\sum_{i=1}^m{w_ix_i},y=\begin{cases} 1 \quad v\ge 0\\ 0 \quad v<0\\ \end{cases} v=i=1mwixi,y={1v00v<0

激活函数也乘激励函数,活化函数,用来执行对神经元所获得的网络输入的变换,一般有以下四种:

  1. 线性函数 f ( u ) = k u + c f(u)=ku+c f(u)=ku+c

  2. 非线性斜面函数 f ( u ) = { γ , u ≥ θ k u , ∣ u ∣ < θ − γ , u ≤ − θ f\left( u \right) =\begin{cases} \gamma ,u\ge \theta\\ ku,\left| u \right|<\theta\\ -\gamma ,u\le -\theta\\ \end{cases} f(u)= γ,uθku,u<θγ,uθ
    其中 θ , γ \theta ,\gamma θ,γ为非负实数, γ \gamma γ称为饱和值,即 γ \gamma γ为神经元的最大输出

  3. 阈值函数/阶跃函数
    f ( u ) = { β , u > θ − γ , u ≤ θ f\left( u \right) =\begin{cases} \beta ,u>\theta\\ -\gamma ,u\le \theta\\ \end{cases} f(u)={β,u>θγ,uθ

  4. 在logistic回归中介绍过sigmoid函数,该函数将区间负无穷到正无穷映射到(0,1)
    sigmoid函数的公式为:
    f ( u ) = 1 1 + e − u f\left( u \right) =\frac{1}{1+e^{-u}} f(u)=1+eu1

  5. tanh函数讲教育sigmoid函数要常见一些,该函数将区间负无穷到正无穷映射到(-1,1),其公式为:
    f ( u ) = e u − e u e u + e − u f\left( u \right) =\frac{e^u-e^u}{e^u+e^{-u}} f(u)=eu+eueueu

例:
采用单一感知器神经元解决简单的分类的问题:将四个输入向量分为两类,其中两个向量对应的目标值为1,另外两个向量对应的目标值为0,即输入向量构成矩阵:

[ − 0.5 − 0.5 0.3 0 − 0.5 0.5 − 0.5 1 ] \left[ \begin{matrix} -0.5& -0.5& 0.3& 0\\ -0.5& 0.5& -0.5& 1\\ \end{matrix} \right] [0.50.50.50.50.30.501]
其中每一列1列是一个输入的取值,且目标分类向量T=[1,1,0,0]。试预测新输入向量 p = [ − 0.5 , 0.2 ] T p=\left[ -0.5,0.2 \right] ^T p=[0.5,0.2]T的目标值:

from sklearn.linear_model import Perceptron
import numpy as np
x0=np.array([[-0.5,-0.5,0.3,0.0],[-0.5,0.5,-0.5,1.0]]).T
y0=np.array([1,1,0,0])
md=Perceptron().fit(x0,y0)#构造并拟合模型
print("模型系数和常数项分别为:",md.coef_,",",md.intercept_)
print("模型精度:",md.score(x0,y0))#模型检验
print("预测值为:",md.predict([[-0.5,0.2]]))

在这里插入图片描述

记两个指标变量分别为 x 1 , x 2 x_1,x_2 x1x2,求得分类函数为 v = − 1.3 x 1 − 0.5 x 2 v=-1.3x_1-0.5x_2 v=1.3x10.5x2。新输入向量p的目标值为1

BP神经网络

BP神经网络最大优点是具有极强的非线性映射能力,他主要用于以下四个方面

  1. 函数逼近。用输入向量和相应的输出向量训练一个网络以逼近某个函数
  2. 模式识别
  3. 预测
  4. 数据压缩

BP神经网络的具体流程如下:
(1) 初始化,给各连接权及阈值赋予[-1,1]的随机值
(2) 随机选择一模式对 X 0 = [ x 1 0 , x 2 0 . . . . x n 0 ] , Y 0 = [ y 1 0 , y 2 0 , . . . y n 0 ] X_0=\left[ x_{1}^{0},x_{2}^{0}....x_{n}^{0} \right] ,Y_0=\left[ y_{1}^{0},y_{2}^{0},...y_{n}^{0} \right] X0=[x10,x20....xn0],Y0=[y10,y20,...yn0]提供给网络

(3)用输入模式、连接权,和國值,计算中间层各单元的输入,然后用s通过活函数计算中间层各单元的输出。
(4)用中间层的输出;连接权。和阔值计算输出层各单元的输入,然后用。过激活函数计算输出层各单元的响应d。
(5)用希望输出模式、网络实际输出计算输出层各单元一般化误差。。
(6)用连接权g、输出层一般化误差、中间层输出,计算中间层各单元一般化误
的元一般化误差c、中间层各单元输出,修正连接权u,和阈值。人各单元输入,修正连接权和阙值。
(7)重新从m个学习模式中随机选取一个模式对,即返回步骤3,直至网络全局误差函数E小于预先设定的一个极小值,即网络收敛;或学习次数大于预先设定的值,即网络无法收敛

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值