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

เมทริกซ์ผกผันเทียมจากหนึ่งตัวอย่าง

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

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

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

เวกเตอร์และเมทริกซ์ · รวมตัวเลขด้วยการดำเนินการเวกเตอร์และเมทริกซ์

เวกเตอร์โครงการมีสองคุณลักษณะ เมทริกซ์ฝึกมี n แถวและสองคอลัมน์ ใช้เครื่องมือเมื่อสมมติฐานตรงกัน

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

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

ใช้ในส่วนต้นฉบับเหล่านี้: 2.4 การลดลงครั้งที่สองของความผิดพลาด

สำหรับหนึ่งตัวอย่างที่มีพิกัด d ค่าเป็น ±1 นอร์มกำลังสองคือ d ต้นฉบับให้เมทริกซ์ผกผันเทียมของเมทริกซ์ผลคูณนอกอย่างชัดเจน

ตัวอย่างคือ X=(1,−1) ดังนั้น d=2

เมทริกซ์ผกผันเทียมปรากฏในการคำนวณความแปรปรวนของต้นฉบับ

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

Σ+=X(1)(X(1))T∥X(1)∥4=X(1)(X(1))Td2\Sigma^{+}=\frac{X^{(1)}(X^{(1)})^{T}}{\|X^{(1)}\|^{4}}=\frac{X^{(1)}(X^{(1)})^{T}}{d^{2}}

ตรงตามนิยาม · ผลลัพธ์ตรงตามการคำนวณสำหรับข้อมูลเข้าสมมติจำนวนจำกัดนี้ ยกเว้นการปัดเศษตามปกติของคอมพิวเตอร์

สัญลักษณ์

Σ+Σ^+
เมทริกซ์ผกผันเทียมมัวร์–เพนโรสของ Σ
X(1)X^{(1)}
เวกเตอร์ทวิภาคหนึ่งตัวใน {−1,1}ᵈ

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

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

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

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

คุณเลือก

  • input.second = -1

คำนวณที่นี่

นิพจน์ผลลัพธ์: { x, normSquared, outer, pseudoinverse, projection }

  • x = [1, input.second] ใช้: input.second
  • normSquared = x.reduce((sum, value) => sum + value * value, 0) ใช้: x
  • outer = x.map((a) => x.map((b) => a * b)) ใช้: x
  • pseudoinverse = outer.map((row) => row.map((value) => value / normSquared ** 2)) ใช้: outer, normSquared
  • projection = outer.map((row, i) => row.map( (_, j) => (i === j ? 1 : 0) - pseudoinverse[i].reduce((sum, value, k) => sum + value * outer[k][j], 0), ), ) ใช้: outer, pseudoinverse

ส่งกลับ

ผลลัพธ์ตัวอย่าง
x
อาร์เรย์ (2 รายการ): [1, -1]
normSquared
2
outer
อาร์เรย์ (2 รายการ): [อาร์เรย์ (2 รายการ): [1, -1], อาร์เรย์ (2 รายการ): [-1, 1]]
pseudoinverse
อาร์เรย์ (2 รายการ): [อาร์เรย์ (2 รายการ): [0.25, -0.25], อาร์เรย์ (2 รายการ): [-0.25, 0.25]]
projection
อาร์เรย์ (2 รายการ): [อาร์เรย์ (2 รายการ): [0.5, 0.5], อาร์เรย์ (2 รายการ): [0.5, 0.5]]

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

ผลลัพธ์

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

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

สำหรับเวกเตอร์ไม่เป็นศูนย์ x เมทริกซ์ผกผันเทียมของ xxᵀ คือ xxᵀ/‖x‖⁴ พิกัดทวิภาคทำให้ ‖x‖²=d จึงได้นิพจน์ที่สอง โค้ดใช้ d=2 และคำนวณ P=I−Σ⁺Σ ซึ่งเป็นการฉายตั้งฉากบนเคอร์เนลของ Σ ด้วย

แหล่งอ้างอิง: เมทริกซ์ผกผันเทียมหนึ่งตัวอย่าง