一, 感知机
体会:
实现异或的那个例子很巧妙
函数和概念:
np.ndim(A)
求numpy数组的维数
np.dot(A, B)
将A和B做矩阵乘法(注意:矩阵乘法不具有可交换性)
problem:
感知机一定是指线性的吗?不能是多项式的?
阶跃的激活函数与平滑的激活函数
关于二维数组的行列表示
对A[3][4],其中3为第0维的元素个数,称为行数;4为第1维的元素个数,称为列数。
感觉从一维到二维有一点不协调,所以向量是竖着排的确实很有特点。
推荐书籍:
《计算机系统要素:从零开始构建现代计算机》。
这本书以深入理解计算机为主题,论述了通过 NAND构建可运行俄罗斯方块的计算机的过程。此书能让读者真实体会到,通过简单的 NAND元件就可以实现计算机这样复杂的系统。
摘抄:
本书在使用“感知机”一词时,没有严格统一它所指的算法。一般而言,“朴素感知机”是指单层网络,指的是激活函数使用了 阶跃函数 的模型。“多层感知机”是指神经网络,即使用 sigmoid函数(后述)等平滑的激活函数的多层网络。
从视觉上确认函数的形状对理解函数而言很重要
之所以sigmoid函数的实现能支持NumPy数组,秘密就在于NumPy的广播功能(1.5.5节)。根据NumPy 的广播功能,如果在标量和NumPy数组之间进行运算,则标量会和NumPy数组的各个元素进行运算。
如果把这两个函数与水联系起来,则阶跃函数可以比作“竹筒敲石”A,sigmoid函数可以比作“水车”。阶跃函数就像竹筒敲石一样,只做是否传送水(0或1)两个动作,而sigmoid函数就像水车一样,根据流过来的水量相应地调整传送出去的水量。
单词:
aligned 对齐
元组(tuple)
参考:
深度学习入门:基于Python的理论与实现 (斋藤康毅)