《深度学习入门》第2章感知机

2023-04-14  本文已影响0人  e9f3ca3721bc

感知机是1957年提出的算法,也是作为神经网络和深度学习的起源算法。

下面是csdn大佬总结的感知机模型以及简单的应用:机器学习——感知机机器学习感知机欲游山河十万里的博客-CSDN博客

感知机是什么

感知机接收多个输入信号,输出一个信号输入信号在送往神经元的时候,分别乘以权重,神经元会计算信号总和,只有当这个总和超过某个界限时,才会输出1;

感知机.png image.png

感知机应用与实现

a.与门

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 <= 0:
        return 0
    else:
        return 1
(0, 0) -> 0 #0+0-0.7
(1, 0) -> 0 #0.5+0-0.7
(0, 1) -> 0 #0+0.5-0.7
(1, 1) -> 1 #0.5+0.5-0.7

b.或门

def OR(x1, x2):
    x = np.array([x1, x2])
    w = np.array([0.5, 0.5])
    b = -0.2
    tmp = np.sum(w*x) + b
    if tmp <= 0:
        return 0
    else:
        return 1

c.与非门

def NAND(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 <= 0:
        return 0
    else:
        return 1

多层感知机

从上面应用可以看出单层感知机无法实现异或门,深究其原因,知感知机的原理是用直线在平面上分隔出两个空间,其中一个空间输出0,另一个空间输出1;异或门无法用一条直线分隔成0和1 两个空间;此外,直线分隔成的空间叫做线性空间,非直线分隔成的空间叫做非线性空间;所以,单层感知机只能解决线性空间问题。故引入多层感知机。

d.异或门实现
参考计算机组成异或门的实现,我们知道可以利用与非门,或门和与门组合实现;


异或门
def XOR(x1, x2):
    s1 = NAND(x1, x2)
    s2 = OR(x1, x2)
    y = AND(s1, s2)
    return y

end

上一篇 下一篇

猜你喜欢

热点阅读