问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

感知机入门:从基础概念到多层感知机

创作时间:
作者:
@小白创作中心

感知机入门:从基础概念到多层感知机

引用
CSDN
1.
https://blog.csdn.net/m0_69076378/article/details/141359782

感知机是机器学习中的一个基本概念,它是神经网络的基础单元。本文将从感知机的定义开始,逐步介绍其在逻辑电路中的应用、实现方法、局限性以及如何通过多层感知机来克服这些局限性。

一、感知机是什么

感知机是一种具有输入和输出的算法。给定一个(或多个)输入后,将输出一个既定的值。下图中,w1、w2为权重,圆圈代表“神经元”或“节点”,当神经元计算传送过来的信号总和超过某个界限值时(阈值),才会输出1,这也称为“神经元激活”。

二、用感知机实现简单逻辑电路

1. 与门(AND gate)

2. 与非门(与门参数值取反)和或门

这三种逻辑门可以通过构造相同的感知机实现,只是参数取值不同。

三、感知机的实现

1. 简单实现

def AND(x1, x2):
    w1, w2, theta = 0.5, 0.5, 0.7
    temp = x1 * w1 + x2 * w2
    if temp <= theta:
        return 0
    else:
        return 1

2. 导入权重和偏置

w1 和w2 是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1 的程度)的参数。

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

四、单层感知机的局限性

1. 异或门

异或门(XOR gate)的功能是:仅当x1 或x2 中的一方为1 时,才会输出1(“异或”是拒绝其他的意思)。实际上,上面介绍的感知机无法实现异或门,因为用一条直线是无法将下图中的圆圈和三角形分开的。

2. 线性和非线性

单层感知机的局限性就在于它只能表示由一条直线分割的空间。 图2-8这样弯曲的曲线无法用感知机表示。另外,由图2-8这样的曲线分割而成的空间称为非线性空间,由直线分割而成的空间称为线性空间。

五、多层感知机

1. 感知机的绝妙之处在于它可以“叠加层”(通过叠加层来表示异或门是本节的要点)

把s1 作为与非门的输出,把s2 作为或门的输出,一起作为与门的输入。

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

2. 用感知机表示(明确地显示神经元)异或门

异或门是一种多层结构的神经网络。这里,将最左边的一列称为第0 层,中间的一列称为第1 层,最右边的一列称为第2 层。实际上,与门、或门是单层感知机,而异或门是2 层感知机。叠加了多层的感知机也称为多层感知机(multi-layered perceptron)。

3. 多层感知机(在理论上)可以表示计算机。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号