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

感知机是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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容