马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一 感知机是什么
感知机(Perceptron)是一种吸收输入信号并输出结果的算法。
它根据输入与权重的加权和是否高出某个阈值(threshold),来判定输出0还是1。
二.计算方式
感知机的根本公式如下:
- X1, X2 : 输入
- W1,W1: 权重
- θ :阈值
- 输出:0 or 1
三.简单逻辑门的实现
逻辑门简介
感知机可以模仿如下根本逻辑门:
输入1输入2AND门输出NAND门输出OR门输出00010100110101111101感知机参数设置
门范例权重w1、w2阈值θAND门0.5, 0.50.7NAND门-0.5, -0.5-0.7OR门0.5, 0.50.2代码示例- def AND(x1, x2):
- w1, w2, theta = 0.5, 0.5, 0.7
- tmp = w1*x1 + w2*x2
- if tmp <= theta:
- return 0
- else:
- return 1
复制代码 通过调解权重与阈值,感知机可以模仿差别的逻辑门。
四.线性与非线性
线性可分性
如果可以或许通过一条直线(二维)或超平面(高维)将差别种别的数据点完全分开,这种情况称为线性可分(Linear Separability)。
在平面上无法用一条直线区分输出为0和1的点,因此单层感知机无法处理XOR题目。
五.多层感知机
多层布局的须要性
为相识决XOR等非线性可分题目,必要引入多层感知机(Multi-layer Perceptron,MLP):
- 第1层:处理简单逻辑(如NAND、OR)
- 第2层:综合前面结果(如AND)
通过“组合多个感知机”,可以实现复杂逻辑!
XOR(异或)门的多层实现示例- def NAND(x1, x2):
- return ... # 同前述定义
- def OR(x1, x2):
- return ... # 同前述定义
- def AND(x1, x2):
- return ... # 同前述定义
- def XOR(x1, x2):
- s1 = NAND(x1, x2)
- s2 = OR(x1, x2)
- y = AND(s1, s2)
- return y
复制代码 异或 = AND(NAND, OR)
总结
主题关键词备注感知机根本权重、阈值、加权和决定输出0或1逻辑门实现AND、NAND、OR单层感知机线性与非线性线性可分 vs 非线性可分XOR是非线性题目多层感知机层与层组合办理复杂题目 |