?### 计算机是如何实现神经网络
>所有有用的计算机系统都有一个输入和一个输出, 并在输入和输出之间进行某种类型的计 算。 神经网络也是如此。 当我们不能精确知道一些事情如何运作时, 我们可以尝试使用模型来估计其运作方式, 在 模型中, 包括了我们可以调整的参数。 如果我们不知道如何将千米转换为英里, 那么我们 可以使用线性函数作为模型, 并使用可调节的梯度值作为参数。 改进这些模型的一种好方法是, 基于模型和已知真实示例之间的比较, 得到模型偏移的误 差值, 调整参数。
### 简单的分类器 >我们使用简单的数学, 理解了线性分类器输出误差值和可调节斜率参数之间的关系。 也就 是说, 我们知道了在何种程度上调整斜率, 可以消除输出误差值。 使用朴素的调整方法会出现一个问题, 即改进后的模型只与最后一次训练样本最匹 配, “有效地”忽略了所有以前的训练样本。 解决这个问题的一种好方法是使用学习率, 调 节改进速率, 这样单一的训练样本就不能主导整个学习过程。 来自真实世界的训练样本可能充满噪声或包含错误。 适度更新有助于限制这些错误样本的 影响。
### 分类器的局限性 >神经网络的一个重要的设计特征来源于对这个局限性的理解。布尔逻辑函数非常重要,事实上,最早的电子计算机就是使用执行这些逻辑函数的微电路构造的。 即使是算术, 也是使用这些本身很简单的布尔逻辑函数的电路组合来完成的。计算机通常使用数字1表示真, 使用数字0表示假。 !!! 如果不能用一条直线把根本性的问题划分开来, 那么简单的线性分类器是没有用处的。在一些任务中, 根本性问题不是线性可分的, 也就是说单一的一条直线于事无补, 而我们希望神经网络能够解决此类的任务。 如果出现的是由XOR函数支配的训练数据, 那么一个简单的线性分类器无法学习到布尔XOR函数。 !!! 如果数据本身不是由单一线性过程支配, 那么一个简单的线性分类器不能对数据进行划分。例如,由逻辑XOR运算符支配的数据说明了这一点。 但是解决方案很容易, 你只需要使用多个线性分类器来划分由单一直线无法分离的数据。
|