当前位置:首页 >> 脚本专栏

keras:model.compile损失函数的用法

损失函数loss:该参数为模型试图最小化的目标函数,它可为预定义的损失函数名,如categorical_crossentropy、mse,也可以为一个损失函数。详情见losses

可用的损失目标函数:

mean_squared_error或mse

mean_absolute_error或mae

mean_absolute_percentage_error或mape

mean_squared_logarithmic_error或msle

squared_hinge

hinge

categorical_hinge

binary_crossentropy(亦称作对数损失,logloss)

logcosh

categorical_crossentropy:亦称作多类的对数损失,注意使用该目标函数时,需要将标签转化为形如(nb_samples, nb_classes)的二值序列

sparse_categorical_crossentrop:如上,但接受稀疏标签。注意,使用该函数时仍然需要你的标签与输出值的维度相同,你可能需要在标签数据上增加一个维度:np.expand_dims(y,-1)

kullback_leibler_divergence:从预测值概率分布Q到真值概率分布P的信息增益,用以度量两个分布的差异.

poisson:即(predictions - targets * log(predictions))的均值

cosine_proximity:即预测值与真实标签的余弦距离平均值的相反数

补充知识:keras.model.compile() 自定义损失函数注意点

基本用法

model.compile(optimizer=Adam(lr=1e-4), loss='binary_crossentropy', metrics=['accuracy'])

注意

loss后类似'binary_crossentropy'、'mse'等代称

loss为函数名称的时候,不带括号

函数参数必须为(y_true, y_pred, **kwards)的格式

不能直接使用tf.nn.sigmoid_cross_entropy_with_logits等函数,因为其参数格式为(labels=None,

logits=None),需要指定labels=、logits=这两个参数

以上这篇keras:model.compile损失函数的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。