เกรเดียนต์ทำให้เป็นมาตรฐานที่ฉายแล้ว
โครงการเรียนรู้เพนกวิน
โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ
โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้
ทฤษฎีการหาค่าเหมาะสม · ศึกษาการลู่เข้าและรูปทรงของความสูญเสียภายใต้สมมติฐาน
โครงการมีข้อมูลและพารามิเตอร์จำนวนจำกัด ชุดทดสอบไม่ยืนยันขอบเขตประชากรหรือพิสูจน์ทฤษฎีบท
พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท
ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].
ใช้ในส่วนต้นฉบับเหล่านี้: 2.3 เส้นทางการฝึกมีผล
ทำเวกเตอร์พารามิเตอร์ให้เป็นมาตรฐาน สร้างเมทริกซ์ฉาย คูณเกรเดียนต์มาร์จินเรียบ แล้วหารด้วยนอร์มพารามิเตอร์
สำหรับตัวอย่างหนึ่งตัว x=(1,0), y=1 และความสูญเสียเอ็กซ์โพเนนเชียล rβ(θ)=θ₁ เกรเดียนต์จึงเป็น (1,0)
การปรับที่ฉายแล้วอธิบายการเปลี่ยนทิศทางพารามิเตอร์
ตัวอย่างสูตรต้นฉบับ
ภาพประกอบ · คำนวณสนามเวกเตอร์ฉายหนึ่งแบบ ไม่อินทิเกรตวิถีหรือพิสูจน์การลู่เข้าสู่มาร์จินสูงสุดทั่วไป
สัญลักษณ์
- นอร์มพารามิเตอร์ที่ไม่เป็นศูนย์
- เวกเตอร์พารามิเตอร์หารด้วยนอร์ม
- เมทริกซ์ฉายบนทิศทางตั้งฉากกับเวกเตอร์พารามิเตอร์หนึ่งหน่วย
ตัวอย่างสูตรต้นฉบับ
ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ
แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท
ลำดับข้อมูลในตัวอย่างนี้
โค้ดเปลี่ยนแล้ว กดรีเซ็ตเพื่อคืนลำดับข้อมูลของตัวอย่าง
คุณเลือก
input.u= 3input.v= 4
ค่าเริ่มต้นในโค้ด
gradient=[1, 0]
คำนวณที่นี่
นิพจน์ผลลัพธ์: { beta, normalized, projection, gradient, rate }
theta=[input.u, input.v]ใช้:input.u,input.vbeta=Math.hypot(...theta)ใช้:thetanormalized=theta.map((value) => value / beta)ใช้:theta,betaprojection=normalized.map((value, i) => normalized.map((other, j) => (i === j ? 1 : 0) - value * other), )ใช้:normalizedrate=projection.map( (row) => row.reduce((sum, value, i) => sum + value * gradient[i], 0) / beta, )ใช้:projection,gradient,beta
ส่งกลับ
beta- 5
normalized- อาร์เรย์ (2 รายการ): [0.6, 0.8]
projection- อาร์เรย์ (2 รายการ): [อาร์เรย์ (2 รายการ): [0.64, -0.48], อาร์เรย์ (2 รายการ): [-0.48, 0.36]]
gradient- อาร์เรย์ (2 รายการ): [1, 0]
rate- อาร์เรย์ (2 รายการ): [0.128, -0.096]
อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.
ผลลัพธ์
ข้อความทางเทคนิค
ต้นฉบับอนุมานวิวัฒนาการด้วยกฎลูกโซ่สำหรับพารามิเตอร์ไม่เป็นศูนย์ที่ทำให้เป็นมาตรฐาน ความสูญเสียเอ็กซ์โพเนนเชียลหนึ่งตัวอย่างที่เลือกมีมาร์จินเรียบเท่าพิกัดพารามิเตอร์แรก เกรเดียนต์จึงเป็น (1,0) พอดี
แหล่งอ้างอิง: นิพจน์จากแหล่งต้นฉบับ