当前位置 : 主页 > 编程语言 > python >

浅谈keras中的目标函数和优化函数MSE用法

来源:互联网 收集:自由互联 发布时间:2021-04-09
mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean() model = Sequential() model.add(Dense(64, init='uniform', input_dim=10)) model.add(Activation('tanh')) model.add(Activation('softmax')) sgd

mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean()

model = Sequential()  
model.add(Dense(64, init='uniform', input_dim=10))  
model.add(Activation('tanh'))  
model.add(Activation('softmax'))  
   
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)  
model.compile(loss='mean_squared_error', optimizer=sgd) 

补充知识:(Keras)——keras 损失函数与评价指标详解

1、目标函数

(1)mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean()

(2)mean_absolute_error / mae 绝对值均差,公式为(|y_pred-y_true|).mean()

(3) mean_absolute_percentage_error / mape公式为:(|(y_true - y_pred) / clip((|y_true|),epsilon, infinite)|).mean(axis=-1) * 100,和mae的区别就是,累加的是(预测值与实际值的差)除以(剔除不介于epsilon和infinite之间的实际值),然后求均值。

(4)mean_squared_logarithmic_error / msle公式为: (log(clip(y_pred, epsilon, infinite)+1)- log(clip(y_true, epsilon,infinite)+1.))^2.mean(axis=-1),这个就是加入了log对数,剔除不介于epsilon和infinite之间的预测值与实际值之后,然后取对数,作差,平方,累加求均值。

(5)squared_hinge 公式为:(max(1-y_truey_pred,0))^2.mean(axis=-1),取1减去预测值与实际值乘积的结果与0比相对大的值的平方的累加均值。

(6)hinge 公式为:(max(1-y_truey_pred,0)).mean(axis=-1),取1减去预测值与实际值乘积的结果与0比相对大的值的的累加均值。

(7)binary_crossentropy: 常说的逻辑回归, 就是常用的交叉熵函

(8)categorical_crossentropy: 多分类的逻辑

2、性能评估函数:

(1)binary_accuracy: 对二分类问题,计算在所有预测值上的平均正确率

(2)categorical_accuracy:对多分类问题,计算再所有预测值上的平均正确率

(3)sparse_categorical_accuracy:与categorical_accuracy相同,在对稀疏的目标值预测时有用

(4)top_k_categorical_accracy: 计算top-k正确率,当预测值的前k个值中存在目标类别即认为预测正确

(5)sparse_top_k_categorical_accuracy:与top_k_categorical_accracy作用相同,但适用于稀疏情况

以上这篇浅谈keras中的目标函数和优化函数MSE用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

网友评论