ขั้นเกรเดียนต์มินิแบตช์
โครงการเรียนรู้เพนกวิน
โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ
โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้
การเรียนรู้และการปรับพารามิเตอร์ · เลือกกฎหรือปรับพารามิเตอร์ด้วยกฎการเรียนรู้
ฟังก์ชันเป้าหมายให้เกรเดียนต์เพื่อปรับพารามิเตอร์
พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท
ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].
ใช้ในส่วนต้นฉบับเหล่านี้: 1.2 เรียนรู้จากตัวอย่าง
คำนวณเกรเดียนต์หนึ่งค่าสำหรับแต่ละตัวอย่างในมินิแบตช์ หาค่าเฉลี่ย คูณด้วยขนาดก้าว แล้วลบ
ขั้นมินิแบตช์ปรับพารามิเตอร์ได้โดยไม่ใช้ตัวอย่างฝึกทุกตัว
ตัวอย่างสูตรต้นฉบับ
ภาพประกอบ · เกรเดียนต์สองค่าที่ให้มาแสดงการคำนวณ โค้ดไม่ได้คำนวณจากเครือข่ายหรือพิสูจน์การลู่เข้า
สัญลักษณ์
- ขนาดมินิแบตช์ที่เป็นบวก
- ขนาดก้าวในการทำซ้ำครั้งที่ k
ตัวอย่างสูตรต้นฉบับ
ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ
แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท
ลำดับข้อมูลในตัวอย่างนี้
โค้ดเปลี่ยนแล้ว กดรีเซ็ตเพื่อคืนลำดับข้อมูลของตัวอย่าง
คุณเลือก
input.firstGradient= 2input.theta= 2input.rate= 0.1
คำนวณที่นี่
นิพจน์ผลลัพธ์: { gradients, meanGradient, next: input.theta - input.rate * meanGradient }
gradients=[input.firstGradient, 4]ใช้:input.firstGradientmeanGradient=gradients.reduce((a, b) => a + b, 0) / gradients.lengthใช้:gradients
ส่งกลับ
gradients- อาร์เรย์ (2 รายการ): [2, 4]
meanGradient- 3
next- 1.7
อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.
ผลลัพธ์
ข้อความทางเทคนิค
เปลี่ยนข้อมูลเข้าแล้วเรียกใช้โค้ดเดิมอีกครั้ง ผลลัพธ์ที่แสดงใช้ค่าข้างต้น
แหล่งอ้างอิง: นิพจน์จากแหล่งต้นฉบับ