คณิตศาสตร์สมัยใหม่ของการเรียนรู้เชิงลึกอธิบายสำหรับผู้ที่ไม่ใช่นักคณิตศาสตร์

คอนโวลูชันและซัพพอร์ต

โครงการเรียนรู้เพนกวิน

โครงการใช้ข้อมูลเพนกวิน Palmer ที่สมบูรณ์ 342 แถว: ชุดฝึก 240 และชุดทดสอบ 102 แถว แถวฝึกที่เลือกกำหนดการปรับสเกลและพารามิเตอร์ CSV ต้นฉบับ

โครงการนี้ฝึกน้ำหนักด้วย softmax ต่างจากแล็บในหน้าแรกที่ใช้ค่าเฉลี่ยของสายพันธุ์ที่ใกล้ที่สุด ข้อมูลวัดเพนกวินชุดเดียวกัน แต่วิธีจำแนกต่างกัน คำทำนายอาจต่างกันได้

การประมาณและความลึก · ศึกษาความผิดพลาดในการประมาณและขนาดเครือข่ายภายใต้เงื่อนไข

โครงการมีข้อมูลและพารามิเตอร์จำนวนจำกัด ชุดทดสอบไม่ยืนยันขอบเขตประชากรหรือพิสูจน์ทฤษฎีบท

พิจารณาแนวคิดนี้ร่วมกับโครงการ สมมติฐานของต้นฉบับอาจต่างกัน ข้อมูลชุดนี้ไม่พิสูจน์ทฤษฎีบท

ข้อมูลเข้า: 12 × 2; ประเมินชุดทดสอบ: 102 · #58 · 40.6 มม., 193 มม.. คำตอบที่ทราบ: อาเดลี; ค่าทำนาย: อาเดลี · [≈0.7383, ≈0.2444, ≈0.01737].

ใช้ในส่วนต้นฉบับเหล่านี้: 3.1 กฎที่ขึ้นกับระยะทาง

ซัพพอร์ตระบุตำแหน่งที่ฟังก์ชันไม่เป็นศูนย์ ต้นฉบับใช้กฎคอนโวลูชันฟูเรียร์และจำกัดซัพพอร์ตโดยบวกลูกบอลเข้ากับเส้นทิศทางแต่ละเส้น

ตัวอย่างแสดงกฎบวกซัพพอร์ตเดียวกันสำหรับคอนโวลูชันวงกลมบนตำแหน่งไม่ต่อเนื่องห้าตำแหน่ง

ข้อจำกัดซัพพอร์ตช่วยอธิบายอุปสรรคการประมาณของเครือข่ายตื้น

ตัวอย่างสูตรต้นฉบับ

supp⁡(Φφ^)=supp⁡(Φ^∗φ^)⊂⋃j=1n(span⁡{wj}+Br(0)).\supp(\widehat{\Phi\varphi})=\supp(\hat{\Phi}*\hat{\varphi})\subset\bigcup_{j=1}^{n}\left(\spann\{w_{j}\}+B_{r}(0)\right).

ภาพประกอบ · ตัวอย่างวงรอบไม่ต่อเนื่องแสดงการรวมอยู่ของซัพพอร์ต ไม่ใช่เอกลักษณ์การแปลงฟูเรียร์ต่อเนื่องหรือทฤษฎีบท การหักล้างอาจทำให้ซัพพอร์ตจริงเล็กกว่าเซตที่เป็นไปได้

สัญลักษณ์

Φ^\hatΦ
การแปลงฟูเรียร์ของเครือข่ายตื้น
φφ
รากที่สองของความหนาแน่นเมเชอร์ในการสร้างของต้นฉบับ
Br(0)B_r(0)
ลูกบอลรัศมี r รอบจุดกำเนิด

ตัวอย่างสูตรต้นฉบับ

ตัวอย่างต้นฉบับนี้ใช้ข้อมูลเข้าและสมมติฐานของตัวเอง การแก้ไขไม่เปลี่ยนโครงการ

แก้ค่าหรือโค้ด แล้วกดรัน ตัวอย่างนี้เป็นการคำนวณจำนวนจำกัด ไม่ใช่การพิสูจน์ทฤษฎีบท

ลำดับข้อมูลในตัวอย่างนี้

คุณเลือก

  • input.second = 1

ค่าเริ่มต้นในโค้ด

  • a = [1, 0, 0, 2, 0]

คำนวณที่นี่

นิพจน์ผลลัพธ์: { convolution, supportA, supportB, possible, actual }

  • b = [1, input.second, 0, 0, 0] ใช้: input.second
  • n = a.length ใช้: a
  • convolution = a.map((_, i) => a.reduce((sum, value, j) => sum + value * b[(i - j + n) % n], 0), ) ใช้: a, b, n
  • supportA = a.flatMap((value, i) => (value !== 0 ? [i] : [])) ใช้: a
  • supportB = b.flatMap((value, i) => (value !== 0 ? [i] : [])) ใช้: b
  • possible = [ ...new Set(supportA.flatMap((i) => supportB.map((j) => (i + j) % n))), ].sort((x, y) => x - y) ใช้: supportA, supportB, n
  • actual = 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.

ผลลัพธ์

เปิด JavaScript เพื่อรันตัวอย่างนี้

ข้อความทางเทคนิค

ต้นฉบับเลือกการแปลงฟูเรียร์ของ φ เป็นตัวบ่งชี้ลูกบอล และซัพพอร์ตฟูเรียร์ของเครือข่ายตื้นอยู่บนเส้นทิศทาง คอนโวลูชันขยายซัพพอร์ตเหล่านั้นเป็นยูเนียนของเส้นบวกลูกบอล ตัวอย่างวงรอบจำกัดคำนวณผลบวกดัชนีซัพพอร์ตที่เป็นไปได้โดยชัดเจน

แหล่งอ้างอิง: ซัพพอร์ตฟูเรียร์