Keras中文官方文档:https://keras-cn.readthedocs.io/en/latest/models/model/
1. compile详解
keras model.compile(loss='目标函数 ', optimizer='adam', metrics=
['accuracy'])
1. loss
mean_squared_error或mse
mean_absolute_error或mae
mean_absolute_percentage_error或mape
mean_squared_logarithmic_error或msle
squared_hinge
hinge binary_crossentropy(亦称作对数损失,logloss) |
categorical_crossentropy:亦称作多类的对数损失,注意使用该目标函数时,
需要将标签转化为形如(nb_samples, nb_classes)的二值序列
sparse_categorical_crossentrop:如上,但接受稀疏标签。注意,使用该函数时仍
然需要你的标签与输出值的维度相同,你可能需要在标签数据上增加一个维度:
np.expand_dims(y,-1)
kullback_leibler_divergence:从预测值概率分布Q到真值概率分布P的信息增益,用
以度量两个分布的差异.
cosine_proximity:即预测值与真实标签的余弦距离平均值的相反数
可选参数
(1) ignore_label
int型变量,默认为空。
如果指定值,则label等于ignore_label的样本将不参与Loss计算,并且反向传播时梯度直接置0.
(2) normalize
bool型变量,即Loss会除以参与计算的样本总数;否则Loss等于直接求和
(3) normalization
enum型变量,默认为VALID
归一化case的判断:
a. 如果未设置normalization,但是设置了normalize。
则有normalize==1 > 归一化方式为VALID
normalize==0 > 归一化方式为BATCH_SIZE
b. 一旦设置normalization,归一化方式则由normalization决定,不再考虑normalize。
2. optimizer
该参数可指定为已预定义的优化器名,如 rmsprop 、 adagrad ,或一个
Optimizer 类的对象