คำนวณการสูญเสียของ Huber ระหว่างป้ายกำกับและการทำนาย
สำหรับแต่ละค่า x ใน error = labels - predictions :
loss = 0.5 * x^2 if |x| <= d
loss = 0.5 * d^2 + d * (|x| - d) if |x| > d
โดยที่ d คือเดลต้า
การใช้งานแบบสแตนด์อโลน:
Operand<TFloat32> labels =
tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} });
Operand<TFloat32> predictions =
tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} });
Huber huberLoss = new Huber(tf);
Operand<TFloat32> result = huberLoss.call(labels, predictions);
// produces 0.155
การโทรด้วยน้ำหนักตัวอย่าง:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f});
Operand<TFloat32> result = huberLoss.call(labels, predictions, sampleWeight);
// produces 0.09f
การใช้ประเภทการลด SUM :
Huber huberLoss = new Huber(tf, Reduction.SUM);
Operand<TFloat32> result = huberLoss.call(labels, predictions);
// produces 0.32f
การใช้ประเภทการลด NONE :
Huber huberLoss = new Huber(tf, Reduction.NONE);
Operand<TFloat32> result = huberLoss.call(labels, predictions);
// produces [0.18f, 0.13f]
ดูเพิ่มเติม
ค่าคงที่
| ลอย | DELTA_DEFAULT |
ฟิลด์ที่สืบทอดมา
คอนสตรัคชั่นสาธารณะ
ฮูเบอร์ (Ops tf) สร้าง Huber Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย DELTA_DEFAULT เป็นเดลต้า และการลดการสูญเสีย REDUCTION_DEFAULT | |
Huber (Ops tf ชื่อสตริง) สร้างการสูญเสีย Huber โดยใช้ DELTA_DEFAULT เป็นเดลต้าและลดการสูญเสียของ REDUCTION_DEFAULT | |
Huber (Ops tf, การ ลดลง) สร้าง Huber Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย และ DELTA_DEFAULT เป็นเดลต้า | |
วิธีการสาธารณะ
| <T ขยาย TNumber > ตัวถูกดำเนินการ <T> | โทร ( ตัวดำเนินการ <? ขยาย TNumber > ป้ายกำกับ, ตัวดำเนินการ <T> การคาดคะเน, ตัวดำเนินการ <T> ตัวอย่างน้ำหนัก) สร้างตัวถูกดำเนินการที่คำนวณการสูญเสีย |
วิธีการสืบทอด
ค่าคงที่
โฟลตสุดท้ายคงสาธารณะ DELTA_DEFAULT
คอนสตรัคชั่นสาธารณะ
Huber สาธารณะ (Ops tf)
สร้าง Huber Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย DELTA_DEFAULT เป็นเดลต้า และการลดการสูญเสีย REDUCTION_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|
Huber สาธารณะ (Ops tf ชื่อสตริง)
สร้างการสูญเสีย Huber โดยใช้ DELTA_DEFAULT เป็นเดลต้าและลดการสูญเสียของ REDUCTION_DEFAULT
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของการสูญเสีย หากเป็นค่าว่าง จะใช้ getSimpleName() |
Huber สาธารณะ (Ops tf, การลด การ ลดลง)
สร้าง Huber Loss โดยใช้ getSimpleName() เป็นชื่อการสูญเสีย และ DELTA_DEFAULT เป็นเดลต้า
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| การลดน้อยลง | ประเภทของส่วนลดที่จะใช้กับการสูญเสีย |
Huber สาธารณะ (Ops tf, ชื่อสตริง, การลดการลด )
สร้าง Huber Loss โดยใช้ DELTA_DEFAULT เป็นเดลต้า
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของการสูญเสีย หากเป็นค่าว่าง จะใช้ getSimpleName() |
| การลดน้อยลง | ประเภทของส่วนลดที่จะใช้กับการสูญเสีย |
Huber สาธารณะ (Ops tf, ชื่อสตริง, เดลต้าลอย, การลดการ ลด)
สร้างการสูญเสียฮูเบอร์
พารามิเตอร์
| ไม่ | Ops ของ TensorFlow |
|---|---|
| ชื่อ | ชื่อของการสูญเสีย หากเป็นค่าว่าง จะใช้ getSimpleName() |
| เดลต้า | จุดที่ฟังก์ชันการสูญเสียของฮูเบอร์เปลี่ยนจากกำลังสองเป็นเชิงเส้น |
| การลดน้อยลง | ประเภทของส่วนลดที่จะใช้กับการสูญเสีย |
วิธีการสาธารณะ
ตัวดำเนินการ สาธารณะ <T> โทร ( ตัวดำเนินการ <? ขยาย TNumber > ป้ายกำกับ, ตัวดำเนินการ <T> การคาดการณ์, ตัวดำเนินการ <T> ตัวอย่างน้ำหนัก)
สร้างตัวถูกดำเนินการที่คำนวณการสูญเสีย
พารามิเตอร์
| ฉลาก | ค่าความจริงหรือป้ายกำกับ |
|---|---|
| การคาดการณ์ | การคาดการณ์ |
| ตัวอย่างน้ำหนัก | SampleWeights ที่เป็นตัวเลือกจะทำหน้าที่เป็นสัมประสิทธิ์การสูญเสีย หากมีการระบุสเกลาร์ การสูญเสียก็จะถูกปรับขนาดตามค่าที่กำหนด หาก SampleWeights เป็นเทนเซอร์ที่มีขนาด [batch_size] ค่าที่สูญเสียทั้งหมดสำหรับแต่ละตัวอย่างในแบตช์จะถูกปรับขนาดใหม่โดยองค์ประกอบที่เกี่ยวข้องในเวกเตอร์ SampleWeights หากรูปร่างของ SampleWeights คือ [batch_size, d0, .. dN-1] (หรือสามารถถ่ายทอดไปยังรูปร่างนี้ได้) ดังนั้น องค์ประกอบที่สูญเสียแต่ละรายการของการคาดการณ์จะถูกปรับขนาดตามค่าที่สอดคล้องกันของ SampleWeights (หมายเหตุสำหรับ dN-1: ฟังก์ชันการสูญเสียทั้งหมดลดลง 1 มิติ โดยปกติจะเป็นแกน=-1) |
การส่งคืน
- การสูญเสีย