您当前的位置: 首页 >  numpy
  • 0浏览

    0关注

    2393博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

DL之Perceptron:感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题之详细攻略

一个处女座的程序猿 发布时间:2022-09-19 00:37:32 ,浏览量:0

DL之Perceptron:感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题之详细攻略

目录

感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题

设计思路

输出结果

代码实现

感知器(多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题 设计思路

# 1、最初的感知机设计       # 仅包含与门——即AND()函数:当输入的加权总和超过阈值时返回1,否则返回0 # 2、进阶的感知机设计:带有权重w、偏置b概念形式的三种门实现             #(1)、与门、与非门、或门是具有相同构造的感知机,区别只在于权重参数的值。             #(2)、w1、w2是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1 的程度)的参数。但是根据上下文,有时也会将b、w1、w2 这些参数统称为权重。       # 2.1、设计AND门       # 2.2、设计NAND门             # 仅权重和偏置与AND不同!       # 2.3、设计OR门       # 2.4、利用两层感知机实现异或门             #(1)、异或门是一种多层结构的神经网络。这里,将最左边的一列称为第0 层,中间的一列称为第1 层,最右边的一列称为第2层。

输出结果

P_AND(0, 0): 0 P_AND(1, 0): 0 P_AND(0, 1): 0 P_AND(1, 1): 1 XOR(0, 0): 0 XOR(1, 0): 1 XOR(0, 1): 1 XOR(1, 1): 0

代码实现

# DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的原理之基于numpy定义2层感知机底层逻辑代码(与门AND/与非门NAND/或门OR是)解决XOR异或问题之详细攻略



import numpy as np


# 1、最初的感知机设计
# 仅包含与门——即AND()函数:当输入的加权总和超过阈值时返回1,否则返回0
def P_AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    tmp = x1*w1 + x2*w2
    if tmp  theta:
        return 1
 
print('P_AND(0, 0):',P_AND(0, 0)) # 输出0
print('P_AND(1, 0):',P_AND(1, 0)) # 输出0
print('P_AND(0, 1):',P_AND(0, 1)) # 输出0
print('P_AND(1, 1):',P_AND(1, 1)) # 输出1
 
 
# 2、进阶的感知机设计:带有权重w、偏置b概念形式的三种门实现
#(1)、与门、与非门、或门是具有相同构造的感知机,区别只在于权重参数的值。
#(2)、w1、w2是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1 的程度)的参数。但是根据上下文,有时也会将b、w1、w2 这些参数统称为权重。

# 2.1、设计AND门
def AND(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.7
    tmp = np.sum(w*x) + b
    if tmp             
关注
打赏
1664196048
查看更多评论
0.0473s