from keras.optimizers import Adam, SGD
 1.Keras参数optimizers定义:optimizer是优化器(优化参数的算法)
 可用的优化器:
 1.SGD(随机梯度下降)
 from keras.optimizers import SGD
 sgd = SGD(lr=0.01,momentum=0,decay=0,nesterov=False)
lr:学习率 momentum:动量参数
 decay:(每次更新)学习率的衰减值
 nesterov:是否使用Nesterov动量5.Adam(自适应移动估计=RMSprop+momentum)
 from keras.optimizers import Adam
 adam = Adam(lr=0.001,beta_1=0.9,beta_2=0.999,epsilon=None,decay=0,amsgrad=False)
 tip:该算法是面对反馈神经网络的良好选择2.RMSprop(均方根反向传播)
 from keras.optimizers import RMSprop
 rmsprop = RMSprop(lr=0.001,rho=0.9,epsilon=None,decay=0)
 lr:学习率 rho:衰减因子
 epsilon:模糊因子 decay:(每次更新)学习率的衰减值
 tip:该算法是面对递归神经网络RNN的良好选择,实际调参时只调整lr即可3.Adagrad(自适应梯度)
 from keras.optimizers import Adagrad
 adagrad = Adagrad(lr=0.01,epsilon=None,decay=0)
 lr:学习率 epsilon:模糊因子 decay:(每次更新)学习率的衰减值
 tip:该算法建议保持默认参数4.Adadelta(Adagrad的改进)
 from keras.optimizers import Adadelta
 adadelta = Adadelta(lr=0.01,rho=0.95,epsilon=None,decay=0)
 lr:学习率 rho:衰减因子
 epsilon:模糊因子 decay:(每次更新)学习率的衰减值
 tip:该算法建议保持默认参数

from keras.layers import Input, Convolution2D, MaxPooling2D, UpSampling2D, merge, Conv3D, MaxPooling3D, UpSampling3D, LeakyReLU, BatchNormalization, Flatten, Dense, Dropout, ZeroPadding3D, AveragePooling3D, Activation(解释略过)

from keras.models import Model, load_model, model_from_json

2.keras中的模型主要包括model和weight两个部分。可通过Json文件、Yaml文件、HDF5文件保存

from keras.metrics import binary_accuracy, binary_crossentropy, mean_squared_error, mean_absolute_error

3.Keras评估标准Metrics

作用:评估函数用于评估当前训练模型的性能。当模型编译后,评价函数应该作为metrics的参数输入

from keras import metrics

model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=[metrics.mae, metrics.categorical_accuracy])

评价函数和损失函数类似,只不过评价函数的结果不会用于训练过程。

一般类评估

  • binary_accuracy
    binary_accuracy(y_true,y_pred)
    对二分类问题,计算在所有预测值上的平均正确率
  • categorical_accuracy
    对多分类问题,计算在所有预测值上的平均正确率
  • mean_square_error
    MSE均方误差
  • mean_absolute_error
    MSE 平均绝对误差
  • mean_absolute_percentage_error
    MAPE 平均绝对百分比误差
  • mean_square_logarithmic_error
    MSLE 均方对数误差
  • hinge
    铰链误差
  • square_hinge
  • binary_crossentropy
    交叉熵是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。
  • categorical_crossentropy
    多分类交叉熵
  • possion
    泊松损失
  • cosine_proximity
    用预先来判断两个向量的相似度

稀疏类评估

  • sparse_categorocal_accuracy
    与catrgorical_accuracy相同,在对稀疏的目标预测时有用
  • sparse_categorical_crossentropy
    与categorical_crossentropy 相同,在对稀疏的目标值预测时有用
  • sparse_top_k_categorical_accuracy
    自定义评价函数
    模糊评估
  • top_k_categorical_accracy
    计算top_k 正确率,当预测值的前K个值存在目标类别即认为预测正确

参考链接:

from keras import backend as K
from keras.callbacks import ModelCheckpoint, Callback, LearningRateScheduler, History, TensorBoard
from keras.constraints import maxnorm