การลดมิติข้อมูลคืออะไร? ความแตกต่างระหว่างการเลือกคุณสมบัติและการแยกคืออะไร?


58

จากวิกิพีเดีย

การลดขนาดหรือการลดขนาดเป็นกระบวนการลดจำนวนตัวแปรสุ่มที่พิจารณาและสามารถแบ่งออกเป็นการเลือกคุณลักษณะและการแยกคุณลักษณะ

ความแตกต่างระหว่างการเลือกคุณสมบัติและการแยกคุณสมบัติคืออะไร?

ตัวอย่างของการลดมิติข้อมูลในงานประมวลผลภาษาธรรมชาติคืออะไร

คำตอบ:


51

ใส่เพียง:

  • การเลือกคุณสมบัติ: คุณเลือกชุดย่อยของชุดคุณสมบัติดั้งเดิม ในขณะที่
  • การแยกคุณสมบัติ: คุณสร้างชุดคุณสมบัติใหม่จากชุดคุณสมบัติดั้งเดิม

ตัวอย่างของการแยกฟีเจอร์: การแยกส่วนเว้าในรูปภาพ, การแยกส่วนย่อยจากข้อความ, การแยกหน่วยเสียงจากการบันทึกข้อความที่พูด ฯลฯ

การแยกคุณลักษณะเกี่ยวข้องกับการเปลี่ยนแปลงคุณสมบัติซึ่งมักไม่สามารถย้อนกลับได้เนื่องจากข้อมูลบางอย่างสูญหายไปในกระบวนการลดมิติข้อมูล


2
ทั้งสองอย่างนี้จัดอยู่ในหมวดหมู่ของคุณสมบัติวิศวกรรมเนื่องจากเกี่ยวข้องกับการสร้างหรือเลือกคุณสมบัติด้วยตนเอง การลดขนาดมักจะเกี่ยวข้องกับการเปลี่ยนแปลงของพื้นฐานหรืออื่น ๆ ทางคณิตศาสตร์เป็นตัวแทนของข้อมูล
ragingSloth

1
@ragingSloth ฉันคิดว่าอันแรกคือการเลือกคุณสมบัติแน่นอน - และไม่ใช่วิศวกรรมคุณสมบัติ ในขณะที่ตัวอย่างการประมวลผลภาพและข้อความดูเหมือนจะเป็นงานวิศวกรรมคุณสมบัติ
Alexey Grigorev

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

16

โดยทั่วไปแล้วการลดขนาดจะเลือกพื้นฐานหรือการแสดงทางคณิตศาสตร์ซึ่งคุณสามารถอธิบายความแปรปรวนส่วนใหญ่ แต่ไม่ใช่ทั้งหมดในข้อมูลของคุณซึ่งจะเป็นการรักษาข้อมูลที่เกี่ยวข้องในขณะที่ลดจำนวนข้อมูลที่จำเป็นในการเป็นตัวแทน มีความหลากหลายของเทคนิคในการทำเช่นนี้รวมถึง แต่ไม่ จำกัด อยู่PCA, และICA Matrix Feature Factorizationสิ่งเหล่านี้จะนำข้อมูลที่มีอยู่ไปใช้และลดไปยังองค์ประกอบที่เลือกปฏิบัติมากที่สุดทั้งหมดนี้ช่วยให้คุณสามารถแสดงข้อมูลส่วนใหญ่ในชุดข้อมูลของคุณด้วยคุณลักษณะที่เลือกปฏิบัติน้อยลงและมากขึ้น

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


2
ฉันเห็นด้วยส่วนใหญ่ด้วยความแม่นยำ: การเลือกคุณสมบัติไม่จำเป็นต้องทำด้วยมือมันอาจเป็นไปโดยอัตโนมัติ ดูตัวอย่างวิธี Lasso ( en.wikipedia.org/wiki/Least_squares#Lasso_method )
jrouquie

ฉันเห็นด้วยกับDimensionality Reductionข้อของคุณแต่แตกต่างกันเล็กน้อยในFeature Engineeringการใช้งาน - ซึ่งจากสิ่งที่ฉันเห็นเป็นเพียง Feature Extraction : Feature Selectionถือว่าแยกต่างหาก มันเป็นเพียงความแตกต่างในคำศัพท์
javadba

7

ในการเลือกคุณสมบัติ @damienfrancois คำตอบเป็นเรื่องเกี่ยวกับการเลือกชุดย่อยของคุณสมบัติ ดังนั้นใน NLP จะเป็นการเลือกชุดคำเฉพาะ (โดยทั่วไปใน NLP คือแต่ละคำแทนคุณสมบัติที่มีค่าเท่ากับความถี่ของคำหรือน้ำหนักอื่น ๆ ที่อ้างอิง TF / IDF หรือคล้ายกัน)

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


5

การเลือกคุณสมบัติเป็นการเลือกคุณลักษณะบางอย่างตามคะแนนทางสถิติ แต่การสกัดคุณลักษณะใช้เทคนิคเพื่อดึงข้อมูลเลเยอร์ที่สองจากข้อมูลเช่นความถี่ที่น่าสนใจของสัญญาณโดยใช้การแปลงฟูริเยร์

[x1,...,xn]


ออกจากคำตอบที่มีอยู่นี้การแข่งขันที่ดีที่สุดสิ่งที่ผมเคยเห็นในหลายข้อมูลวิทยาศาสตร์และแพลตฟอร์มการ ML ทีม
javadba

3

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


2

สำหรับการตรวจสอบและคำจำกัดความที่เหมาะสมคุณสามารถดูการลดขนาดและการเลือกตัวแปรในหนังสือการแยกคุณลักษณะพื้นฐานและการ แยกคุณลักษณะของแอปพลิเคชันจะแยกออกเป็นสองขั้นตอน: การสร้างคุณลักษณะและการเลือกคุณสมบัติ


2

A1 การลดขนาดคืออะไร: ถ้าคุณคิดว่าข้อมูลในเมทริกซ์โดยที่แถวเป็นอินสแตนซ์และคอลัมน์เป็นคุณลักษณะ (หรือคุณสมบัติ) การลดขนาดนั้นคือการแมปเมทริกซ์ข้อมูลนี้กับเมทริกซ์ใหม่ที่มีคอลัมน์น้อยลง สำหรับการสร้างภาพถ้าคุณคิดว่าแต่ละเมทริกซ์คอลัมน์ (คุณลักษณะ) เป็นมิติในพื้นที่คุณลักษณะแล้วการลดขนาดที่เป็นภาพของอินสแตนซ์จากพื้นที่มิติที่สูงขึ้น (คอลัมน์เพิ่มเติม) ไปยังพื้นที่ย่อยมิติต่ำ (คอลัมน์น้อยลง) การลดขนาดคือการฉายภาพในพื้นที่ย่อย วัตถุประสงค์ทั่วไปสำหรับการเปลี่ยนแปลงครั้งนี้คือ (1) การเก็บรักษาข้อมูลในเมทริกซ์ข้อมูลในขณะที่ลดความซับซ้อนในการคำนวณ (2) การปรับปรุงความสามารถในการแบ่งแยกของคลาสที่แตกต่างกันในข้อมูล

A2 การลดขนาดเนื่องจากการเลือกคุณสมบัติหรือการแยกคุณสมบัติ: ฉันจะใช้ชุดข้อมูล Iris ที่แพร่หลายซึ่งเป็นเนื้อหา 'สวัสดีโลก' ของวิทยาศาสตร์ข้อมูล ชุดข้อมูล Iris สั้น ๆ มี 3 คลาสและ 4 คุณลักษณะ (คอลัมน์) ฉันจะแสดงให้เห็นถึงการเลือกคุณสมบัติและการแยกสำหรับงานการลดชุดข้อมูลของ Iris จาก 4 เป็น 2

ฉันคำนวณความแปรปรวนร่วมแบบคู่ที่ชาญฉลาดของชุดข้อมูลนี้โดยใช้ไลบรารีใน Python ชื่อ seaborn รหัสคือ: sns.pairplot (ไอริส, ฮิว = "สปีชีส์", เครื่องหมาย = ["o", "s", "D"]) รูปที่ฉันได้รับคือ ไอริสคู่ - พล็อต ฉันสามารถเลือกคู่ของคุณลักษณะ (2 มิติ) ที่ให้ ฉันแยกที่ยิ่งใหญ่ที่สุดระหว่าง 3 คลาส (สปีชีส์) ในชุดข้อมูลของ Iris นี่จะเป็นกรณีของการเลือกคุณลักษณะ

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

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


1

สกัดจากการเรียนรู้ด้วยเครื่องบนมือด้วย scikit-learn & Tensorflow

  1. การทำความสะอาดข้อมูล: แก้ไขหรือลบค่าผิดปกติ (ไม่บังคับ) เติมค่าที่หายไป (เช่นมีศูนย์, ค่าเฉลี่ย, มัธยฐาน…) หรือวางแถว (หรือคอลัมน์)
  2. การเลือกคุณสมบัติ (เป็นทางเลือก): วางคุณลักษณะที่ไม่มีข้อมูลที่เป็นประโยชน์สำหรับงาน
  3. คุณสมบัติวิศวกรรมตามความเหมาะสม: แยกคุณลักษณะต่อเนื่องออก คุณสมบัติการสลายตัว (เช่นหมวดหมู่วันที่ / เวลา ฯลฯ ) เพิ่มคุณสมบัติการแปลงที่มีแนวโน้ม (เช่น log (x), sqrt (x), x ^ 2, ฯลฯ ) รวมคุณสมบัติต่างๆเข้ากับคุณสมบัติใหม่ที่มีแนวโน้ม
  4. การปรับคุณสมบัติ: สร้างมาตรฐานหรือปรับคุณสมบัติให้เป็นมาตรฐาน

0

โดยเฉพาะอย่างยิ่งคำตอบที่ยอดเยี่ยมที่นี่โดยเฉพาะคำตอบของ @ damienfrancois รวบรัดรวบยอดความคิดทั่วไป

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

ฉันเขียนบทความในหัวข้อนี้ซึ่งมีรายละเอียดมากขึ้นพร้อมตัวอย่างมากมายที่นี่: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/


0

ให้ฉันเริ่มต้นด้วยลำดับย้อนกลับซึ่งการแยกคุณลักษณะและทำไมต้องมีการเลือกคุณสมบัติและการลดขนาด

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

การแยกคุณลักษณะตามชื่อแนะนำให้ตั้งเป้าหมายข้อมูลคือการหารูปแบบพื้นฐาน รูปแบบพื้นฐานนี้ซึ่งเป็นคำที่เป็นคุณสมบัติที่สอดคล้องกับข้อมูลนั้น มีวิธีการต่าง ๆ ที่มีอยู่สำหรับการแยกคุณลักษณะเช่น Support Vector Machine (SVM)

ตอนนี้การแยกคุณลักษณะควรสร้างคุณสมบัติที่ควรเป็น

  • แข็งแรง
  • จำแนก
  • ชุดคุณสมบัติที่เหมาะสมที่สุด

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

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

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


-3

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


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