ฉันรู้ว่ามีคำอธิบายมากมายว่าครอสเอนโทรปีคืออะไร แต่ฉันก็ยังสับสน
เป็นเพียงวิธีการอธิบายฟังก์ชันการสูญเสียหรือไม่? เราสามารถใช้อัลกอริทึมการไล่ระดับสีเพื่อค้นหาค่าต่ำสุดโดยใช้ฟังก์ชันการสูญเสียได้หรือไม่?
ฉันรู้ว่ามีคำอธิบายมากมายว่าครอสเอนโทรปีคืออะไร แต่ฉันก็ยังสับสน
เป็นเพียงวิธีการอธิบายฟังก์ชันการสูญเสียหรือไม่? เราสามารถใช้อัลกอริทึมการไล่ระดับสีเพื่อค้นหาค่าต่ำสุดโดยใช้ฟังก์ชันการสูญเสียได้หรือไม่?
คำตอบ:
ครอสเอนโทรปีมักใช้เพื่อหาจำนวนความแตกต่างระหว่างการแจกแจงความน่าจะเป็นสองแบบ โดยปกติการแจกแจงแบบ "จริง" (การแจกแจงแบบที่อัลกอริทึมแมชชีนเลิร์นนิงของคุณพยายามจับคู่) จะแสดงในรูปของการกระจายแบบจุดเดียว
ตัวอย่างเช่นสมมติว่าสำหรับอินสแตนซ์การฝึกอบรมที่เฉพาะเจาะจงป้ายกำกับที่แท้จริงคือ B (จากป้ายกำกับ A, B และ C ที่เป็นไปได้) ดังนั้นการกระจายแบบร้อนแรงสำหรับอินสแตนซ์การฝึกอบรมนี้จึงเป็น:
Pr(Class A) Pr(Class B) Pr(Class C)
0.0 1.0 0.0
คุณสามารถตีความการแจกแจงจริงข้างต้นเพื่อหมายความว่าอินสแตนซ์การฝึกอบรมมีความน่าจะเป็น 0% ที่จะเป็นคลาส A ความน่าจะเป็น 100% ที่จะเป็นคลาส B และความน่าจะเป็น 0% ที่จะเป็นคลาส C
ตอนนี้สมมติว่าอัลกอริทึมการเรียนรู้ของเครื่องของคุณทำนายการแจกแจงความน่าจะเป็นดังต่อไปนี้:
Pr(Class A) Pr(Class B) Pr(Class C)
0.228 0.619 0.153
การกระจายที่คาดการณ์ไว้ใกล้กับการแจกแจงจริงมากแค่ไหน? นั่นคือสิ่งที่การสูญเสียข้ามเอนโทรปีกำหนด ใช้สูตรนี้:
p(x)
การแจกแจงความน่าจะเป็นที่แท้จริงอยู่ที่ไหนและq(x)
การแจกแจงความน่าจะเป็นที่คาดการณ์ไว้ ผลรวมมากกว่าสามคลาส A, B และ C ในกรณีนี้การสูญเสียคือ0.479 :
H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479
ดังนั้นการทำนายของคุณจึง "ผิด" หรือ "ห่างไกล" นั้นมาจากการแจกแจงที่แท้จริง
เอนโทรปีแบบไขว้เป็นหนึ่งในฟังก์ชันการสูญเสียที่เป็นไปได้จำนวนมาก (อีกฟังก์ชันหนึ่งที่นิยมคือการสูญเสียบานพับ SVM) โดยทั่วไปฟังก์ชันการสูญเสียเหล่านี้จะเขียนเป็น J (theta) และสามารถใช้ภายในการไล่ระดับสีซึ่งเป็นอัลกอริทึมแบบวนซ้ำเพื่อย้ายพารามิเตอร์ (หรือสัมประสิทธิ์) ไปยังค่าที่เหมาะสมที่สุด ในสมการดังต่อไปนี้คุณจะเข้ามาแทนที่ด้วยJ(theta)
H(p, q)
แต่โปรดทราบว่าคุณต้องคำนวณอนุพันธ์ของH(p, q)
พารามิเตอร์ก่อน
ดังนั้นเพื่อตอบคำถามเดิมของคุณโดยตรง:
เป็นเพียงวิธีการอธิบายฟังก์ชันการสูญเสียหรือไม่?
ถูกต้องครอสเอนโทรปีอธิบายการสูญเสียระหว่างการแจกแจงความน่าจะเป็นสองแบบ เป็นหนึ่งในฟังก์ชันการสูญเสียที่เป็นไปได้มากมาย
จากนั้นเราสามารถใช้ตัวอย่างเช่นอัลกอริทึมการไล่ระดับสีเพื่อค้นหาค่าต่ำสุด
ใช่ฟังก์ชันการสูญเสียเอนโทรปีข้ามสามารถใช้เป็นส่วนหนึ่งของการไล่ระดับสีได้
อ่านเพิ่มเติม: หนึ่งในคำตอบอื่น ๆของฉันที่เกี่ยวข้องกับ TensorFlow
cosine (dis)similarity
อธิบายข้อผิดพลาดผ่านมุมแล้วพยายามย่อมุมให้น้อยที่สุด
p(x)
[0.0, 1.0, 0.0
ในทำนองเดียวกันคือรายการของความน่าจะคาดการณ์ไว้สำหรับแต่ละชั้นเรียนที่q(x)
แล้วซึ่งออกมาเป็น 0.479 โปรดทราบว่าเป็นเรื่องปกติที่จะใช้ฟังก์ชันของ Python ซึ่งเป็นบันทึกธรรมชาติ มันไม่สำคัญ [0.228, 0.619, 0.153]
H(p, q)
- (0 * log(2.28) + 1.0 * log(0.619) + 0 * log(0.153))
np.log()
ในระยะสั้น cross-entropy (CE) คือการวัดว่าค่าที่คาดการณ์ของคุณอยู่ห่างจากป้ายกำกับจริงแค่ไหน
กากบาทในที่นี้หมายถึงการคำนวณเอนโทรปีระหว่างสองคุณสมบัติขึ้นไป / ป้ายกำกับจริง (เช่น 0, 1)
และคำว่าเอนโทรปีเองก็หมายถึงการสุ่มดังนั้นค่าที่มากจึงหมายความว่าการคาดการณ์ของคุณอยู่ห่างไกลจากฉลากจริง
ดังนั้นน้ำหนักจึงเปลี่ยนไปเพื่อลด CE และสุดท้ายนำไปสู่การลดความแตกต่างระหว่างการคาดคะเนและฉลากจริงและทำให้ความแม่นยำดีขึ้น
เมื่อเพิ่มโพสต์ข้างต้นรูปแบบที่ง่ายที่สุดของการสูญเสียเอนโทรปีแบบข้ามเรียกว่าไบนารี - ข้ามเอนโทรปี (ใช้เป็นฟังก์ชันการสูญเสียสำหรับการจำแนกไบนารีเช่นการถดถอยโลจิสติกส์) ในขณะที่เวอร์ชันทั่วไปคือการแบ่งประเภท - ข้ามเอนโทรปี (ใช้ เป็นฟังก์ชันการสูญเสียสำหรับปัญหาการจำแนกหลายชั้นเช่นด้วยโครงข่ายประสาทเทียม)
แนวคิดยังคงเหมือนเดิม:
เมื่อความน่าจะเป็นของคลาสที่คำนวณโดยโมเดล (softmax) ใกล้เคียงกับ 1 สำหรับป้ายกำกับเป้าหมายสำหรับอินสแตนซ์การฝึกอบรม (แสดงด้วยการเข้ารหัสแบบร้อนเดียวเช่น) การสูญเสีย CCE ที่สอดคล้องกันจะลดลงเป็นศูนย์
มิฉะนั้นจะเพิ่มขึ้นเมื่อความน่าจะเป็นที่คาดการณ์ไว้ที่สอดคล้องกับคลาสเป้าหมายมีขนาดเล็กลง
รูปต่อไปนี้แสดงให้เห็นถึงแนวคิด (สังเกตจากรูปที่คริสตศักราชจะต่ำเมื่อทั้ง y และ p สูงหรือทั้งสองอย่างต่ำพร้อมกันกล่าวคือมีข้อตกลง):
Cross-entropyมีความสัมพันธ์อย่างใกล้ชิดกับเอนโทรปีสัมพัทธ์หรือKL-divergenceที่คำนวณระยะห่างระหว่างการแจกแจงความน่าจะเป็นสองแบบ ตัวอย่างเช่นในระหว่าง pmf สองตัวที่ไม่ต่อเนื่องความสัมพันธ์ระหว่างกันจะแสดงในรูปต่อไปนี้: