深度学习---感知机

    xiaoxiao2021-04-15  291

    感知机是什么简单逻辑电路感知机的实现感知机的局限性多层知感机

    1.感知机

    感知机接受多个信号,输出一个信号(感知机的信号只对应1/0两种情况)

    x1,x2为输入信号,w1.w2为一开始给定的权重,y为输出的信号,每个圈为一个神经元,神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出 1。这也称为“神经元被激活”。这里将这个界限值称为阈值,用符号 θ 表示。

    2.简单逻辑电路

    学习是确定合适的参数的过程,而人要做的是思考感知机的构造(模型),并把训练数据交给计算机。

    与门,与非门,或门

    与门:   

              输入   输出   X1   X2     y00 0010100111

    与非门:

              输入   输出   X1   X2     y00 1011101110

     

    或门:

              输入   输出   X1   X2     y00 0011101111

    3.感知机的实现

    主要是权重和偏置不同,b为偏置,也为神经元的易激活的程度

    与门:

    import numpy as np def AND(x1,x2): t = np.array([x1,x2]) w = np.array([0.5,0.5]) g = np.sum(t*w) f = g - 0.7'''(偏置b)''' if f >=0: return 1 else: return 0 与非门: import numpy as np def NAND(x1,x2): t = np.array([x1,x2]) w = np.array([-0.5,-0.5]) g = np.sum(t*w) f = g + 0.7 if f >=0: return 1 else: return 0

     

    或门:

    import numpy as np def OR(x1,x2): t = np.array([x1,x2]) w = np.array([1,1]) g = np.sum(t*w) f = g - 0.1 if f >=0: return 1 else: return 0

    4.感知机的局限性

    单层感知机可表示线性空间,但不能表现非线性空间

    XOR(异或)要区分0,1区域,必须借用曲线区分,如图:

     

    异或要用二次感知机才能实现

     

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

    5.多层感知机

    与,或,与非叫做单层感知机

    异或需要两层感知机才能实现,所以叫做多层感知机

     

     


    最新回复(0)