Categorical_crossentropy là gì

Tôi đang cố gắng đào tạo một CNN để phân loại văn bản theo chủ đề. Khi tôi sử dụng entropy chéo nhị phân, tôi có độ chính xác ~ 80%, với entropy chéo phân loại tôi có độ chính xác ~ 50%.

Tôi không hiểu tại sao lại như vậy. Đó là một vấn đề đa kính, không có nghĩa là tôi phải sử dụng entropy chéo phân loại và kết quả với entropy chéo nhị phân là vô nghĩa?

model.add[embedding_layer] model.add[Dropout[0.25]] # convolution layers model.add[Conv1D[nb_filter=32, filter_length=4, border_mode='valid', activation='relu']] model.add[MaxPooling1D[pool_length=2]] # dense layers model.add[Flatten[]] model.add[Dense[256]] model.add[Dropout[0.25]] model.add[Activation['relu']] # output layer model.add[Dense[len[class_id_index]]] model.add[Activation['softmax']]

Sau đó, tôi biên dịch nó hoặc nó như thế này bằng cách sử dụng categorical_crossentropyhàm mất:

model.compile[loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']]

hoặc là

model.compile[loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']]

Theo trực giác, nó có ý nghĩa tại sao tôi muốn sử dụng entropy chéo phân loại, tôi không hiểu tại sao tôi nhận được kết quả tốt với nhị phân và kết quả kém với phân loại.

Video liên quan

Chủ Đề