跳转至

第五步 非线性分类⚓︎

摘要⚓︎

我们在第三步中学习了线性分类,在本部分中,我们将学习更复杂的分类问题,比如,在很多年前,两位著名的学者证明了感知机无法解决逻辑中的异或问题,从而使感知机这个研究领域陷入了长期的停滞。我们将会在使用双层网络解决异或问题。

异或问题是个简单的二分类问题,因为毕竟只有4个样本数据,我们会用更复杂的数据样本来学习非线性多分类问题,并理解其工作原理。

然后我们将会用一个稍微复杂些的二分类例子,来说明在二维平面上,神经网络是通过怎样的神奇的线性变换加激活函数压缩,把线性不可分的问题转化为线性可分问题的。

解决完二分类问题,我们将学习如何解决更复杂的三分类问题,由于样本的复杂性,必须在隐层使用多个神经元才能完成分类任务。

最后我们将搭建一个三层神经网络,来解决MNIST手写数字识别问题,并学习使用梯度检查来帮助我们测试反向传播代码的正确性。

数据集的使用,是深度学习的一个基本技能,开发集、验证集、测试集,合理地使用才能得到理想的泛化能力强的模型。