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

เครือข่ายที่เชื่อมต่อเต็ม

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

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

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

การจำแนกทำนายสามชนิด ริดจ์ทำนายมวลเป็นกรัมจากข้อมูลเดียวกัน แต่เป็นคนละแบบจำลอง ค่าทำนายชุดฝึกส่งไปยังฟังก์ชันเป้าหมาย ค่าทำนายชุดทดสอบ 102 แถวแยกไว้และไม่ปรับน้ำหนัก

กฎทำนายและชั้นของเครือข่าย · อธิบายหรือใช้กฎทำนาย ชั้น และพารามิเตอร์

โครงการใช้กฎเชิงเส้นกับสองคุณลักษณะ น้ำหนักที่ฝึกให้คะแนนหรือมวลที่ปรับสเกล

ค่าทำนาย

ข้อมูลเข้า
ชุดฝึก: 12 × 2
ผลลัพธ์
[ชนิด: อาเดลี · ความน่าจะเป็น: [≈0.9945, ≈0.005412, ≈0.00005477], ชนิด: อาเดลี · ความน่าจะเป็น: [≈0.6338, ≈0.3635, ≈0.002677], ชนิด: เจนทู · ความน่าจะเป็น: [≈0.1023, ≈0.03028, ≈0.8674]] … (12 รายการ)

การดำเนินการของโครงการ

การคำนวณโครงการใช้ข้อมูลชุดนี้ สูตรและตัวอย่างต้นฉบับอยู่ด้านล่าง การแก้โค้ดมีผลเฉพาะหน้านี้ ส่วนการตั้งค่าโครงการส่งต่อระหว่างหน้า

คุณลักษณะ → ค่าทำนาย → ความสูญเสีย

ข้อมูลเข้าโครงการ

แสดงสามรายการแรก การดำเนินการรับอาร์เรย์ทั้งหมด ค่าตัวอย่างปัดเศษแล้ว การดำเนินการใช้ค่าเต็ม

input.features · คุณลักษณะ
[[≈-1.946, ≈-1.283], [≈-0.6098, ≈-1.029], [≈-0.4454, ≈0.9162]] … (12 รายการ)
input.weights · แบบจำลอง
[≈-0.2895, ≈-2.052, ≈-1.016] … (9 รายการ)
input.task · การตั้งค่าโครงการหรือค่าคงที่
classification
input.targetMean · ข้อมูลสังเกต
null
input.targetScale · ข้อมูลสังเกต
null

ผลลัพธ์

[ชนิด: อาเดลี · ความน่าจะเป็น: [≈0.9945, ≈0.005412, ≈0.00005477], ชนิด: อาเดลี · ความน่าจะเป็น: [≈0.6338, ≈0.3635, ≈0.002677], ชนิด: เจนทู · ความน่าจะเป็น: [≈0.1023, ≈0.03028, ≈0.8674]] … (12 รายการ)

ใช้ในส่วนต้นฉบับเหล่านี้: 1.2 เรียนรู้จากตัวอย่าง · 1.2.2 โครงข่ายแสดงคำตอบที่ต้องการได้หรือไม่ · 2.1 มองผ่านความคล้ายคลึง · ส่วนต้นฉบับเพิ่มเติม

แต่ละชั้นคูณข้อมูลเข้าด้วยเมทริกซ์น้ำหนักและบวกไบแอส ใช้ฟังก์ชันกระตุ้นกับชั้นซ่อน แล้วใช้ผลเป็นข้อมูลเข้าชั้นถัดไป

การดำเนินการเหล่านี้กำหนดค่าทำนายของเครือข่าย

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

Φ(1)(x,θ)=W(1)x+b(1),Φˉ(ℓ)(x,θ)=ϱ(Φ(ℓ)(x,θ)),ℓ∈[L−1],และΦ(ℓ+1)(x,θ)=W(ℓ+1)Φˉ(ℓ)(x,θ)+b(ℓ+1),ℓ∈[L−1],\begin{split}\Phi^{(1)}(x,\theta)&=W^{(1)}x+b^{(1)},\\ \bar{\Phi}^{(\ell)}(x,\theta)&=\varrho\big(\Phi^{(\ell)}(x,\theta)\big),\quad\ell\in[L-1],\quad\text{และ}\\ \Phi^{(\ell+1)}(x,\theta)&=W^{(\ell+1)}\bar{\Phi}^{(\ell)}(x,\theta)+b^{(\ell+1)},\quad\ell\in[L-1],\end{split}

ภาพประกอบ · ตัวอย่างนี้ใช้ข้อมูลเข้าหนึ่งค่า หน่วยซ่อนสองหน่วย ผลลัพธ์หนึ่งค่า และ ReLU เครือข่ายอื่นมีเมทริกซ์ ไบแอส ขนาด และฟังก์ชันกระตุ้นต่างกัน

สัญลักษณ์

W(ℓ)W^{(ℓ)}
เมทริกซ์น้ำหนักชั้น ℓ มีหนึ่งแถวต่อผลลัพธ์และหนึ่งคอลัมน์ต่อข้อมูลเข้า
b(ℓ)b^{(ℓ)}
เวกเตอร์ไบแอสชั้น ℓ
ρρ
ฟังก์ชันกระตุ้นที่ใช้กับสมาชิกชั้นซ่อน

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

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

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

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

คุณเลือก

  • input.x = 1

คำนวณที่นี่

นิพจน์ผลลัพธ์: { hiddenBefore, hidden, output }

  • x = input.x ใช้: input.x
  • hiddenBefore = [2 * x + 1, -x] ใช้: x
  • hidden = hiddenBefore.map((value) => Math.max(0, value)) ใช้: hiddenBefore
  • output = hidden[0] + 2 * hidden[1] ใช้: hidden

ส่งกลับ

ผลลัพธ์ตัวอย่าง
hiddenBefore
อาร์เรย์ (2 รายการ): [3, -1]
hidden
อาร์เรย์ (2 รายการ): [3, 0]
output
3

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

ผลลัพธ์

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

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

เปลี่ยนข้อมูลเข้าแล้วเรียกใช้โค้ดเดิมอีกครั้ง ผลลัพธ์ที่แสดงใช้ค่าข้างต้น

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