การเลือกพารามิเตอร์สำหรับขั้นตอนวิธีเชิงพันธุกรรม


9

เราจะเลือกจำนวนพารามิเตอร์ที่เหมาะสมสำหรับอัลกอริธึมทางพันธุกรรมเพื่อสร้างแบบจำลองระบบที่กำหนดได้อย่างไร?

ตัวอย่างเช่นสมมติว่าคุณต้องการเพิ่มประสิทธิภาพการผลิตรถยนต์และคุณมี 1,000 วัดประสิทธิภาพต่อชั่วโมงในงานต่าง ๆ สำหรับพนักงาน 1,000 คนที่แตกต่างกัน ดังนั้นคุณมี 1,000,000 จุดข้อมูล ส่วนใหญ่เหล่านี้มีแนวโน้มที่จะมีความสัมพันธ์ที่ไม่ค่อยจะประสิทธิภาพโดยรวมของโรงงานของคุณ แต่ไม่ได้จึงไม่ค่อยที่คุณสามารถพูดได้ว่าพวกเขาจะไม่เกี่ยวข้องกับความเชื่อมั่นทางสถิติ คุณจะเลือกอินพุตสำหรับ GA ของคุณอย่างไรเพื่อที่คุณจะได้ไม่ต้องมีอิสระ 1,000,000+ องศาทำให้เกิดการลู่เข้าที่ช้ามากหรือไม่มีการลู่เข้าเลย

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

วิธีการหนึ่งที่ฉันได้ใช้ตัวเองอยู่ในสถานการณ์นี้จะพัฒนาตัวเลือกพารามิเตอร์ตัวเองดังนั้นผมอาจจะมีพ่อแม่เหมือน{a,b,c}, {b,d,e,q,x,y,z}และอื่น ๆ ฉันจะทำให้เด็กกลายพันธุ์เพื่อเพิ่มหรือลดคุณสมบัติ ใช้งานได้ดีกับคุณสมบัติโหล แต่ปัญหาคือว่ามันไม่มีประสิทธิภาพถ้ามีองศาอิสระจำนวนมาก ในกรณีนี้คุณกำลังดู10^nชุดค่าผสม (ในตัวอย่างด้านบน10^1,000,000) ซึ่งทำให้การกรองคุณสมบัติบางอย่างมีความสำคัญอย่างยิ่งเพื่อให้ได้ประสิทธิภาพที่มีประโยชน์

คำตอบ:


11

ครั้งแรกของทั้งหมด - ตัวอย่างที่ดูเหมือนจะไม่เหมาะเพราะคุณอาจจะใช้วิธีการถดถอยหรือคลาสสิก ML เพื่อแก้ปัญหานี้ ประการที่สอง - คุณกำลังอ้างถึงปัญหาทั่วไปของการเลือกคุณสมบัติ (Kira, Rendell, 1992)หรือการเลือกคุณลักษณะ (Hall, Holmes, 2003)หรือการเลือกตัวแปร (Guyon, Elisseeff, 2003)หรือการเลือกชุดย่อยตัวแปร (Stecking, Schebesch, 2005)หรือการแยกคุณลักษณะ (Hillion, Masson, Roux, 1988)หรือการลดขนาด (Roweis, Saul, 200)หรือนามธรรม (Amarel, 1968). ปัญหานี้เกี่ยวข้องกับอัลกอริธึมทางพันธุกรรมไม่เพียง แต่สำหรับเทคนิคการเรียนรู้ด้วยเครื่องจักรเกือบทั้งหมดเมื่อจัดการกับข้อมูลมิติสูง

สามารถแยกความแตกต่างได้สามกรณีที่นี่: อินสแตนซ์สุดท้ายของปัญหานี้ที่รู้จักกันในชื่อนามธรรมของรัฐมักจะเกี่ยวข้องกับการสร้างแบบจำลองกระบวนการ (ซึ่งเหมาะกับตัวอย่างของคุณ แต่ไม่ใช่บริบท GA) สามตัวแรกคือการเลือกคุณลักษณะ , เลือกแอตทริบิวต์หรือเลือกตัวแปรที่ดูเหมือนจะเกี่ยวข้องมากที่สุดเมื่อถ่ายคำถามของคุณอย่างแท้จริง ในบริบทนี้วิธีการแก้ปัญหาที่พบบ่อยคือวิธี mrmr (Peng, ลอง, Ding, 2005) จากประสบการณ์ของฉันมันไม่ได้ทำงานได้ดีกับข้อมูลอย่างต่อเนื่อง - อย่างไรก็ตามข้อมูลร่วมสามารถถูกแทนที่ด้วยค่าสัมประสิทธิ์อื่น ๆ เช่นความสัมพันธ์เช่น อีกวิธีที่เป็นไปได้คือการใช้การตรวจสอบข้าม(Picard, Cook, 1984)สำหรับสิ่งนี้. คุณสามารถมีหลายรุ่นแต่ละรุ่นโดยใช้คุณสมบัติที่แตกต่างกันและโดยการเลือกรุ่นด้วยเทคนิคการตรวจสอบข้ามคุณเลือกรุ่นที่ดีที่สุดซึ่งจะให้ข้อมูลเกี่ยวกับคุณลักษณะที่ทำงานได้ดีที่สุดสำหรับงานที่กำหนด

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

โปรดทราบว่ามีหลายรุ่นที่จัดการงานดึงคุณสมบัติด้วยตนเอง ตัวอย่างบางส่วน: การเจริญเติบโตประสาทแก๊สเครือข่าย(Fritzke, 1995) , เชือก(Tibshirani 2011) , RFE SVM (เซง, เฉิน, เต่า, 2009) , ต้นไม้ตัดสินใจ(ควินแลน, 1986)

อ้างอิง:


3

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

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