《深度学习入门——基于python的理论与实现》读书笔记(二)

感知机

感知机的功能类似于线性分类器。它接受多个刺激,如果刺激强度大于激活阈值,则感知机被激活。

《深度学习入门——基于python的理论与实现》读书笔记(二)_第1张图片

对所有输入刺激x1,x2考察感知机状态。如图,图中的感知机在灰色区域与白色区域分别处于‘未被激活’和‘被激活’的状态。

《深度学习入门——基于python的理论与实现》读书笔记(二)_第2张图片

 

用感知机实现逻辑门

def AND(x1, x2):
    x = np.array([x1, x2])
    W = np.array([1.0, 1.0])
    b = -1.5
    value = np.sum(W * x) + b
    if value > 0:
        return True
    else:
        return False

与非

def NAND(x1, x2):
    x = np.array([x1, x2])
    W = np.array([-1.0, -1.0])
    b = 1.5
    value = np.sum(W * x) + b
    if value > 0:
        return True
    else:
        return False

def OR(x1, x2):
    x = np.array([x1, x2])
    W = np.array([1.0, 1.0])
    b = -0.5
    value = np.sum(W * x) + b
    if value > 0:
        return True
    else:
        return False

异或

单凭一个感知机实现不了异或,原因如图:

《深度学习入门——基于python的理论与实现》读书笔记(二)_第3张图片

显然,只用一条直线不能将三角和圆圈分开。但是,由数理逻辑可知,任何逻辑函数都可以用与或非三种基本运算组合实现,异或也不例外:

def XOR(x1, x2):
    return AND(OR(x1, x2), NAND(x1, x2))

从感知机的角度讲,这相当于把多个感知机叠加起来:

《深度学习入门——基于python的理论与实现》读书笔记(二)_第4张图片

由此可知,多层感知机可以模拟所有的逻辑函数。事实上,已有研究证明,激活函数使用了非线性的 sigmoid 函数的2层感知机可以拟合任意函数。

小结

多层感知机可以拟合任意复杂的函数。

你可能感兴趣的:(机器学习)