神经网络+CNN模型训练总结:

  1. Keras中有一个层是Flatten层,这个层可以把二维的图片转换成一维的数据,因此不需要单独做处理,而是在做完各种数据预处理后,用这个平层,把二维的数据处理成一维。
  2. Keras模型中有对数据进行分类,首先不是一定需要把所有的图片都处理成正方形,长方形的图片一样可以进行各种处理,另外,压缩成小的图片是为了处理量小,快速方便,而不是因为一定要这么做,如果资源够的话,那么就用原图也可以。
  3. 神经网络层的输入必须是numpy数组,或者numpy数组组成的数组。只有这个格式的数据才可以输入模型训练,另外,输入的X的矩阵中,各个维度的长度必须是相同的,不能出现每一行的维度不同,不然会报错。
  4. 神经网络中的loss函数的选择不当,会导致在某些情况下报错,因此要注意Loss函数的选择。
  5. Keras神经网络的两大卡点应该是:1. 各种参数的设置。 2. 输入数据的格式维度问题。
  6. 卷积神经网络和一般的分类器略有不同,卷积神经网络通过卷积核,能够自动提取特征,不需要人工提取特征,因此省去了大量的特征提取工程,但是因此,CNN需要的数据量要远高于神经网络、逻辑回归,SVM等数据分析。极端情况下,逻辑回归,神经网络,SVM等分类器只要模型足够简单,神经元个数较少,其实未必需要大量的样本,也就是说逻辑回归、神经网络和SVM的模型可以很简单。
  7. 图像处理适合用CNN的方法解决。
  8. CNN的原理是通过卷积核来查找图像某方面的特征,然后将这些特征输入到模型里面去,和结果建立一种关系,因此是对特征的分类。
  9. CNN只需要输入卷积核的个数和步长,模型就会自动生成卷积核,然后提取特征,不需要人为去设置卷积矩阵。 

猜你喜欢

转载自www.cnblogs.com/lhongly/p/11106444.html