คอนโวลูชันและซัพพอร์ต
โครงการเรียนรู้เพนกวิน
โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ
โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้
การประมาณและความลึก · ศึกษาความผิดพลาดในการประมาณและขนาดเครือข่ายภายใต้เงื่อนไข
โครงการมีข้อมูลและพารามิเตอร์จำนวนจำกัด ชุดทดสอบไม่ยืนยันขอบเขตประชากรหรือพิสูจน์ทฤษฎีบท
พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท
ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].
ใช้ในส่วนต้นฉบับเหล่านี้: 3.1 กฎที่ขึ้นกับระยะทาง
ซัพพอร์ตระบุตำแหน่งที่ฟังก์ชันไม่เป็นศูนย์ ต้นฉบับใช้กฎคอนโวลูชันฟูเรียร์และจำกัดซัพพอร์ตโดยบวกลูกบอลเข้ากับเส้นทิศทางแต่ละเส้น
ตัวอย่างแสดงกฎบวกซัพพอร์ตเดียวกันสำหรับคอนโวลูชันวงกลมบนตำแหน่งไม่ต่อเนื่องห้าตำแหน่ง
ข้อจำกัดซัพพอร์ตช่วยอธิบายอุปสรรคการประมาณของเครือข่ายตื้น
ตัวอย่างสูตรต้นฉบับ
ภาพประกอบ · ตัวอย่างวงรอบไม่ต่อเนื่องแสดงการรวมอยู่ของซัพพอร์ต ไม่ใช่เอกลักษณ์การแปลงฟูเรียร์ต่อเนื่องหรือทฤษฎีบท การหักล้างอาจทำให้ซัพพอร์ตจริงเล็กกว่าเซตที่เป็นไปได้
สัญลักษณ์
- การแปลงฟูเรียร์ของเครือข่ายตื้น
- รากที่สองของความหนาแน่นเมเชอร์ในการสร้างของต้นฉบับ
- ลูกบอลรัศมี r รอบจุดกำเนิด
ตัวอย่างสูตรต้นฉบับ
ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ
แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท
ลำดับข้อมูลในตัวอย่างนี้
โค้ดเปลี่ยนแล้ว กดรีเซ็ตเพื่อคืนลำดับข้อมูลของตัวอย่าง
คุณเลือก
input.second= 1
ค่าเริ่มต้นในโค้ด
a=[1, 0, 0, 2, 0]
คำนวณที่นี่
นิพจน์ผลลัพธ์: { convolution, supportA, supportB, possible, actual }
b=[1, input.second, 0, 0, 0]ใช้:input.secondn=a.lengthใช้:aconvolution=a.map((_, i) => a.reduce((sum, value, j) => sum + value * b[(i - j + n) % n], 0), )ใช้:a,b,nsupportA=a.flatMap((value, i) => (value !== 0 ? [i] : []))ใช้:asupportB=b.flatMap((value, i) => (value !== 0 ? [i] : []))ใช้:bpossible=[ ...new Set(supportA.flatMap((i) => supportB.map((j) => (i + j) % n))), ].sort((x, y) => x - y)ใช้:supportA,supportB,nactual=convolution.flatMap((value, i) => (value !== 0 ? [i] : []))ใช้:convolution
ส่งกลับ
convolution- อาร์เรย์ (5 รายการ): [1, 1, 0, 2, …]
supportA- อาร์เรย์ (2 รายการ): [0, 3]
supportB- อาร์เรย์ (2 รายการ): [0, 1]
possible- อาร์เรย์ (4 รายการ): [0, 1, 3, 4]
actual- อาร์เรย์ (4 รายการ): [0, 1, 3, 4]
อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.
ผลลัพธ์
ข้อความทางเทคนิค
ต้นฉบับเลือกการแปลงฟูเรียร์ของ φ เป็นตัวบ่งชี้ลูกบอล และซัพพอร์ตฟูเรียร์ของเครือข่ายตื้นอยู่บนเส้นทิศทาง คอนโวลูชันขยายซัพพอร์ตเหล่านั้นเป็นยูเนียนของเส้นบวกลูกบอล ตัวอย่างวงรอบจำกัดคำนวณผลบวกดัชนีซัพพอร์ตที่เป็นไปได้โดยชัดเจน
แหล่งอ้างอิง: ซัพพอร์ตฟูเรียร์