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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?