PCA เป็นเพียงการหมุน อย่างจริงจังนั่นคือทั้งหมด: มันเป็นวิธีที่ชาญฉลาดในการหมุนข้อมูลไปยังพื้นฐานใหม่ พื้นฐานนี้มีคุณสมบัติที่ทำให้มีประโยชน์เป็นขั้นตอนการประมวลผลล่วงหน้าสำหรับหลายขั้นตอน
พื้นฐานคือorthonormal สิ่งนี้มีประโยชน์อย่างไม่น่าเชื่อหากคุณสมบัติของคุณมีความหลากหลายทางชีวภาพ (คุณสมบัติสองอย่างหรือมากกว่านั้นขึ้นอยู่กับแบบเส้นตรง): รับประกันการใช้ PCA เพื่อให้พื้นฐานที่ไม่มีปัญหาอีกต่อไป ขั้นตอนนี้เรียกว่าการถดถอยองค์ประกอบหลัก
เวกเตอร์พื้นฐานมีความหมายเกี่ยวกับการแพร่กระจายของข้อมูล: พวกเขาเป็นeigenvectorsของเมทริกซ์ความแปรปรวน คุณสมบัติที่สองนี้ก่อให้เกิดยูทิลิตี้ที่มีชื่อเสียงของ PCA ในฐานะเทคนิคการลดขนาด: หลังจากหมุนข้อมูลแล้วฉายข้อมูลลงบนเซตย่อยของเวกเตอร์พื้นฐานที่เกี่ยวข้องกับส่วนสำคัญของความแปรปรวนทั้งหมดทำให้ได้มิติที่ต่ำกว่า ส่วนใหญ่) คุณสมบัติโครงสร้าง (น่าสนใจ) ของข้อมูล
ดังนั้น: มันเป็นอัลกอริทึมการเรียนรู้หรือไม่? นี่เป็นคำถามเชิงปรัชญา อะไรทำให้อัลกอริทึมการเรียนรู้เป็นอย่างไร แน่นอนว่า PCA ไม่ใช่อัลกอริทึมการเรียนรู้แบบ "ภายใต้การดูแล" เนื่องจากเราสามารถทำได้โดยมีหรือไม่มีตัวแปรเป้าหมายและโดยทั่วไปเราจะเชื่อมโยงเทคนิค "ไม่ได้รับอนุญาต" กับการจัดกลุ่ม
ใช่ PCA เป็นขั้นตอนการประมวลผลล่วงหน้า แต่ก่อนที่คุณจะเขียนมันออกมาอย่างสมบูรณ์โดยที่ไม่ใช่สิ่งที่ "เรียนรู้" ฉันอยากให้คุณพิจารณาสิ่งต่อไปนี้: PCA สามารถคำนวณได้โดยการใช้ eigenvectors ของเมทริกซ์ความแปรปรวนร่วม แต่นี่ไม่ใช่วิธีการทั่วไป กระบวนการเชิงตัวเลขที่เทียบเท่าและมีประสิทธิภาพมากขึ้นคือการใช้SVDของข้อมูล ดังนั้น PCA จึงเป็นแอปพลิเคชั่นเฉพาะของ SVD ดังนั้นการถามว่า PCA เป็นอัลกอริทึมการเรียนรู้ถามจริง ๆ หรือไม่ว่า SVD เป็นอัลกอริทึมการเรียนรู้หรือไม่
ตอนนี้ถึงแม้ว่าคุณอาจจะรู้สึกว่าการเขียนที่สบายออก PCA ที่จะไม่ขั้นตอนวิธีการเรียนรู้ที่นี่เป็นเหตุผลที่คุณควรจะสะดวกสบายน้อยทำแบบเดียวกันกับ SVD: มันเป็นวิธีการที่มีประสิทธิภาพที่น่าแปลกใจสำหรับการสร้างแบบจำลองหัวข้อและการกรองการทำงานร่วมกัน คุณสมบัติของ SVD ที่ทำให้มีประโยชน์สำหรับแอปพลิเคชันเหล่านี้เป็นคุณสมบัติเดียวกันที่ทำให้มีประโยชน์สำหรับการลดขนาด (เช่น PCA)
SVD เป็นลักษณะทั่วไปของ eigendecomposition และนั่นก็มีประสิทธิภาพมากเช่นเดียวกับ SVD รุ่นที่มีข้อ จำกัด คุณสามารถทำการตรวจจับชุมชนบนกราฟโดยดูที่ eigenvector ของ adjacency matrix หรือตรวจสอบความน่าจะเป็นของสถานะคงที่ของแบบจำลองมาร์คอฟโดยดูที่ eigenvectors ของทรานซิชันเมทริกซ์ซึ่งบังเอิญเป็นวิธีคำนวณPageRank
ภายใต้ประทุน PCA กำลังดำเนินการพีชคณิตเชิงเส้นอย่างง่าย แต่นี่เป็นการดำเนินการเดียวกันกับที่มีแอพพลิเคชั่นมากมายที่คนส่วนใหญ่ไม่ถามด้วยการใช้ฉลาก "machine learning" ระดับของขั้นตอนวิธีนี้เรียกว่าเมทริกซ์ตัวประกอบและยังขยายไปถึงเทคนิคที่ซับซ้อนเช่นword2vec : แน่นอนคุณจะได้รับจริง word2vec เหมือนผลการค้นหาตามตัวอักษรเพียงใช้ PCA จะเป็นคำร่วม occrrence เมทริกซ์ Generalizing อีกครั้งคำว่าผลของการ PCA อีกเป็นฝัง Word2vec อาจเป็นตัวอย่างที่มีชื่อเสียงที่สุดของการฝัง แต่การสร้าง embeddings (เป็นตัวกลาง) ก็เป็นองค์ประกอบที่สำคัญของสถาปัตยกรรมตัวเข้ารหัส - ถอดรหัสที่ใช้ในRNNและGANซึ่งเป็นส่วนหนึ่งของการวิจัย ML ตอนนี้
กลับไปที่คำถามของคุณ: PCA เป็น "อัลกอริทึมการเรียนรู้ของเครื่องหรือไม่" ถ้าไม่เช่นนั้นคุณควรเตรียมพร้อมที่จะพูดเรื่องเดียวกันเกี่ยวกับการกรองการทำงานร่วมกันการสร้างแบบจำลองหัวข้อการตรวจจับชุมชนการรวมศูนย์เครือข่าย
เพียงเพราะมันเป็นพีชคณิตเชิงเส้นธรรมดาไม่ได้หมายความว่ามันไม่ใช่เวทมนต์