Keras笔记(三):目标函数objectives /loss

  注:本文转自 目标函数objectives - Keras中文文档


Keras文档系列

Keras笔记(一):常用函数

Keras笔记(二):优化器optimizers

Keras笔记(三):目标函数objectives /loss

Keras笔记(四):序贯(Sequential)模型

Keras笔记(五):Sequential模型接口

Keras笔记(六):回调函数Callbacks


目标函数,或称损失函数,是编译一个模型必须的两个参数之一:

model.compile(loss='mean_squared_error', optimizer='sgd')

可以通过传递预定义目标函数名字指定目标函数,也可以传递一个Theano/TensroFlow的符号函数作为目标函数,该函数对每个数据点应该只返回一个标量值,并以下列两个参数为参数:

  • y_true真实的数据标签,Theano/TensorFlow张量

  • y_pred预测值,与y_true相同shape的Theano/TensorFlow张量

from keras import losses
#使用均方误差作为损失函数
model.compile(loss=losses.mean_squared_error, optimizer='sgd') 

真实的优化目标函数是在各个数据点得到的损失函数值之和的均值

请参考目标实现代码获取更多信息

可用的目标函数

  • 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:即预测值与真实标签的余弦距离平均值的相反数

注意: 当使用"categorical_crossentropy"作为目标函数时,标签应该为多类模式,即one-hot编码的向量,而不是单个数值. 可以使用工具中的to_categorical函数完成该转换.示例如下:

from keras.utils.np_utils import to_categorical

categorical_labels = to_categorical(int_labels, num_classes=None)

  注:本文转自 目标函数objectives - Keras中文文档


Keras文档系列

Keras笔记(一):常用函数

Keras笔记(二):优化器optimizers

Keras笔记(三):目标函数objectives /loss

Keras笔记(四):序贯(Sequential)模型

Keras笔记(五):Sequential模型接口

Keras笔记(六):回调函数Callbacks


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值