2011-09-07 13 views
7

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जिसमें डेटा का एक चयनित सेट होगा और प्रत्येक डेटा में अलग-अलग विशेषताएं होंगी। मुझे उस डेटा का चयन करने के लिए एक फिटनेस फ़ंक्शन का उपयोग करने की आवश्यकता होगी जो विशेषताओं का उपयोग करके मेरे चुने हुए परिदृश्य से मेल खाती है।एक फिटनेस फ़ंक्शन कैसे करें

हालांकि, मुझे वास्तव में कोई भी साइट नहीं मिलती है जो बताती है कि अपना फिटनेस फ़ंक्शन कैसे शुरू करें। मुझे बस इतना ही पता चला है कि यह जेनेटिक एल्गोरिदम का हिस्सा है और यह मुझे मिला है। तो क्या मुझे यहां कुछ पॉइंटर्स दिए जा सकते हैं?

उत्तर

2

क्या आप वाकई एक फिटनेस फ़ंक्शन चाहते हैं?

जैसा कि आपने कहा था, आनुवांशिक एल्गोरिदम में उपयोग किया जाने वाला स्वास्थ्य कार्य है। वर्तमान जनसंख्या में आपकी समस्या के सभी प्रस्तावित समाधानों की गुणवत्ता का मूल्यांकन करने के लिए इसका उपयोग एल्गोरिदम के प्रत्येक पुनरावृत्ति में किया जाता है। फिटनेस फ़ंक्शन का मूल्यांकन करता है कि आबादी में एक ही समाधान कितना अच्छा है, उदा। यदि आप यह पता लगाने की कोशिश कर रहे हैं कि किसी एक्स-वैल्यू के पास एक जेनेटिक एल्गोरिदम के साथ वाई-न्यूनतम है, तो यूनिट के लिए फिटनेस फ़ंक्शन केवल नकारात्मक वाई-मान (फिटनेस फ़ंक्शन जितना छोटा होगा) हो सकता है।

मैं मूल रूप से कहने की कोशिश कर रहा हूं, फिटनेस फ़ंक्शंस उन विशेषताओं से निपट नहीं पाता है, जो केवल परिणामों का मूल्यांकन करते हैं।

यदि आप विशेषता वाले डेटा का सबसे प्रतिनिधि नमूना चुनना चाहते हैं, तो आपको वर्गीकरण या क्लस्टरिंग विधियों को भी देखना चाहिए? आपने चयनित परिदृश्य का प्रतिनिधित्व करने के तरीके में अधिक जानकारी नहीं दी है, लेकिन हो सकता है कि आप अपना डेटा क्लस्टर कर सकें (आप के-मतलब क्लस्टरिंग एल्गोरिदम का प्रयास कर सकते हैं और क्लस्टर की संख्या में वृद्धि करने की कोशिश कर सकते हैं जब तक वर्गीकरण त्रुटि महत्वपूर्ण रूप से गिरने से रोकती है?) और परिदृश्य आवश्यकता होने के बाद एक प्रतिनिधि डेटा क्लस्टर चुनने से?

यदि आपने डेटा प्रतिनिधित्व के संबंध में प्रश्नों का प्रतिनिधित्व करने के तरीके के बारे में अधिक जानकारी दी है, तो हो सकता है कि आपको किसी से अलग (या बेहतर) उत्तर मिल गया हो।

फिर फिर, यदि आप केवल आनुवांशिक एल्गोरिदम या एआई/मशीन लर्निंग फ़ील्ड के किसी भी अन्य हिस्से को सीखना चाहते हैं, तो आपको वही करना चाहिए जो कि एफएस सुझाए गए हैं और एक पुस्तक, ऑडियो व्याख्यान, उस वर्ग में नामांकन करना चाहते हैं या कुछ समान है।

12

यह जीएएस (अच्छी तरह से, वह और डेटा प्रतिनिधित्व) का कठिन हिस्सा है और वास्तव में आप केवल अनुभव से ही सीख सकते हैं।

स्पष्ट बताते हुए, फ़ंक्शन कुछ ऐसा होना चाहिए जो परिणाम कितने अच्छे हों। विशेष रूप से, इसे डेटा की एक विस्तृत श्रृंखला में चिकनी होना चाहिए - जो कुछ भी डेटा है, आपके फिटनेस फ़ंक्शन को सुधारने का सही तरीका दिखाना है।

तो, उदाहरण के लिए, फिटनेस फ़ंक्शन शून्य है जब तक कि उत्तर सही न हो, कोई अच्छा नहीं है, क्योंकि यह शुरू होने पर आपको सही उत्तर के करीब आने में मदद नहीं करता है।

और एक फिटनेस फ़ंक्शन जो चीजों को बेहतर बनाता है, बढ़ता है, लेकिन यह सबसे अच्छा समाधान नहीं पहचानता है, यह इतना अच्छा नहीं है, क्योंकि आपकी आबादी एक निश्चित बिंदु में सुधार करेगी और फिर अटक जाएंगी।

तो आपको बैठने की जरूरत है, अपने डेटा के कुछ उदाहरण लिखें, और उसके बारे में सोचें कि आप किस प्रकार के फ़ंक्शन का उपयोग कर सकते हैं। आप ऐसा कुछ चाहते हैं जो खराब डेटा के लिए कम मूल्य और अच्छे डेटा के लिए उच्च मूल्य देता है। और यह दोनों के बीच अच्छी तरह से समायोजित करता है।

किसी भी पागल विचार को आजमाएं जिसे आप पहले सोच सकते हैं, और फिर देखें कि आप इसे एक अच्छे गणितीय रूप में कैसे डाल सकते हैं। बस brainstorm और कोशिश कर रहे हैं और पुनरावृत्ति ...आपको शायद पता चलेगा कि आपकी पहली पसंद इतनी अच्छी नहीं है, और एक बार जब आप GA चलाते हैं तो आप अधिक विस्तार से क्या हो रहा है और इसे बेहतर बनाने में सक्षम होंगे।

+0

इससे मुझे लगता है कि हम फिटनेस फ़ंक्शन कितना अच्छा है इसके लिए हम फिटनेस फ़ंक्शन निर्धारित कर सकते हैं! – weltschmerz

संबंधित मुद्दे