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

การทำให้เป็นบรรทัดฐานแบบกลุ่ม

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

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

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

การปรับมาตรฐานชุดข้อมูล · อธิบายการปรับมาตรฐานชุดข้อมูลและอนุพันธ์

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

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

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

ใช้ในส่วนต้นฉบับเหล่านี้: 6.4 ปรับตัวเลขให้เทียบกันได้

หาค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของชุด ลบค่าเฉลี่ย หารด้วยส่วนเบี่ยงเบนมาตรฐาน แล้วปรับมาตราส่วนและเลื่อนค่า

การทำให้เป็นบรรทัดฐานเปลี่ยนมาตราส่วนของชุดก่อนการคำนวณถัดไป

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

BNb(β,γ)(y)≔γ y−μbσb+β,y∈Rn,เมื่อมีμb=1m∑i=1my(i)และσb2=1m∑i=1m(y(i)−μb)2,\mathrm{BN}_{{b}}^{(\beta,\gamma)}(y)\coloneqq\gamma\,\frac{y-\mu_{b}}{\sigma_{b}}+\beta,\quad y\in{\mathbb{R}}^{n},\quad\text{เมื่อมี}\quad\mu_{b}=\frac{1}{m}\sum_{i=1}^{m}y^{(i)}\quad\text{และ}\quad\sigma_{b}^{2}=\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}-\mu_{b})^{2},

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

สัญลักษณ์

μbμ_b
ค่าเฉลี่ยของชุด
σbσ_b
ส่วนเบี่ยงเบนมาตรฐานของชุด ซึ่งต้องไม่เป็นศูนย์เมื่อใช้หาร
β,γβ,γ
ค่าเลื่อนและมาตราส่วนจำนวนจริง

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

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

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

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

คุณเลือก

  • input.gamma = 1
  • input.y = 2
  • input.beta = 0

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

  • batch = [1, 2, 3]

คำนวณที่นี่

นิพจน์ผลลัพธ์: { mean, variance, standardDeviation, normalized: (input.gamma * (input.y - mean)) / standardDeviation + input.beta, }

  • mean = batch.reduce((a, b) => a + b, 0) / batch.length ใช้: batch
  • variance = batch.reduce((a, y) => a + (y - mean) ** 2, 0) / batch.length ใช้: batch, mean
  • standardDeviation = Math.sqrt(variance) ใช้: variance

ส่งกลับ

ผลลัพธ์ตัวอย่าง
mean
2
variance
≈0.6667
standardDeviation
≈0.8165
normalized
0

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

ผลลัพธ์

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

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

ตัวอย่างใช้สูตรต้นฉบับโดยไม่เพิ่มเอปซิลอน และปฏิเสธส่วนเบี่ยงเบนมาตรฐานศูนย์ ต้นฉบับยังอธิบายชุดค่าเวกเตอร์ ส่วนตัวอย่างนี้แสดงหนึ่งพิกัด

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