PCA ถือว่าเป็นขั้นตอนวิธีการเรียนรู้ของเครื่องหรือไม่


10

ฉันเข้าใจว่าการวิเคราะห์องค์ประกอบหลักคือเทคนิคการลดขนาดเช่นได้รับคุณสมบัติการป้อนข้อมูล 10 ประการมันจะสร้างฟีเจอร์อิสระจำนวนน้อยซึ่งเป็นการเปลี่ยนมุมฉากและเชิงเส้นของคุณสมบัติดั้งเดิม

คือPCAด้วยตัวเองถือเป็นขั้นตอนวิธีการเรียนรู้หรือมันเป็นขั้นตอนข้อมูลก่อนการประมวลผล

คำตอบ:


9

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

แก้ไข:

เนื่องจากคำตอบของฉันถูกเลือก (ไม่รู้ว่าทำไม) ฉันจึงคิดว่าฉันจะเพิ่มการติดตามเพิ่มเติม

PCA ทำสองสิ่งที่เทียบเท่า ครั้งแรกและสิ่งที่ถูกเรียกโดยทั่วไปจะช่วยเพิ่มความแปรปรวน ประการที่สองมันลดข้อผิดพลาดในการสร้างใหม่โดยดูที่ระยะทางแบบคู่

โดยการดูที่ eigenvector และค่าลักษณะเฉพาะมันค่อนข้างง่ายที่จะอนุมานว่าตัวแปรและคุณลักษณะใดบ้างที่มีส่วนทำให้เกิดความแปรปรวนและวิธีที่ตัวแปรต่าง ๆ เคลื่อนที่ร่วมกับผู้อื่น

ในท้ายที่สุดมันขึ้นอยู่กับว่าคุณนิยาม "การเรียนรู้" จริงๆ PCA เรียนรู้พื้นที่ฟีเจอร์ใหม่ที่จับลักษณะของพื้นที่ดั้งเดิม ฉันมักจะคิดว่ามีความหมาย

มันซับซ้อนหรือไม่ ไม่ไม่จริง แต่มันลดขนาดลงเป็นอัลกอริทึมหรือไม่? ไม่ฉันไม่คิดอย่างนั้น


3
ฉันรู้สึกว่าคำตอบนี้เป็นความคิดเห็นที่แท้จริงและไม่ได้โต้แย้ง อาจทำอย่างละเอียดรวมและรับทราบจุดที่คนอื่นทำ
Hobbes

15

PCA เป็นเพียงการหมุน อย่างจริงจังนั่นคือทั้งหมด: มันเป็นวิธีที่ชาญฉลาดในการหมุนข้อมูลไปยังพื้นฐานใหม่ พื้นฐานนี้มีคุณสมบัติที่ทำให้มีประโยชน์เป็นขั้นตอนการประมวลผลล่วงหน้าสำหรับหลายขั้นตอน

  1. พื้นฐานคือorthonormal สิ่งนี้มีประโยชน์อย่างไม่น่าเชื่อหากคุณสมบัติของคุณมีความหลากหลายทางชีวภาพ (คุณสมบัติสองอย่างหรือมากกว่านั้นขึ้นอยู่กับแบบเส้นตรง): รับประกันการใช้ PCA เพื่อให้พื้นฐานที่ไม่มีปัญหาอีกต่อไป ขั้นตอนนี้เรียกว่าการถดถอยองค์ประกอบหลัก

  2. เวกเตอร์พื้นฐานมีความหมายเกี่ยวกับการแพร่กระจายของข้อมูล: พวกเขาเป็น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 เป็น "อัลกอริทึมการเรียนรู้ของเครื่องหรือไม่" ถ้าไม่เช่นนั้นคุณควรเตรียมพร้อมที่จะพูดเรื่องเดียวกันเกี่ยวกับการกรองการทำงานร่วมกันการสร้างแบบจำลองหัวข้อการตรวจจับชุมชนการรวมศูนย์เครือข่าย

เพียงเพราะมันเป็นพีชคณิตเชิงเส้นธรรมดาไม่ได้หมายความว่ามันไม่ใช่เวทมนต์


6

แน่นอนว่าไม่ใช่อัลกอริทึมการเรียนรู้เนื่องจากคุณไม่ได้เรียนรู้อะไรใน PCA อย่างไรก็ตามมันสามารถใช้ในอัลกอริทึมการเรียนรู้ที่แตกต่างกันเพื่อให้ได้ประสิทธิภาพที่ดีขึ้นในความเป็นจริงชอบวิธีการลดขนาดอื่น ๆ


4

PCA ใช้เพื่อกำจัดคุณสมบัติที่ซ้ำซ้อน พบทิศทางที่มีการกระจายข้อมูลสูงไม่สนใจเกี่ยวกับเลเบลของข้อมูลเนื่องจากเป็นโปรเจ็กต์ที่แสดงข้อมูลในแง่ที่น้อยที่สุด การวิเคราะห์จำแนกหลายประการMDAพยายามค้นหาการคาดการณ์ที่แยกข้อมูลได้ดีที่สุด หลังจะพิจารณาป้ายกำกับและค้นหาเส้นทางที่ข้อมูลสามารถแยกออกได้ดีที่สุดแม้ว่าจะมีรายละเอียดบางอย่างเกี่ยวกับประเภทของการตัดสินใจที่พบ การสรุปPCAไม่ใช่วิธีการเรียนรู้ มันเพียงแค่พยายามค้นหาเส้นทางที่มีการกระจายข้อมูลสูงเพื่อกำจัดคุณลักษณะที่สัมพันธ์กัน วิธีการที่คล้ายกันเช่นMDAพยายามค้นหาเส้นทางเพื่อจัดประเภทข้อมูล แม้ว่าจะMDAเป็นเช่นนั้นมากPCAแต่เดิมใช้สำหรับการจัดหมวดหมู่โดยจะพิจารณาฉลาก แต่ไม่ใช้สำหรับการจัดประเภทโดยตรง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.