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

ไบแอสเป็นพิกัดเพิ่มเติม

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

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

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

คุณลักษณะ · แปลงข้อมูลเข้าเป็นคุณลักษณะที่กฎนำไปใช้

โครงการปรับสเกลความยาวจะงอยปากและครีบด้วยค่าเฉลี่ยและสเกลของชุดฝึก เวกเตอร์มีสองค่า

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

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

ใช้ในส่วนต้นฉบับเหล่านี้: 1.2 เรียนรู้จากตัวอย่าง

การเพิ่ม 1 ต่อท้ายข้อมูลเข้าทำให้การคูณเมทริกซ์รวมไบแอสได้

การแทนนี้ทำให้สัญลักษณ์ของชั้นง่ายขึ้น

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

x→[x1],(W(ℓ),b(ℓ))→[W(ℓ)b(ℓ)01],ℓ∈[L−1],และ(W(L),b(L))→[W(L)b(L)].x\to\begin{bmatrix}x\\ 1\end{bmatrix},\quad(W^{(\ell)},b^{(\ell)})\to\begin{bmatrix}W^{(\ell)}&b^{(\ell)}\\ 0&1\end{bmatrix},\quad\ell\in[L-1],\quad\text{และ}\quad(W^{(L)},b^{(L)})\to\begin{bmatrix}W^{(L)}&b^{(L)}\end{bmatrix}.

ตรงตามนิยาม · นี่เป็นตัวอย่างมิติจำกัดที่เป็นรูปธรรมของการแปลงในต้นฉบับ

สัญลักษณ์

xx
เวกเตอร์ข้อมูลเข้า
W(l)W⁽ˡ⁾
เมทริกซ์น้ำหนัก
b(l)b⁽ˡ⁾
เวกเตอร์ไบแอส
LL
จำนวนชั้น

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

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

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

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

คุณเลือก

  • input.x = 1

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

  • W = [ [1, 2], [3, 4], ]
  • b = [1, -1]
  • augmented = [ [1, 2, 1], [3, 4, -1], [0, 0, 1], ]

คำนวณที่นี่

นิพจน์ผลลัพธ์: { augmentedInput, augmented, hiddenOutput: full, finalOutput: finalLayer }

  • x = [input.x, 2] ใช้: input.x
  • augmentedInput = [...x, 1] ใช้: x
  • full = augmented.map((row) => row.reduce((s, v, i) => s + v * augmentedInput[i], 0), ) ใช้: augmented, augmentedInput
  • finalLayer = [ [1, 2, 1], [3, 4, -1], ].map((row) => row.reduce((s, v, i) => s + v * augmentedInput[i], 0)) ใช้: augmentedInput

ส่งกลับ

ผลลัพธ์ตัวอย่าง
augmentedInput
อาร์เรย์ (3 รายการ): [1, 2, 1]
augmented
อาร์เรย์ (3 รายการ): [อาร์เรย์ (3 รายการ): [1, 2, 1], อาร์เรย์ (3 รายการ): [3, 4, -1], อาร์เรย์ (3 รายการ): [0, 0, 1]]
hiddenOutput
อาร์เรย์ (3 รายการ): [6, 10, 1]
finalOutput
อาร์เรย์ (2 รายการ): [6, 10]

อ่านตัวเลขจาก input แล้วคืนค่าผลลัพธ์ พื้นฐาน JavaScript.

ผลลัพธ์

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

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

แถวเพิ่มเติมรักษาค่าคงที่ 1 สำหรับชั้นกลาง ชั้นสุดท้ายไม่รวมแถวนั้น

แหล่งอ้างอิง: นิพจน์จากแหล่งต้นฉบับ