首页 > 其他 > 详细

神经网络之感知器(perception)

时间:2020-11-22 13:03:49      阅读:35      评论:0      收藏:0      [点我收藏+]

前述:

人工智能本质上也是为了模仿人脑的神经元所设计的,人脑的神经元如下图所示:

技术分享图片

树突(Dendrite) 作为接收端, 然后经过体细胞(cell body)的处理,每当输入端达到一定的阈值(threshold)最后通过轴突(axon)输出.
事实上在人工智能中的感知器(perception)中同样采用了如此类似的结构,大体离不开三样:

  • 输入端(input edges): 负责将数据的输入
  • 输出端(output edges): 负责输出的输出
  • 激活层(activation level): 负责数据的转换, 后续将以 g()函数表示

M-P 模型

技术分享图片

  • \(x_1\)\(x_2\)将作为输入,它俩有各自的权重分别为\(w_1\)\(w_2\)
  • \(w_0\)作为偏差权重(bias weight), 可以让模型有效的适配更广的情况, 深层了解请参考: https://www.zhihu.com/question/68247574
  • 将输入值按照函数 \(w_1*x_1 + w_2*x_2 + w_0\)计算出总和值 \(\sum\)
  • \(\sum\) 将经过转换函数(transfer function) g()以后得到最终的结果

tips: 最简单的转换函数就是当求得的结果大于0则记为1, 反之小于0则记为0,不过你可以设定自己的转换函数

Simple EXAMPLE

如果我们有一个初始值为如下的模型

Training example \(x_1\) \(x_2\) 类型
a 0 1 -1
b 2 0 -1
c 1 1 +1

并采用如下的初始值

  • \(w_0 = 1.5\)
  • \(w_1 = 0\)
  • \(w_2 = 2\)
    则我们就可手动模拟训练过程
序列 \(w_0\) \(w_1\) \(w_2\) Training example \(x_1\) \(x_2\) 类型 \(s=w_0+w_1x_1+w_2x_2\) 需要的处理
1 -1.5 0 2 a 0 1 -1 +0.5 相减
2 -2.5 0 1 b 2 0 -1 -2.5
3 -2.5 0 1 c 1 1 +1 -1.5 相加
4 -1.5 1 2 a 0 1 -1 +0.5 相减
5 -2.5 1 1 b 2 0 -1 -0.5
6 -2.5 1 1 c 1 1 +1 -0.5 相加
7 -1.5 2 2 a 0 1 -1 +0.5 相减
8 -2.5 2 1 b 2 0 -1 +1.5 相减
9 -3.5 0 1 c 1 1 +1 -2.5 相加
10 -2.5 1 2 a 0 1 -1 -0.5
11 -2.5 1 2 b 2 0 -1 -0.5
11 -2.5 1 2 c 1 1 +1 +0.5

至此我们找到了一条能够正确分隔这3个点的权重\(w_0, w_1,w_2\),也就是一条线,这也是perception最本质上的用处:

技术分享图片

应用在现实生活中, 举个特别简单的例子,你可以理解为图中的白点为性别男,图中的黑点为性别女,perception可正确的将男女分开, 可perception的用处不仅局限于此,任何能用一根线来做分别的都可以用到perception

Reference

https://www.zhihu.com/question/68247574 :bias weight有什么用?

神经网络之感知器(perception)

原文:https://www.cnblogs.com/garyupup/p/14018642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!