官术网_书友最值得收藏!

Defining the custom loss function

In the previous section, we used the predefined mean absolute error loss function to perform the optimization. In this section, we will learn about defining a custom loss function to perform optimization.

The custom loss function that we shall build is a modified mean squared error value, where the error is the difference between the square root of the actual value and the square root of the predicted value.

The custom loss function is defined as follows:

import keras.backend as K
def loss_function(y_true, y_pred):
return K.square(K.sqrt(y_pred)-K.sqrt(y_true))

Now that we have defined the loss function, we will be reusing the same input and output datasets that we prepared in previous section, and we will also be using the same model that we defined earlier.

Now, let's compile the model:

model.compile(loss=loss_function, optimizer='adam')

In the preceding code, note that we defined the loss value as the custom loss function that we defined earlier—loss_function.

history = model.fit(train_data2, train_targets, validation_data=(test_data2, test_targets), epochs=100, batch_size=32, verbose=1)

Once we fit the model, we will note that the mean absolute error is ~6.5 units, which is slightly less than the previous iteration where we used the mean_absolute_error loss function.

主站蜘蛛池模板: 长武县| 灵川县| 木兰县| 盖州市| 元阳县| 浦东新区| 苍溪县| 鸡泽县| 台南县| 邵东县| 青神县| 阜阳市| 绥阳县| 丹阳市| 浦北县| 温泉县| 广西| 保山市| 东阳市| 门头沟区| 集贤县| 大新县| 新化县| 兴安盟| 通道| 利津县| 容城县| 南江县| 方城县| 盘锦市| 唐河县| 神农架林区| 楚雄市| 五指山市| 岑溪市| 南澳县| 乐亭县| 荃湾区| 贵州省| 建平县| 河北区|