Neural Networks
来源:互联网 发布:app应用市场源码 编辑:程序博客网 时间:2024/05/30 13:42
感知器(perception)是生物神经细胞的简单抽象,在百度上查一下“神经细胞”,得到如下图:
其中,树突用于获取外界信息刺激,细胞核用于对信息进行处理,轴突连接其他神经元,进行信息输出的传递(传递方向为单向传递),基于这个概念,抽象出感知器来模拟神经细胞的这个活动。
单层感知器是一种最简单的单层前向人工神经网络,所谓单层,即除输入层和输出层之外,仅包含一层权值可变的神经元节点,主要用于处理线性可分的二分类问题(两类模式线性可分,算法一定收敛),其基本结构如下:
x1, x2, x3代表输入层(也叫感知层),为3个神经元节点,负责引入外部信息,然后中间圆圈代表处理层,其具有信息处理能力,类似细胞核,工作过程就是一个感知器接收x1、x2、x3这三个二进制输入,并产生一个二进制输出。
考虑如下观点,五一快到了,你想去上海旅游,有3个考虑因素:
1. 上海天气怎么样?
2. 住宿地方是否出行便捷?
3. 约好的朋友是否有空陪同去?
这三个因素对应x1, x2, x3,去上海对应output,是否要去取一个阈值5吧,然后把3个因素分别分配一个权重(权重表示相应输入对于输出重要性的实数):3, 4, 3,也就是说,住宿的地方是否出行便捷对于最终是否去上海影响更大,然后每个因素乘以对应权重(假设天气不好:0,出行便捷:1,不陪同0),得到结果为: 0*3 + 1*4 * 0*3 = 4 < 5,结果就是不去,类似可调整数值,而阈值代表了你想要去上海旅游的欲望,值越小代表越愿意去,因此,单层感知器可如下描述:
看到这个表达式,是不是感觉类似符号函数?其实,可以将感知器看作依据权重来做出决定的设备。
令输出为y, 阈值为b(-threshold),输入对应x,权重对应w,则:
y = w1*x1 + w2*x2 + w3*x3 + b
这就是一条直线了,对于二维平面,感知器就对应一条直线,这样在平面上的数据就被这条直线分类了,大部分情况,是收敛的,特殊情况下,数据集会存在不收敛,这样就要调整数据集了。
下面用MatLab新建一个感知器来测试一下:
A. 样本数据准备:(天气好1,不好0; 出行便捷1,不便捷0; 陪同1,不陪同0; 出行1,不出行0; 天气权重3, 便捷权重4, 陪同3,阈值5)
因素 天气 便捷 陪同 出行结果
1 1 1 (10>5) -> 1
1 1 0 (7>5) -> 1
1 0 1 (7>5) -> 1
1 0 0 (3<5) -> 0
0 1 1 (7>5) -> 1
0 0 0 (0<5) -> 0
1 1 0 (7>5) -> 1
0 0 1 (3<5) -> 0
0 1 0 (4<5) -> 0
这些输入表示为一个有3个元素的输入向量,输入元素的取值范围为[0 1]
B. 创建感知器(设计为单层,单神经元的神经网络):
newp函数用于生成一个感知器神经网络
C. 定义输入9*3样本向量:
D. 定义目标向量:
E. 训练单层感知器神经网络
train函数用于训练创建好的感知器网络
输入训练后,弹出结果如右边窗口所示,看到感知器经过4次训练,使输出达到目标值,点击"Performance",可以查看训练误差曲线:
F.测试我们的感知器:
准备数据,分别对应上面样本数据的去与不去, 然后开始测试仿真:
可以得到结果就是1->去, 0->不去,可见设计的感知器达到目标需求。
单层感知器的几个缺陷:
1. 感知器的激活函数使用阈值函数,使得输出只能取两个值(1/-1或0/1),这限制了在分类种类上的扩展
2. 感知器网络只对线性可分的问题收敛,如果问题不可分,感知器无法解决
3. 感知器的学习算法只对单层有效,多层时无法直接套用规则
4. 当输入样本存在奇异样本(样本数据部分值突然增大),感知器网络运算需要花费很长时间
- Neural networks
- Neural Networks
- neural networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks
- Neural Networks网站
- Deep learning-------------Neural networks
- Neural Networks code
- Back-Propagation Neural Networks
- Convolutional Neural Networks
- 09: Neural Networks - Learning
- 神经网络(Neural Networks)
- NOTE:NEURAL NETWORKS
- 6-Neural Networks--Representation
- SVN的错误:Error: Can't connect tohost '': 由于目标机器积极拒绝,无法连接
- java使用jdbc连接数据库,
- 顺序栈的基本操作
- Ubuntu下修改tab为4个空格
- docker 应用-4(swarm模式搭建集群)
- Neural Networks
- MySQL 触发器
- iw工具安卓移植
- EOS Governor各类配置信息以及具体使用场景和含义
- 研究Bitmap
- allegro 16.6 出gerber时drill文件出问题及解决
- 541.Reverse String II(String-Easy)
- 解决Unable toconnect to a repository at URL 禁止访问(forbidden)
- CentOS 6.5 下载地址