1.1.3 定义损失函数
1.1.3 定义损失函数
完成了网络定义后,我们可以针对指定的输入x获得对应的预测值y,我们自然希望预测值y与真实值y_之间的差距越小越好,理想的情况就是在数据集上预测值y和真实值y_总是完全一样。但是事实上这几乎是无法做到的,我们需要定义预测值和真实值之间的差距,也就是理想和现实之间的差距。可以认为深度学习训练的过程,就是不断追求损失函数最小化的过程。以keras为例,常见的损失函数有以下几种:
? 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
? logcosh
? categorical_crossentropy
? sparse_categorical_crossentrop
其中二分类问题经常使用的是binary_crossentropy,多分类问题经常使用的是categorical_crossentropy,回归问题使用mse和mae。
完成了网络定义后,我们可以针对指定的输入x获得对应的预测值y,我们自然希望预测值y与真实值y_之间的差距越小越好,理想的情况就是在数据集上预测值y和真实值y_总是完全一样。但是事实上这几乎是无法做到的,我们需要定义预测值和真实值之间的差距,也就是理想和现实之间的差距。可以认为深度学习训练的过程,就是不断追求损失函数最小化的过程。以keras为例,常见的损失函数有以下几种:
? 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
? logcosh
? categorical_crossentropy
? sparse_categorical_crossentrop
其中二分类问题经常使用的是binary_crossentropy,多分类问题经常使用的是categorical_crossentropy,回归问题使用mse和mae。