美文网首页
单层感知器2

单层感知器2

作者: 平衡WorkLife | 来源:发表于2018-03-09 22:49 被阅读0次

题目

假设平面坐标系上有几个点(3,3), (4,3)这三个点的标签为1,
(0,1),(1,1)这两个点的标签为-1,构建神经网络来分类

思路:

  • 构造神经元-单层感知器,有三个输入节点 (1,3,3),(1,4,3), (1,1,1)

  • 对应的数据标签为(1,1,-1)

  • 初始化权重值w0, w1,w2为-1到1之间的随机数

  • 学习率设置为0.11

  • 激活函数为Sign函数
    单层感知器的思路是模拟大脑中单个神经元的工作方式:激活与否。感知器接收多个输入信号,如果输入信号的和超过某个阈值则输出一个信号,否则就什么也不输出。

  • 输入节点:x1, x2, x3

  • 输出节点:y

  • 权向量: w1, w2, w3

  • 偏置因子:b

代码

import numpy as np
import matplotlib.pyplot as plt

X=np.array([[1,3,3],
           [1,4,3],
           [1,1,1]])

Y=np.array([1,1,-1])
### 产生三个随机权值,范围在 -1 ~ 1
W=(np.random.random(3)-0.5)*2
print(W)
lr=0.11  #学习率
n=0   #迭代次数
O=0  #预测输出

###更新权值
def update():
  global X, Y, W, lr, n
  n+=1
  O=np.sign(np.dot(X, W.T))
  W_C=lr*((Y-O.T).dot(X))/int(X.shape[0])
  W=W+ W_C

for _ in range(100):
  update()
  print(W)
  print(n)
  if(O==Y.T).all():
    print('Finished')
    print('epoch:',n)
    break

#diagram to show
#the category as 1, [3,3], [3,4]
x1=[3,4]
y1=[3,3]

#the category as -1 [1,1]
x2=[1]
y2=[1]
#斜率和截距
k=-W[1]/W[2]
d=-W[0]/W[2]

xdata=np.linspace(0,5)
plt.figure()
plt.plot(xdata, xdata*k+d, 'r')
plt.plot(x1,y1,'bo')
plt.plot(x2,y2,'yo')
plt.show

公式

  1. O=np.sign(np.dot(X, W.T))


    image.png
  2. 学习率乘输入


    image.png
  1. 斜率和截距


    image.png
image.png image.png
  1. 结果:很好地区分开了这两类数据


    image.png

相关文章

  • DL01-6: 单层神经网络

    本主题内容包含:理解单层多感知器神经网络(不含隐藏层)。实现单层神经网络分类(矩阵)。 多感知器实际就是单个感知器...

  • 单层感知器2

    题目 假设平面坐标系上有几个点(3,3), (4,3)这三个点的标签为1,(0,1),(1,1)这两个点的标签为-...

  • 多层感知器MLP原理

    异或问题(XOR)无法使用单层感知器来做处理,因此可以使用多层感知器

  • 深度学习与神经网络:单层感知机应用(二分类)

    因为单层感知器的特性适合于做分类问题,借这个例子我们去实际体会下单层感知器的二分类问题: 比如这样一组数据集: X...

  • 机器学习笔记(一)单层感知器1

    感知器,是神经网络中的概念,1950年有Frank Rosenblatt 第一次引入。 单层感知器是最简单的额神经...

  • 独家连载 | 线性神经网络应用

    线性神经网络应用 3.3线性神经网络 3.3.1线性神经网络介绍 线性神经网络跟单层感知器非常类似,只是把单层感知...

  • 线性神经网络

    1.与单层感知器结构相似 2.支持purelin传输函数 3.除了二值输出外还可以支持模式输出 4.使用多个输出(...

  • 【机器学习】人工神经网络RNN

    单层感知器 1958年,美国心理学家罗森布拉特(F.Roseblatt)提出了一种具有单层计算单元的神经网络,称为...

  • 人工神经网络

    (一)感知器 简单介绍 感知器是一个输入层,一个输出层的单层神经网络,通常是给定输入,经过一个线性权重的连接后,输...

  • 深度学习入门(一)单层感知器

    理论部分: 小技巧,把偏置B当作一个输入X0来编程 代码部分: #输入数据 //小技巧其中X数组中的第一个 1 表...

网友评论

      本文标题:单层感知器2

      本文链接:https://www.haomeiwen.com/subject/dqvmfftx.html