神经网络_线性神经网络 1 (Nerual Network_Linear Nerual Network 1)
2019-04-08 16:59:23
1 学习规则(Learning Rule)
1.1 赫布学习规则(Hebb Learning Rule)
1949年,Hebb提出了关于神经网络学习机理的“突触修正”的假设:当神经元的前膜电位、后膜电位同时为正时,突触传导加强;电位相反时,突触传导减弱。根据次假设定义权值ω的调整方法,称该方法为Hebb学习规则。
Hebb学习规则中,学习信号等于神经元的输出:
r=f(WTj*X)
权值向量W调整公式:
ΔW=η*f(WTj*X)*X
权值向量W的分向量Δωij调整公式:
Δωj=η*f(WTj*X)*xj,j=0,1,2,…,n
为保证Hebb learning rule 的学习效率,对权值设置饱和值。
for examle:
1 参数设置
输入:X1=[1,-2,1.5]T、X1=[1,-0.5,-2]T、X1=[0,-1,-1]T,学习率 η=1,初始化权值W0=[0 0 0]T,传递函数使用hardlim。
2 计算步骤(即权值调整过程)
权值W1=W0+hardlim(W0T*X1)*X1=[1 -2 1.5];
权值W2=W1+hardlim(W1T*X2)*X2=[1 -2 1.5];
权值W3=W2+hardlim(W2T*X3)*X3=[1 -3 0.5];
1.2 感知器学习规则(Perceptron Leaning Rule)
1 感知器的学习规则
r=dj-oj
式中,dj为期望输出,oj=f(WjT*X)
感知器采用符号函数作为转移函数,则
f(WjT*X)=sgn(WjT*X)={1,WjT*X≥0;0,WjT*X<0}
由上式得权值调整公式
ΔWj=η*[dj-sgn(WjT*X)]*X
Δωj=η*[dj-sgn(WjT*X)]*xj
2 Hebb learning principle 和 Perceptron learning principle的不同之处
Hebb learning principle 采用输出结果作为权值调整的组成部分,Perceptron learning principle 采用误差作为权值调整的组成部分。
1.3 最小均方差学习规则(Least Mean Square Error Leaning Rule)
1.3.1 LMS学习规则特点
感知器学习规则训练的网络,其分类的判决边界往往距离各分类模式靠的比较近,这使得网络对噪声比较敏感;
LMS Learing Rule是均方误差最小,进而使得判决边界尽可能远离分类模式,增强了网络的抗噪声能力。
但LMS算法仅仅适用于单层的网络训练,当需要设计多层网络时,需要寻找新的学习算法,for example,Back Progation Nerual Network Algorithm。
1962年,Bernard Widrow 和 Marcian Hoff 提出Widrow-Hoff Learning Princple,该方法的特点是使实际神经元输出与期望输出之间的平方差最小,因此又称为Least Mean Square Erorr Princple。
LMS调整规则应用较为广泛:
1 信号处理
2 BP算法的引领者
1.3.2 LMS学习规则计算
LMS的学习信号
r=tj-WjT*X
权值调整量
ΔWj=η*(tj-WjT*X)*X
权值分量调整
Δωj=η*(tj-WjT*X)*xj,j=0,1,2,...,n
tj表示期望输出,WjT*X表示实际输出
1.3.2 MSE学习规则
均方差(MSE),是预测数据与原始数据的误差平方的和的均值
MSE=(∑(ti-ai)2)/n,其中i=1,2,...,n
Matlab中存在该函数,可以直接调用,e=[1 2 3],perf=mse(e)=(12+22+32)/n=4.66666667。
2 线性神经网络
2.1线性神经网路结构
1 参数设置
神经网络结构函数 Purelin



神经网络_线性神经网络 1 (Nerual Network_Linear Nerual Network 1)的更多相关文章
- 神经网络_线性神经网络 2 (Nerual Network_Linear Nerual Network 2)
1 LMS 学习规则 1.1 LMS学习规则定义 MSE=(1/Q)*Σe2k=(1/Q)*Σ(tk-ak)2,k=1,2,...,Q 式中:Q是训练样本:t(k)是神经元的期望输出:a(k)是神经元 ...
- 神经网络_线性神经网络 3 (Nerual Network_Linear Nerual Network 3)
1 LMS 学习规则_解方程组 1.1 LMS学习规则举例 X1=[0 0 1]T,t1=0:X2=[1 0 1]T,t2=0:X3=[0 1 1]T,t3=0:X1=[1 1 1]T,t1=1. 设 ...
- 单层感知机_线性神经网络_BP神经网络
单层感知机 单层感知机基础总结很详细的博客 关于单层感知机的视频 最终y=t,说明经过训练预测值和真实值一致.下面图是sign函数 根据感知机规则实现的上述题目的代码 import numpy as ...
- 使用MindSpore的线性神经网络拟合非线性函数
技术背景 在前面的几篇博客中,我们分别介绍了MindSpore的CPU版本在Docker下的安装与配置方案.MindSpore的线性函数拟合以及MindSpore后来新推出的GPU版本的Docker编 ...
- 『PyTorch』第四弹_通过LeNet初识pytorch神经网络_下
『PyTorch』第四弹_通过LeNet初识pytorch神经网络_上 # Author : Hellcat # Time : 2018/2/11 import torch as t import t ...
- 自适应线性神经网络Adaline
自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络. 相对于感知器, 采用了f(z)=z的激活函数,属于连续函数. 代价函数为LMS函数,最小均方算法,Lea ...
- RBF神经网络和BP神经网络的关系
作者:李瞬生链接:https://www.zhihu.com/question/44328472/answer/128973724来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 神经网络与BP神经网络
一.神经元 神经元模型是一个包含输入,输出与计算功能的模型.(多个输入对应一个输出) 一个神经网络的训练算法就是让权重(通常用w表示)的值调整到最佳,以使得整个网络的预测效果最好. 事实上,在神经网络 ...
- BZOJ_2460_[BeiJing2011]元素_线性基
BZOJ_2460_[BeiJing2011]元素_线性基 Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔 法矿石炼制法杖的技术.那时人们就认识 ...
随机推荐
- Eclipse 配置Tomcat 服务器
第一部分:eclipse环境下如何配置tomcat 1.下载并成功安装Eclipse和Tomcat 2.打开Eclipse,单击“window”菜单,选择下方的“Preferences” . 选择好自 ...
- 重磅发布:阿里 OpenJDK终于开源啦! 将长期支持版本 Dragonwell
前几天的北京阿里云峰会,阿里巴巴正式宣布对外开源 OpenJDK 长期支持版本 Alibaba Dragonwell.作为 Java 全球管理组织 Java Community Process (JC ...
- win10下caffe安装与mnist测试实验注意点
caffe安装 安装内容:win10教育版+anaconda2+python(无gpu版本) 安装教程:主要依照三年一梦教程:https://www.cnblogs.com/king-lps/p/65 ...
- overlay 文件系统
overlay文件系统浅析 overlayfs文件系统类似于aufs,相比aufs,overlay实现更简洁,很早就合入了linux主线, 合入主线后overlayfs修改为overlay. dock ...
- linux 服务器常用命令整理
linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...
- Charles SSL
1 enable SSL 2 chls.pro/ssl to install certificate 3 General -> About -> Certificate Trust Se ...
- ****微信小程序架构解析
| 导语 微信小程序的公测掀起了学习小程序开发的浪潮,天生跨平台,即用即走.媲美原生体验.完善的文档.高效的开发框架,小程序给开发者带来了很多惊喜.通过这篇文章和大家一起分析小程序的架构,分享开发 ...
- PHP使用urlencode对中文编码时空格、加号的问题
使用urlencode这个函数进行格式化,urlencode函数会把空格编码为为:+ 当然,前端在接收时可以解码后进行替换 + 为空格的方式处理. 但是这样就多做了一步,很麻烦,有的时候我们的数据接口 ...
- Linux 高阶命令进阶(一)
Linux 高阶命令进阶 (一)输出重定向 1. > :正确覆盖输出,会覆盖掉原先的文件内容 把文本写入文档中 # vim test ...
- java 静态资源访问详解
一.java project项目 如果工程项目是java project的话获取资源文件 1.如果是在本工程根目录下直接访问 FileReader fr = new FileReader(" ...