นอร์มเกรเดียนต์หลังทำให้เป็นบรรทัดฐานแบบกลุ่ม
โครงการเรียนรู้เพนกวิน
โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ
โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้
การปรับมาตรฐานชุดข้อมูล · อธิบายการปรับมาตรฐานชุดข้อมูลและอนุพันธ์
โครงการใช้กฎเชิงเส้นกับสองคุณลักษณะ น้ำหนักที่ฝึกให้คะแนนหรือมวลที่ปรับสเกล
พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท
ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].
ใช้ในส่วนต้นฉบับเหล่านี้: 6.4 ปรับตัวเลขให้เทียบกันได้
สูตรเกรเดียนต์นำทิศทางค่าเฉลี่ยและทิศทางชุดที่ทำให้เป็นบรรทัดฐานออกจากเกรเดียนต์ขาเข้า
การดำเนินการเหล่านี้กำหนดชั้นโครงข่ายที่มีโครงสร้างและการวิเคราะห์ชั้นเหล่านั้น
ตัวอย่างสูตรต้นฉบับ
ภาพประกอบ · ข้อมูลจำกัดที่สร้างขึ้นแสดงนิพจน์นี้ ไม่ได้พิสูจน์เอกลักษณ์ ขอบเขต หรือการมีอยู่ทั่วไป
สัญลักษณ์
- เวกเตอร์ชุดจำนวนจริงความยาว m
- ส่วนเบี่ยงเบนมาตรฐานชุดบวก
- มาตราส่วนจำนวนจริง
- ความสูญเสียสเกลาร์ที่หาอนุพันธ์ได้
- ชุดที่ทำให้เป็นบรรทัดฐานโดยใช้ค่าเลื่อนศูนย์และมาตราส่วนหนึ่ง
- เวกเตอร์หนึ่ง
ตัวอย่างสูตรต้นฉบับ
ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ
แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท
ลำดับข้อมูลในตัวอย่างนี้
โค้ดเปลี่ยนแล้ว กดรีเซ็ตเพื่อคืนลำดับข้อมูลของตัวอย่าง
คุณเลือก
input.gamma= 1
ค่าเริ่มต้นในโค้ด
g=[1, 0, 1]
คำนวณที่นี่
นิพจน์ผลลัพธ์: { gradient, squaredNorm, rightSide }
sigma=Math.sqrt(2 / 3)z=[-1 / sigma, 0, 1 / sigma]ใช้:sigmameanComponent=dot([1, 1, 1], g) / 3ใช้:dot,gnormalizedComponent=dot(z, g) / 3ใช้:dot,z,ggradient=g.map( (v, i) => (input.gamma / sigma) * (v - meanComponent - normalizedComponent * z[i]), )ใช้:g,input.gamma,sigma,meanComponent,normalizedComponent,zsquaredNorm=dot(gradient, gradient)ใช้:dot,gradientrightSide=(input.gamma ** 2 / (sigma * sigma)) * (dot(g, g) - dot([1, 1, 1], g) ** 2 / 3 - dot(z, g) ** 2 / 3)ใช้:input.gamma,sigma,dot,g,z
ส่งกลับ
gradient- อาร์เรย์ (3 รายการ): [≈0.4082, ≈-0.8165, ≈0.4082]
squaredNorm- 1
rightSide- 1
อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.
ผลลัพธ์
ข้อความทางเทคนิค
ใช้ชุด [−1,0,1], r(z) = z₁+z₃ และ γ ตามที่แสดง เกรเดียนต์ของความสูญเสียเชิงเส้นนี้เป็น [1,0,1] ทุกแห่ง จึงเท่ากันที่ b และผลลัพธ์หลังทำให้เป็นบรรทัดฐาน โค้ดคำนวณเกรเดียนต์ตามกฎลูกโซ่ด้วยจาโคเบียนและทั้งสองด้านของเอกลักษณ์นอร์มกำลังสอง ข้อเสนอในต้นฉบับกำหนด m ≥ 2, β และ γ เป็นจำนวนจริง และ r หาอนุพันธ์ได้ สูตรต้องมี σb > 0 แม้ข้อความต้นฉบับที่แสดงระบุทุกชุด เพราะชุดคงที่ทำให้ตัวส่วนเป็นศูนย์ ต้นฉบับที่พิมพ์ใช้ ∇r(b) สำหรับ r ไม่เชิงเส้นทั่วไป กฎลูกโซ่ปกติประเมินเกรเดียนต์ขาเข้าที่ B(b) จึงอาจต้องชี้แจงอาร์กิวเมนต์ที่พิมพ์
แหล่งอ้างอิง: นิพจน์ในต้นฉบับ