ฉันสับสนเกี่ยวกับการฟอกสีฟันแบบ ZCA และการฟอกสีฟันปกติ (ซึ่งได้มาจากการหารส่วนประกอบหลักด้วยค่ารากที่สองของค่าลักษณะ PCA) เท่าที่ฉันรู้,
ZCA Whitening มีประโยชน์อะไรบ้าง? อะไรคือความแตกต่างระหว่างการฟอกสีฟันปกติและการฟอกสีฟันแบบ ZCA?
ฉันสับสนเกี่ยวกับการฟอกสีฟันแบบ ZCA และการฟอกสีฟันปกติ (ซึ่งได้มาจากการหารส่วนประกอบหลักด้วยค่ารากที่สองของค่าลักษณะ PCA) เท่าที่ฉันรู้,
ZCA Whitening มีประโยชน์อะไรบ้าง? อะไรคือความแตกต่างระหว่างการฟอกสีฟันปกติและการฟอกสีฟันแบบ ZCA?
คำตอบ:
ให้ข้อมูลของคุณ (กึ่งกลาง) ถูกเก็บไว้ใน matrixพร้อมคุณสมบัติ (ตัวแปร) ในคอลัมน์และจุดข้อมูลในแถว ให้ความแปรปรวนเมทริกซ์มี eigenvectors ในคอลัมน์ของและค่าลักษณะเฉพาะบนเส้นทแยงมุมของเพื่อให้E
จากนั้นสิ่งที่คุณเรียกว่า "ปกติ" การแปลงไวท์เทนนิ่ง PCA จะได้รับโดยดูคำตอบของฉันในวิธีทำให้ข้อมูลขาวขึ้นโดยใช้ การวิเคราะห์องค์ประกอบหลัก?
อย่างไรก็ตามการเปลี่ยนแปลงการฟอกสีฟันนี้ไม่ได้เป็นเอกลักษณ์ ข้อมูลขาวจะคงขาวหลังจากการหมุนใด ๆ ซึ่งหมายความว่ากับเมทริกซ์มุมฉากก็จะเป็นการเปลี่ยนสีฟัน ในสิ่งที่เรียกว่า ZCA ไวท์เทนนิ่งเรารับ (ซ้อนกัน eigenvectors ของเมทริกซ์ความแปรปรวนร่วม) เป็นเมทริกซ์มุมฉากนี้คือ
หนึ่งคุณสมบัติที่กำหนดของการแปลง ZCA ( บางครั้งเรียกว่า "การเปลี่ยนแปลง Mahalanobis") คือมันส่งผลให้ข้อมูลสีขาวที่ใกล้เคียงกับข้อมูลต้นฉบับมากที่สุด กล่าวอีกนัยหนึ่งถ้าคุณต้องการย่อภายใต้เป็นสีขาวคุณควรใช้{} นี่คือภาพประกอบ 2D:
แผนย่อยด้านซ้ายแสดงข้อมูลและแกนหลัก สังเกตการแรเงาสีเข้มที่มุมบนขวาของการแจกแจง: มันเป็นเครื่องหมายของการวางแนว แถวของแสดงขึ้นในส่วนย่อยที่สอง: นี่คือเวกเตอร์ที่ข้อมูลถูกคาดการณ์ไว้ หลังจากการฟอกสีฟัน (ด้านล่าง) การกระจายตัวดูกลม แต่สังเกตว่ามันหมุนแล้วด้วย - มุมมืดอยู่ทางด้านตะวันออกไม่ใช่ด้านตะวันออกเฉียงเหนือ แถวของจะแสดงในส่วนย่อยที่สาม (โปรดทราบว่าพวกเขาไม่ใช่ orthogonal!) หลังจากการฟอกสีฟัน (ด้านล่าง) การกระจายจะดูกลมและมีการปรับในลักษณะเดียวกับที่เดิม แน่นอนหนึ่งจะได้รับจาก PCA ขาวข้อมูลไปยัง ZCA ขาวข้อมูลโดยการหมุนด้วยE
ดูเหมือนว่าคำว่า "ZCA" จะถูกนำมาใช้ในBell และ Sejnowski 1996ในบริบทของการวิเคราะห์องค์ประกอบอิสระและย่อมาจาก "การวิเคราะห์องค์ประกอบ zero-phase" ดูที่นั่นสำหรับรายละเอียดเพิ่มเติม ส่วนใหญ่คุณจะเจอคำศัพท์นี้ในบริบทของการประมวลผลภาพ ปรากฎว่าเมื่อนำไปใช้กับภาพธรรมชาติจำนวนมาก (พิกเซลเป็นคุณสมบัติภาพแต่ละภาพเป็นจุดข้อมูล) แกนหลักมีลักษณะเหมือนองค์ประกอบฟูริเยร์ที่เพิ่มความถี่ดูคอลัมน์แรกของรูปที่ 1 ด้านล่าง ดังนั้นพวกเขาจึงเป็น "โลก" มาก ในทางกลับกันแถวของการแปลง ZCA มีลักษณะ "ท้องถิ่น" มากดูคอลัมน์ที่สอง นี่เป็นสิ่งที่แม่นยำเนื่องจาก ZCA พยายามแปลงข้อมูลให้น้อยที่สุดเท่าที่จะเป็นไปได้ดังนั้นแต่ละแถวควรใกล้เคียงกับฟังก์ชั่นพื้นฐานดั้งเดิมมากกว่าหนึ่งอัน และนี่เป็นไปได้ที่จะบรรลุ
ปรับปรุง
ตัวอย่างเพิ่มเติมของตัวกรอง ZCA และรูปภาพที่แปลงด้วย ZCA มีให้ในKrizhevsky, 2009, การเรียนรู้คุณลักษณะหลายเลเยอร์จากรูปภาพขนาดเล็กดูตัวอย่างในคำตอบของ @ bayerj (+1)
ฉันคิดว่าตัวอย่างเหล่านี้ให้แนวคิดว่าเมื่อใดที่ ZCA ไวท์เทนนิ่งอาจจะดีกว่า PCA กล่าวคือรูปภาพที่ขาวขึ้น ZCA ยังคงคล้ายกับภาพปกติในขณะที่รูปภาพที่ขาวขึ้น PCA นั้นไม่เหมือนกับภาพปกติ นี่อาจเป็นสิ่งสำคัญสำหรับอัลกอริทึมเช่นโครงข่ายประสาทเทียม (เช่นที่ใช้ในกระดาษของ Krizhevsky) ซึ่งใช้พิกเซลใกล้เคียงกันและพึ่งพาคุณสมบัติของภาพธรรมชาติในท้องถิ่นเป็นอย่างมาก สำหรับอัลกอริทึมการเรียนรู้ของเครื่องอื่น ๆ ส่วนใหญ่มันไม่ควรอย่างยิ่งว่าข้อมูลนั้นจะขาวกับ PCA หรือ ZCA
ได้รับ Eigendecomposition ของเมทริกซ์ความแปรปรวน โดยที่เป็นเมทริกซ์แนวทแยงของ Eigenvalues รีสอร์ตไวท์เทนนิ่งธรรมดาเพื่อแปลงข้อมูลให้เป็นพื้นที่ที่เมทริกซ์ความแปรปรวนร่วมเป็นเส้นทแยงมุม: (ด้วยการใช้สัญลักษณ์บางอย่าง) นั่นหมายความว่าเราสามารถเบี่ยงเบนความแปรปรวนร่วมได้โดยการเปลี่ยนข้อมูลตาม
นี่คือการฟอกสีฟันธรรมดาด้วย PCA ตอนนี้ ZCA ทำสิ่งที่แตกต่าง - เพิ่ม epsilon ขนาดเล็กลงใน Eigenvalues และแปลงข้อมูลกลับ นี่คือรูปภาพบางส่วนจากชุดข้อมูล CIFAR ก่อนและหลัง ZCA
ก่อน ZCA:
หลังจาก ZCA ด้วย
หลังจาก ZCA ด้วย
สำหรับข้อมูลการมองเห็นข้อมูลความถี่สูงมักจะอยู่ในพื้นที่ที่ถูกขยายโดยค่าลักษณะเฉพาะที่ต่ำกว่า ดังนั้น ZCA เป็นวิธีในการเสริมความแข็งแกร่งเหล่านี้นำไปสู่การมองเห็นขอบ ฯลฯ