ทั้ง PCA และ autoencoder สามารถลดการลดความแปรปรวนได้ดังนั้นอะไรคือความแตกต่างระหว่างพวกเขา ฉันควรใช้อีกตัวหนึ่งในสถานการณ์ใด
ทั้ง PCA และ autoencoder สามารถลดการลดความแปรปรวนได้ดังนั้นอะไรคือความแตกต่างระหว่างพวกเขา ฉันควรใช้อีกตัวหนึ่งในสถานการณ์ใด
คำตอบ:
PCA ถูก จำกัด แผนที่เชิงเส้นในขณะที่ตัวเข้ารหัสอัตโนมัติสามารถมีตัวเข้ารหัส / ตัวถอดรหัสไม่เชิงเส้น
ตัวเข้ารหัสอัตโนมัติเลเยอร์คู่ที่มีฟังก์ชั่นการถ่ายโอนเชิงเส้นเกือบเทียบเท่ากับ PCA ซึ่งเกือบจะหมายความว่าพบโดย AE และ PCA จะไม่เหมือนกัน - แต่พื้นที่ย่อยที่ถูกขยายตามความประสงค์ของ
ในฐานะที่เป็น bayerj ชี้ให้เห็น PCA เป็นวิธีการที่ถือว่าระบบเชิงเส้นที่เป็น Autoencoders (AE) ไม่ หากไม่มีการใช้ฟังก์ชั่นที่ไม่ใช่เชิงเส้นใน AE และจำนวนของเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่มีขนาดที่เล็กกว่านั้นของอินพุตดังนั้น PCA และ AE สามารถให้ผลลัพธ์เดียวกัน ไม่เช่นนั้น AE อาจพบพื้นที่ย่อยอื่น
สิ่งหนึ่งที่ควรทราบคือเลเยอร์ที่ซ่อนอยู่ใน AE สามารถมีมิติที่มากกว่าอินพุท ในกรณีเช่นนี้ AE อาจไม่ทำการลดขนาด ในกรณีนี้เรารับรู้ว่าพวกเขากำลังทำการเปลี่ยนแปลงจากพื้นที่หนึ่งไปยังอีกพื้นที่หนึ่งซึ่งข้อมูลในพื้นที่คุณลักษณะใหม่จะแยกปัจจัยการแปรผัน
เกี่ยวกับคำถามของคุณเกี่ยวกับว่าเลเยอร์หลายชั้นหมายถึงความซับซ้อนที่ไม่ใช่เชิงเส้นในการตอบสนองของคุณกับไบเออร์ "ไม่ซับซ้อนเป็นเชิงเส้น" ซึ่งอาจเป็นจริงขึ้นอยู่กับสิ่งที่คุณหมายถึง อย่างไรก็ตามความลึกนั้นให้ภาพที่ดีกว่า วิธีการจำนวนมากต้องการตัวอย่างจำนวนเท่ากันเท่ากับจำนวนภูมิภาค แต่ปรากฎว่า "เป็นจำนวนมากในภูมิภาคเช่นสามารถกำหนดกับตัวอย่าง" ตามBengio et al, นี่เป็นผลมาจากความซับซ้อนในการเป็นตัวแทนที่เกิดขึ้นจากการเขียนคุณสมบัติที่ต่ำกว่าจากชั้นล่างในเครือข่าย
นี่เหมาะกว่าความคิดเห็น แต่ฉันไม่มีชื่อเสียงเพราะมันจะได้รับคำตอบ
ฉันค่อนข้างสับสนกับแนวคิดเกี่ยวกับคำตอบของ bayerj: การอ่านโครงข่ายประสาทและการวิเคราะห์องค์ประกอบหลัก: การเรียนรู้จากตัวอย่างที่ไม่มี Local Minimaที่จะได้รับการพิสูจน์
'' ในกรณีอัตโนมัติเชื่อมโยง ... และดังนั้นจึงไม่ซ้ำกันทั้งในประเทศและทั่วโลกที่ดีที่สุดแผนที่ W มีการฉายฉากบนพื้นที่ทอดแรก eigenvectors ของ ''
นี่ไม่ใช่พื้นที่สำหรับผู้สื่อข่าวเหมือนกับที่ถูกขยายโดย PCA หรือไม่
คำตอบที่ได้รับการยอมรับในปัจจุบันโดย @bayerj ระบุว่าน้ำหนักของ autoencoder เชิงเส้นครอบคลุมพื้นที่ย่อยเดียวกันกับส่วนประกอบหลักที่พบโดย PCA แต่มันไม่ใช่เวกเตอร์เดียวกัน โดยเฉพาะอย่างยิ่งพวกเขาไม่ได้เป็นพื้นฐานมุมฉาก นี่เป็นความจริงอย่างไรก็ตามเราสามารถกู้คืนส่วนประกอบหลักที่โหลดเวกเตอร์ได้จากตุ้มน้ำหนักอัตโนมัติ นิด ๆ หน่อย ๆ ของโน้ต: ให้เป็นชุดของเวกเตอร์มิติที่เราต้องการในการคำนวณ PCA และให้เป็นเมทริกซ์ที่มีคอลัมน์\จากนั้นเราจะกำหนดตัวเข้ารหัสเชิงเส้นอัตโนมัติเป็นเครือข่ายประสาทชั้นเดียวที่ซ่อนอยู่ซึ่งกำหนดโดยสมการต่อไปนี้:
โดยที่คือเอาท์พุทของ autoencoder (เชิงเส้น) แสดงด้วยหมวกเพื่อเน้นถึงข้อเท็จจริงที่ว่าเอาต์พุตของ autoencoder เป็น "การสร้างใหม่" ของอินพุต โปรดทราบว่าเนื่องจากเป็นเรื่องปกติของ autoencoders เลเยอร์ที่ซ่อนอยู่มีหน่วยน้อยกว่าเลเยอร์อินพุตเช่นและกับ<n
ตอนนี้หลังจากการฝึกอบรม autoencoder เชิงเส้นของคุณคำนวณแรกเวกเตอร์เอกพจน์W_2มันเป็นไปได้ที่จะพิสูจน์ว่าสิ่งเหล่านี้เป็นพาหะเอกพจน์เป็นจริงคนแรกที่ส่วนประกอบหลักของและหลักฐานอยู่ใน Plaut, อีจาก subspaces หลักที่จะมีองค์ประกอบหลักเป็น Linear Autoencoders , Arxiv.org:1804.10253
เนื่องจาก SVD นั้นเป็นอัลกอริธึมที่ใช้กันทั่วไปในการคำนวณ PCA มันอาจไม่มีความหมายเลยที่จะฝึกให้เป็น Linear autoencoder เป็นครั้งแรกและจากนั้นใช้ SVD กับเพื่อกู้คืนจากการโหลดเวกเตอร์แรกแทนการใช้ SVD กับโดยตรง ประเด็นก็คือว่าเป็นเมทริกซ์ในขณะที่เป็นn ตอนนี้ความซับซ้อนของเวลาของ SVD สำหรับคือในขณะที่สำหรับคือด้วยดังนั้นการบันทึกบางอย่างอาจบรรลุผลได้ (แม้ว่าจะไม่ใหญ่เท่าที่ผู้อ้างสิทธิ์ในบทความเชื่อมโยง) แน่นอนว่ายังมีวิธีอื่นที่เป็นประโยชน์มากกว่าในการคำนวณ PCA ของ Big Data (สุ่ม PCA ออนไลน์มาถึงใจ) แต่ประเด็นหลักของความเท่าเทียมกันระหว่าง linear autoencoders เชิงเส้นและ PCA นี้ไม่ใช่การหาวิธีการคำนวณ PCA สำหรับข้อมูลขนาดใหญ่ ชุด: มันเกี่ยวกับการให้เรามีสัญชาตญาณในการเชื่อมต่อระหว่าง autoencoders และวิธีการทางสถิติอื่น ๆ เพื่อลดขนาด