前面讲了线性回归模型和逻辑回归模型,这节主要将神经网络,神经网络是一种非线性分类器,对于特征数量较大的非线性分类问题更加适用。
1. Motivation
前面可知,逻辑回归模型可以解决非线性分类问题,但是对于某些非线性的分类问题,有时逻辑回归模型并不适用,例如对于复杂的非线性分类问题且原始特征数量较大时,利用逻辑回归模型就需要通过构建次数较高的多项式因子进行分类,但是当原始特征数量较大时,构建的多项式模型所包含的特征数量也就越大,使得机器学习模型更加复杂,同时可能还导致过拟合问题,所以针对这种问题,需要构建适用的非线性分类器解决当特征数量较大时的复杂非线性分类问题。神经网络就是其中一种方法。
2. Neurons and the Brain
神经网络算法是基于模拟大脑的工作模式产生的一种算法,上世纪80,90年代初兴起,90年代末开始衰落(主要原因是太复杂,运算速度慢),但是随着计算机技术的发展,包括软件和硬件的提升,运算速度加快,神经网络再次受到人工智能领域的应用。
3. Neural Networks: Representation
(1)神经网络一般包括三个部分:输入层、隐藏层、输出层,每一层都可以包含多个神经元,为了更好的理解,下面定义下需要用到的变量:
- a(j)i 表示第j层的第i个神经元
- Θj 表示第j层到第j+1层传输所需的系数矩阵(权重矩阵),它的维数为 sj+1∗(sj+1 )
- sj 表示第j层的神经元个数
- hΘ(x) 表示激活函数
(2)前向传播神经网络(向量化)
前向传播是指从神经网络的输入层依次计算通过隐藏层,最后得到输出层结果,用向量化表示如下:
神经网络模型和逻辑回归模型的区别
神经网络模型是逻辑回归模型的一种组合。不同的是逻辑回归模型用的是原始的特征集 x 输出假设函数结果,而神经网络用的是通过隐藏层算出来的复杂特征输出假设函数结果,所以神经网络可以自动学习复杂特征用于学习。
4. Examples and Intuition
本节中先给定参数值做演示,下一章中主要讲如何训练参数。
(1)And逻辑运算
(2)Or逻辑运算
(3)XNOR逻辑运算
(3)LeNet-5
一种典型的用来识别数字的卷积网络是LeNet-5(效果和paper等见这)。当年美国大多数银行就是用它来识别支票上面的手写数字的。能够达到这种商用的地步,它的准确性可想而知。毕竟目前学术界和工业界的结合是最受争议的。
5. Multiclass Classification
依据一对多的原则,利用神经网络可以解决多分类问题,即神经网络的输出层数等于类别数,输出层的每个神经元代表一个类别,如果某个样本是某一类别,则代表该类别的神经元为1,其他为0。与之前样本的不同的是,每一个样本的标签是一个向量,不再是一个值。