之前对自己的数据运用了SVM,KNN,BP神经网络的分类方法,那接下来想尝试一下用CNN来处理自己的数据,虽然对CNN早有耳闻,但是从来没有真正去了解过,所以打算先从Matlab里的神经网络的toolbox开始了解一下CNN。只是大概的做一个了解,并不涉及误差传递公式等的推导,只是一个简易的笔记而已。
卷积神经网络(CNN)相信大家都不陌生,它是多层感知机(MLP)的一个变种,它通过加强神经网络总相邻层之间节点的局部连接模式来挖掘自然图像的空间局部关联信息。在CNN中,每一个稀疏滤波器在整个感受野中是重复叠加的,如此重复的节点形成了一种特征图(featuremap),这个特征图可以共享相同的参数,比如相同的权值矩阵和偏置向量。
CNN主要包括3个过程:
(1)Feedforward pass(向前传播)
(2)Calculate cost(误差计算)
(3)Backpropagation(误差反向传播)
其实,卷积神经网络依然是层级网络,只是层的功能和形式发生了变化。卷积神经网络主要包括的层级结构有:数据输入层(Input layer),卷积层(Conv layer),ReLU激励层(ReLU layer,简单的CNN好像没有涉及这一层)