深度学习入门--感知机

感知机

感知机接受多个输入信号,输出一个信号。感知机只有“流/不流”(0/1)两种取值,“0”表示不传递信号,"1"表示传递信号。
在这里插入图片描述
x1,x2是输入信号,y是输出信号,w1,w2表示权重,图中的⭕表示神经元。神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1。这个称为“神经元被激活”。
y = { 0 , w1x1+w2x2≤0 1 , w1x1+w2x2>0 y= \begin{cases} 0, & \text {w1x1+w2x2≤0} \\ 1, & \text{w1x1+w2x2>0} \end{cases} y={0,1,w1x1+w2x2≤0w1x1+w2x2>0
权重越大,对应的该权重的信号越重要。

简单逻辑电路

与门(AND gate)

与门仅在两个输入均为1时输入1,其他时候则输出0;真值表如下:

x1x2y
111
100
010
000

实际上,满足上述表的参数的选择方法有无数多个。比如,当(w1,w2,θ)=(0.5,0.5,0.5)时,满足与门的条件;设定这样的参数后,仅当x1和x2同时为1时,信号的加权总和才会超过给定的阈值θ。
简单实现:

def AND(x1,x2):
    w1,w2,theta = 0.5, 0.5, 0.7
    tmp = x1*w1 + x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1
    
AND(1,1)#输出1
AND(1,0)#输出0
AND(0,1)#输出0
AND(0,0)#输出0

使用权重和偏置的实现

import numpy as np
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
    elif tmp >0:
        return 1
AND(1,1)#输出1
AND(1,0)#输出0
AND(0,1)#输出0
AND(0,0)#输出0

与非门(MAND gate)

仅当x1和x2同时为1时输出0,其他时候输出1;真值表如下:

x1x2y
110
101
011
001

表示与非门,可以用(w1,w2,θ)=(-0.5,-0.5,-0.7)这样的组合,实际上就是实现与门的参数值的符号取反,可以实现与非门。
使用权重和偏置实现:

import numpy as np
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
    elif tmp >0:
        return 1
NAND(1,1)#输出0
NAND(1,0)#输出0
NAND(0,1)#输出0
NAND(0,0)#输出1

或门(OR gate)

只要一个输入信号是1,输出就为1。真值表如下:

x1x2y
111
101
011
000

表示或门,可以用(w1,w2,θ)=(0.5,0.5,-0.2)这样的组合。
使用权重和偏置实现:

import numpy as np
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
    elif tmp >0:
        return 1
OR(1,1)#输出1
OR(0,1)#输出1
OR(1,0)#输出1
OR(0,0)#输出1

异或门(XOR gate)

仅当x1或x2中的一方为1时,才会输出1

x1x2y
110
101
011
000

多层感知机实现:

def XOR(x1,x2):
    s1 = NAND(x1,x2)#与非门
    s2 = OR(x1,x2)#或门
    y = AND(s1,s2)#与门
    return y
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值