感知机是一个简单的算法,给定 n 维向量 x ( x 1 , x 2 , …, x n )作为输入,通常称作输入特征或者简单特征,输出为1(是)或0(否)。数学上,我们定义以下函数:
这里, w 是权重向量, wx 是点积(译者注:也称内积、数量积或标量积) , b 是偏差。如果你还记得基础的几何知识,就应该知道 wx + b 定义了一个边界超平面,我们可以通过设置 w 和 b 的值来改变它的位置。如果 x 位于直线之上,则结果为正,否则为负。非常简单的算法!感知机不能表示非确定性答案。如果我们知道如何定义 w 和 b ,就能回答是(1)或否(0)。接下来我们将讨论这个训练过程。
Keras的原始构造模块是模型,最简单的模型称为序贯模型,Keras的序贯模型是神经网络层的线性管道(堆栈)。以下代码段定义了一个包含12个人工神经元的单层网络,它预计有8个输入变量(也称为特征):
from keras.models import Sequentialmodel = Sequential()model.add(Dense(12, input_dim=8, kernel_initializer='random_uniform'))
每个神经元可以用特定的权重进行初始化。Keras提供了几个选择,其中最常用的选择如下所示。
完整选项列表请参考Keras官网。