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
关注
打赏
- Computer:C语言/C++语言的简介、发展历史、应用领域、编程语言环境IDE安装、学习路线之详细攻略
- DBMS/Database:数据库管理的简介、安装(注意事项等)、学习路线(基于SQLSever深入理解SQL命令语句综合篇《初级→中级→高级》/几十项代码案例集合)之详细攻略
- DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——1~20
- High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较
- Algorithm:【Algorithm算法进阶之路】之十大经典排序算法
- DataScience:数据生成之在原始数据上添加小量噪声(可自定义噪声)进而实现构造新数据(dataframe格式数据存储案例)
- CV:Image.open 和cv2.imread的简介、区别及PIL.Image格式/OpenCV格式相互转换代码实现之详细攻略
- Py之shap:shap.explainers.shap_values函数的简介、解读(shap_values[1]索引为1的原因)、使用方法之详细攻略
- Py之PaddleFL:PaddleFL/paddle_fl的简介、安装、使用方法之详细攻略
- Python语言学习:Python语言学习之正则表达式常用函数之re.search方法【输出仅一个匹配结果(内容+位置)】、re.findall方法【输出所有匹配结果(内容)】案例集合之详细攻略