อะไรคือความแตกต่างระหว่าง crossentropy แบบแบ่งประเภทและ crossentropy แบบเบาบางใน keras? เมื่อฟังก์ชั่นการสูญเสียเหล่านี้เหมาะสมหรือไม่? [ซ้ำ]
ฉันพบข้อผิดพลาดบางอย่างขณะใช้ฟังก์ชันการสูญเสียเหล่านี้ ดังนั้นโปรดอธิบายฉันว่าเมื่อใดควรใช้ฟังก์ชันการสูญเสียเหล่านี้และกับหน่วยชั้นเอาต์พุต
คำตอบ
MohammadTalaei
ฉันไม่ทราบความแตกต่างที่แน่นอนระหว่างฟังก์ชันการสูญเสียเหล่านี้ ฉันคิดว่าควรตรวจสอบเอกสารและซอร์สโค้ด แต่ฟังก์ชันการสูญเสียทั้งสองนี้เหมาะสำหรับแบบจำลองการจำแนกประเภท คุณควรสังเกตสองสิ่ง:
- ผลลัพธ์ของคุณควรถูกแปลงเป็นหมวดหมู่: ขั้นแรกให้ใช้คลาส Sckit-learn
LabelEncoder()
เพื่อแอบแฝงสตริงเป็นจำนวนเต็มจากนั้นใช้to_categorical()
วิธี Keras กับผลลัพธ์ของคุณเพื่อปกปิดจำนวนเต็มของคุณเป็นการเข้ารหัสเพียงครั้งเดียว - คุณต้องใช้เลเยอร์ softmax เป็นชั้นสุดท้ายที่มีขนาดเท่ากันกับหมวดหมู่ของคุณ