Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การลดมิติ (Dimensionality Reduction) คืออะไร?

ในการลดมิติ (Dimensionality Reduction) ใช้การเข้ารหัสหรือการแปลงข้อมูล (Data Encoding/Transformations) เพื่อให้ได้การแสดงข้อมูลที่ลดรูปหรือ "บีบอัด" (Compressed Representation) ของข้อมูลต้นฉบับ หากข้อมูลต้นฉบับสามารถสร้างคืนจากข้อมูลที่บีบอัดได้โดยไม่มีการสูญเสียข้อมูล เรียกว่า Lossless (ไม่สูญเสีย) หากข้อมูลที่สร้างคืนเป็นเพียงค่าประมาณการ เรียกว่า Lossy (สูญเสีย)

วิธีการลดแบบ Lossy สองวิธี

1. การแปลงเวฟเลต (Wavelet Transforms)

การแปลงเวฟเลตแบบไม่ต่อเนื่อง (DWT) เป็นเทคนิคประมวลผลสัญญาณเชิงเส้น ที่เมื่อนำไปใช้กับเวกเตอร์ข้อมูล X จะแปลงเป็นเวกเตอร์ X' ของสัมประสิทธิ์เวฟเลต (Wavelet Coefficients) สองเวกเตอร์มีความยาวเท่ากัน เมื่อใช้สำหรับลดข้อมูล แต่ละทูเพิลถือเป็นเวกเตอร์ข้อมูล n มิติ X = (x₁, x₂, ..., xₙ) แสดงการวัด n ครั้งจาก n แอตทริบิวต์ของฐานข้อมูล

DWT เกี่ยวข้องกับการแปลงฟูรีเยแบบไม่ต่อเนื่อง (DFT) ซึ่งใช้ไซน์และโคไซน์ โดยทั่วไป DWT ให้การบีบอัด Lossy ดีกว่า คือ ถ้าเก็บจำนวนสัมประสิทธิ์เท่ากัน DWT จะให้การประมาณค่าที่แม่นยำกว่า DFT ดังนั้นสำหรับการประมาณค่าเทียบเท่า DWT ต้องการพื้นที่น้อยกว่า

การแปลงเวฟเลตใช้กับข้อมูลหลายมิติ (Multidimensional Data) รวมถึง Data Cube ได้ โดยนำไปใช้ตามมิติแรก มิติที่สอง ตามลำดับ ความซับซ้อนทางคำนวณเป็นเชิงเส้นต่อจำนวนเซลล์ใน Cube

ข้อดี: ให้ผลดีกับข้อมูลแหลก (Sparse) หรือข้อมูลเอียง (Skewed) และข้อมูลที่มีลำดับ การบีบอัด Lossy ด้วย Wavelet ดีกว่า JPEG (มาตรฐานปัจจุบัน) ใช้ในการบีบอัดรูปมือ, Computer Vision, วิเคราะห์ข้อมูลอนุกรมเวลา (Time-series), ทำความสะอาดข้อมูล

2. การวิเคราะห์องค์ประกอบหลัก (Principal Component Analysis - PCA)

PCA เรียกอีกอย่างว่า วิธี Karhunen-Loeve (K-L Method) ค้นหาเวกเตอร์ตั้งฉาก n มิติ k ตัว ที่แสดงข้อมูลได้ดีที่สุด (k ≤ n) ข้อมูลต้นฉบับถูกฉายลงพื้นที่เล็กกว่ามาก ทำให้เกิดการลดมิติ PCA รวมความเป็นหัวใจของแอตทริบิวต์โดยสร้างชุดตัวแปรเล็กกว่า ข้อมูลต้นฉบับจึงฉายลงชุดเล็กนี้ได้