目标函数,或称损失函数,是网络中的性能函数,也是编译一个模型必须的两个参数之一。由于损失函数种类众多,下面以keras官网手册的为例。
在官方keras.io里面,有如下资料:
-
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:即预测值与真实标签的余弦距离平均值的相反数
mean_squared_error
顾名思义,意为均方误差,也称标准差,缩写为MSE,可以反映一个数据集的离散程度。
标准误差定义为各测量值误差的平方和的平均值的平方根,故又称为均方误差。
公式:
公式意义:可以理解为一个从n维空间的一个点到一条直线的距离的函数。(此为在图形上的理解,关键看个人怎么理解了)
mean_absolute_error
译为平均绝对误差,缩写MAE。
平均绝对误差是所有单个观测值与算术平均值的偏差的绝对值的平均。
公式:(fi是预测值,yi是实际值,绝对误差)
mean_absolute_percentage_error
译为平均绝对百分比误差 ,缩写MAPE。
公式:(At表示实际值,Ft表示预测值)
mean_squared_logarithmic_error
译为均方对数误差,缩写MSLE。
公式:(n是整个数据集的观测值ÿ