हाइपरऑप्ट के साथ मॉडल ट्यूनिंग को स्वचालित कैसे करें
क्या आपको मॉडल ट्यूनिंग पसंद है? यदि आपका उत्तर "हाँ" है, तो यह पोस्ट है नहीं तुम्हारे लिए।
इस ब्लॉग में हम अत्यंत लोकप्रिय स्वचालित हाइपरपैरामीटर ट्यूनिंग एल्गोरिथम को कवर करेंगे वृक्ष-आधारित पारज़ेन अनुमानक (टीपीई)। टीपीई ओपन-सोर्स पैकेज, हाइपरऑप्ट द्वारा समर्थित है। हाइपरऑप्ट और टीपीई का लाभ उठाकर, मशीन लर्निंग इंजीनियर ऐसा कर सकते हैं बिना किसी मैन्युअल ट्यूनिंग के शीघ्रता से अत्यधिक अनुकूलित मॉडल विकसित करें.
बिना किसी देरी के, आइए गहराई से जानें!
हाइपरऑप्ट एक ओपन-सोर्स पायथन पैकेज है जो मॉडल हाइपरपैरामीटर का चयन करने के लिए ट्री-आधारित पार्ज़ेन एस्मिटर्स (टीपीई) नामक एल्गोरिदम का उपयोग करता है जो उपयोगकर्ता-परिभाषित उद्देश्य फ़ंक्शन को अनुकूलित करता है। प्रत्येक हाइपरपैरामीटर के कार्यात्मक रूप और सीमाओं को सरलता से परिभाषित करके, टीपीई इष्टतम तक पहुंचने के लिए जटिल हाइपरस्पेस के माध्यम से पूरी तरह से कुशलतापूर्वक खोज करता है।
टीपीई एक अनुक्रमिक एल्गोरिदम है जो बायेसियन अपडेटिंग का लाभ उठाता है और नीचे दिए गए अनुक्रम का पालन करता है।
- उद्देश्य फ़ंक्शन मान लौटाते हुए, यादृच्छिक रूप से चयनित हाइपरपैरामीटर के कई सेटों के साथ एक मॉडल को प्रशिक्षित करें।
- कुछ सीमा गामा (γ) के अनुसार, हमारे देखे गए उद्देश्य फ़ंक्शन मानों को "अच्छे" और "बुरे" समूहों में विभाजित करें।
- "आशाजनकता" स्कोर की गणना करें, जो उचित है P(x|अच्छा) / P(x|बुरा).
- मिश्रण मॉडल के माध्यम से आशाजनकता को अधिकतम करने वाले हाइपरपैरामीटर निर्धारित करें।
- चरण 4 से हाइपरपैरामीटर का उपयोग करके हमारे मॉडल को फ़िट करें।
- रुकने के मानदंड तक चरण 2-5 दोहराएँ।
यहाँ एक त्वरित कोड उदाहरण.
ठीक है, ये बहुत बड़े शब्द थे। आइए धीमे चलें और वास्तव में समझें कि क्या हो रहा है।
1.1 - हमारा लक्ष्य
डेटा वैज्ञानिक व्यस्त हैं. हम वास्तव में अच्छे मॉडल तैयार करना चाहते हैं, लेकिन ऐसा कुशल और आदर्श रूप से व्यावहारिक तरीके से करें।
हालाँकि, एमएल मॉडलिंग जीवनचक्र में कुछ चरणों को स्वचालित करना बहुत कठिन है। उदाहरण के लिए, खोजपूर्ण डेटा विश्लेषण (ईडीए) और फीचर इंजीनियरिंग, आमतौर पर विषय-विशिष्ट होते हैं और इसके लिए मानव अंतर्ज्ञान की आवश्यकता होती है। दूसरी ओर, मॉडल ट्यूनिंग एक पुनरावृत्तीय प्रक्रिया है जहां कंप्यूटर उत्कृष्टता प्राप्त कर सकते हैं।
इस पोस्ट में हमारा लक्ष्य यह समझना है कि मॉडल ट्यूनिंग प्रक्रिया को स्वचालित करने के लिए एल्गोरिदम का लाभ कैसे उठाया जाए।
उस लक्ष्य के बारे में सोचने में हमारी मदद करने के लिए, आइए एक सादृश्य का उपयोग करें: हम समुद्री डाकू हैं जो दबे हुए खजाने की तलाश में हैं। यह भी ध्यान रखना महत्वपूर्ण है कि हम बहुत कुशल समुद्री डाकू हैं जो दफन खजाने की खोज में हमारे समय को कम करना चाहते हैं। तो, हमें खोज में लगने वाले समय को कैसे कम करना चाहिए? जवाब है मानचित्र का उपयोग करें!
चित्र 1 में, हमारे पास एक काल्पनिक मानचित्र है जो दर्शाता है कि हमारा खजाना कहाँ स्थित है। बहुत सारी चढ़ाई और खुदाई के बाद, उस खजाने तक पहुंचना बहुत कठिन नहीं होगा क्योंकि हम जानते हैं कि वह कहाँ स्थित है।
लेकिन तब क्या होता है जब हमारे पास कोई नक्शा नहीं होता?
जब किसी मॉडल को ट्यून करने का काम सौंपा जाता है, तो दुर्भाग्य से हमें कोई नक्शा नहीं दिया जाता है। हमारा भू-भाग, जो हाइपरपरमीटर खोज स्थान से मेल खाता है, अज्ञात है। इसके अलावा, हमारे खजाने का स्थान, जो हाइपरपैरामीटर के इष्टतम सेट से मेल खाता है, भी अज्ञात है।
उस सेटअप के साथ, आइए इस स्थान का कुशलतापूर्वक पता लगाने और कुछ खजाना खोजने के कुछ संभावित तरीकों के बारे में बात करें!
1.2 - संभावित समाधान
मॉडल ट्यूनिंग की मूल विधि "मैनुअल" है - इंजीनियर वास्तव में कई अलग-अलग कॉन्फ़िगरेशन का मैन्युअल रूप से परीक्षण करेगा और देखेगा कि कौन सा हाइपरपैरामीटर संयोजन सबसे अच्छा मॉडल तैयार करता है। जानकारीपूर्ण होते हुए भी, यह प्रक्रिया अकुशल है। इसके लिए अवश्य ही एक बेहतर तरीका होना चाहिए…
1.2.1 — ग्रिड खोज (सबसे खराब)
हमारा पहला अनुकूलन एल्गोरिदम ग्रिड खोज है। ग्रिड खोज उपयोगकर्ता द्वारा निर्दिष्ट ग्रिड के भीतर हाइपरपैरामीटर के सभी संभावित संयोजनों का पुनरावृत्तीय रूप से परीक्षण करती है।
उदाहरण के लिए, चित्र 2 में, जहां भी आप एक लाल बिंदु देखते हैं, वह वह जगह है जहां हम अपने मॉडल को फिर से प्रशिक्षित करेंगे और उसका मूल्यांकन करेंगे। यह ढाँचा अप्रभावी है क्योंकि यह खराब हाइपरपैरामीटर का पुन: उपयोग करता है. उदाहरण के लिए, यदि हाइपरपैरामीटर 2 का हमारे उद्देश्य फ़ंक्शन पर बहुत कम प्रभाव पड़ता है, तो भी हम इसके मूल्यों के सभी संयोजनों का परीक्षण करेंगे, जिससे पुनरावृत्तियों की आवश्यक संख्या 10x बढ़ जाएगी (इस उदाहरण में)।
लेकिन आगे बढ़ने से पहले, यह ध्यान रखना महत्वपूर्ण है कि ग्रिड खोज अभी भी काफी लोकप्रिय है क्योंकि सही ढंग से निर्दिष्ट ग्रिड दिए जाने पर यह इष्टतम खोजने की गारंटी देता है। यदि आप विधि का उपयोग करने का निर्णय लेते हैं, सुनिश्चित करें कि आप अपने ग्रिड को अपने हाइपरपैरामीटर के कार्यात्मक रूप को प्रतिबिंबित करने के लिए बदल दें। उदाहरण के लिए, a के लिए max_depth यादृच्छिक वन वर्गीकरणकर्ता एक पूर्णांक है - इसे किसी सतत स्थान पर खोज न करने दें। यह भी संभावना नहीं है कि इसका एक समान वितरण हो - यदि आप अपने हाइपरपैरामीटर के कार्यात्मक रूप को जानते हैं, तो इसे प्रतिबिंबित करने के लिए ग्रिड को रूपांतरित करें।
संक्षेप में, ग्रिड खोज आयामीता के अभिशाप के अधीन है और मूल्यांकन के बीच जानकारी की पुनर्गणना करती है, लेकिन अभी भी इसका व्यापक रूप से उपयोग किया जाता है।
1.2.2 - यादृच्छिक खोज (अच्छा)
हमारा दूसरा एल्गोरिदम यादृच्छिक खोज है। यादृच्छिक खोज उपयोगकर्ता द्वारा निर्दिष्ट ग्रिड के भीतर यादृच्छिक मानों की कोशिश करती है। ग्रिड खोज के विपरीत, हमें हाइपरपैरामीटर के हर संभावित संयोजन का परीक्षण करने के लिए बाध्य नहीं किया जाता है, जिससे दक्षता बढ़ती है।
यहां एक अच्छा तथ्य है: यादृच्छिक खोज में (औसतन) शीर्ष 5% हाइपरपैरामीटर कॉन्फ़िगरेशन मिलेगा 60 पुनरावृत्तियों. जैसा कि कहा गया है, ग्रिड खोज की तरह आपको प्रत्येक हाइपरपरम के कार्यात्मक रूप को प्रतिबिंबित करने के लिए अपने खोज स्थान को बदलना होगा।
हाइपरपैरामीटर अनुकूलन के लिए यादृच्छिक खोज एक अच्छी आधार रेखा है।
1.2.3 - बायेसियन अनुकूलन (बेहतर)
हमारा तीसरा उम्मीदवार हमारा पहला अनुक्रमिक मॉडल-आधारित अनुकूलन (एसएमबीओ) एल्गोरिदम है। पिछली तकनीकों से मुख्य वैचारिक अंतर हम हैं अन्वेषण के भविष्य के बिंदुओं को निर्धारित करने के लिए पूर्व रनों का पुनरावृत्तीय रूप से उपयोग करें।
बायेसियन हाइपरपैरामीटर ऑप्टिमाइज़ेशन हमारे हाइपरपैरामीटर खोज स्थान का संभाव्य वितरण विकसित करना चाहता है। वहां से, यह एक अधिग्रहण फ़ंक्शन का उपयोग करता है, जैसे कि अपेक्षित सुधार, हमारे हाइपरस्पेस को और अधिक "खोज योग्य" बनाने के लिए। अंत में, यह हमारे अधिग्रहण फ़ंक्शन को अधिकतम करने वाले हाइपरपैरामीटर को खोजने के लिए एक अनुकूलन एल्गोरिदम, जैसे स्टोकेस्टिक ग्रेडिएंट डीसेंट का उपयोग करता है। उन हाइपरपैरामीटर का उपयोग हमारे मॉडल में फिट करने के लिए किया जाता है और प्रक्रिया को अभिसरण तक दोहराया जाता है।
बायेसियन अनुकूलन आम तौर पर यादृच्छिक खोज से बेहतर प्रदर्शन करता है, हालांकि इसमें कुछ मुख्य सीमाएं हैं जैसे संख्यात्मक हाइपरपैरामीटर की आवश्यकता होती है।
1.2.4 - वृक्ष-आधारित पार्ज़ेन अनुमानक (सर्वोत्तम)
अंत में, आइए शो के स्टार के बारे में बात करें: ट्री-बेस्ड पार्ज़ेन एस्टिमेटर्स (टीपीई)। टीपीई एक और एसएमबीओ एल्गोरिदम है जो आम तौर पर बुनियादी बायेसियन अनुकूलन से बेहतर प्रदर्शन करता है, लेकिन मुख्य विक्रय बिंदु यह है कि यह पेड़ संरचना के माध्यम से जटिल हाइपरपैरामीटर संबंधों को संभालता है।
आइए इसे समझने के लिए चित्र 5 का उपयोग करें वृक्ष संरचना. यहां हम एक सपोर्ट वेक्टर मशीन (एसवीएम) क्लासिफायरियर का प्रशिक्षण दे रहे हैं। हम दो कर्नेल का परीक्षण करेंगे: linear
और RBF
. एक linear
कर्नेल चौड़ाई पैरामीटर नहीं लेता है लेकिन RBF
करता है, इसलिए एक नेस्टेड शब्दकोश का उपयोग करके हम इस संरचना को एन्कोड करने में सक्षम हैं और इस प्रकार खोज स्थान को सीमित कर सकते हैं।
टीपीई श्रेणीबद्ध चर का भी समर्थन करता है जो पारंपरिक बायेसियन अनुकूलन नहीं करता है।
आगे बढ़ने से पहले त्वरित अस्वीकरण, वहाँ हैं कई अन्य हाइपरपैरामीटर ट्यूनिंग पैकेज. प्रत्येक विभिन्न प्रकार के एल्गोरिदम का समर्थन करता है, जिनमें से कुछ में यादृच्छिक वन, गाऊसी प्रक्रियाएं और आनुवंशिक एल्गोरिदम शामिल हैं। टीपीई एक बहुत लोकप्रिय और सामान्य-उद्देश्य वाला एल्गोरिदम है, लेकिन जरूरी नहीं कि यह सबसे अच्छा हो।
सामान्य तौर पर, टीपीई वास्तव में एक मजबूत और कुशल हाइपरपैरामीटर अनुकूलन समाधान है।
अब जब हमें कुछ लोकप्रिय हाइपरपैरामीटर ऑप्टिमाइज़ेशन एल्गोरिदम की सामान्य समझ हो गई है, तो आइए गहराई से देखें कि टीपीई कैसे काम करता है।
अपनी सादृश्यता पर लौटते हुए, हम समुद्री डाकू हैं जो दबे हुए खजाने की तलाश में हैं लेकिन नक्शा नहीं है. हमारे कप्तान को जल्द से जल्द खजाने की जरूरत है, इसलिए हमें रणनीतिक स्थानों पर खुदाई करने की जरूरत है जहां खजाना होने की उच्च संभावना है, भविष्य की खुदाई के स्थान को निर्धारित करने के लिए पूर्व खुदाई का उपयोग करें।
2.1 - आरंभीकरण
शुरू करने के लिए, हम हमारे स्थान पर बाधाओं को परिभाषित करें. जैसा कि ऊपर उल्लेख किया गया है, हमारे हाइपरपैरामीटर में अक्सर एक कार्यात्मक रूप, अधिकतम/न्यूनतम मान और अन्य हाइपरपैरामीटर के साथ पदानुक्रमित संबंध होता है। हमारे एमएल एल्गोरिदम और हमारे डेटा के बारे में हमारे ज्ञान का उपयोग करके, हम अपने खोज स्थान को परिभाषित कर सकते हैं।
अगला, हमें करना चाहिए हमारे उद्देश्य कार्य को परिभाषित करें, जिसका उपयोग यह मूल्यांकन करने के लिए किया जाता है कि हमारा हाइपरपैरामीटर संयोजन कितना "अच्छा" है। कुछ उदाहरणों में क्लासिक एमएल हानि फ़ंक्शन शामिल हैं, जैसे आरएमएसई या एयूसी।
महान! अब जब हमारे पास खोज के लिए एक सीमित स्थान और सफलता को मापने का एक तरीका है, तो हम खोज शुरू करने के लिए तैयार हैं...
2.2 - पुनरावृत्त बायेसियन अनुकूलन
बायेसियन ऑप्टिमाइज़ेशन एक अनुक्रमिक एल्गोरिदम है जो ऑब्जेक्टिव फ़ंक्शन के अनुसार "सफल" होने की उच्च संभावना वाले हाइपरस्पेस में बिंदु ढूंढता है। टीपीई बायेसियन अनुकूलन का लाभ उठाता है लेकिन प्रदर्शन में सुधार और खोज स्थान जटिलता को संभालने के लिए कुछ चतुर युक्तियों का उपयोग करता है…
2.2.0 - वैचारिक सेटअप
पहली ट्रिक है मॉडलिंग पी(एक्स|वाई) के बजाय पी(y|x)…
बायेसियन अनुकूलन आमतौर पर मॉडल की तरह दिखता है पी(y|x), जो एक उद्देश्य फ़ंक्शन मान की संभावना है (y), दिए गए हाइपरपैरामीटर (x). टीपीई इसके विपरीत कार्य करता है - यह मॉडल की तरह दिखता है पी(एक्स|वाई), जो हाइपरपैरामीटर की संभावना है (x), उद्देश्य फ़ंक्शन मान दिया गया (y).
संक्षेप में, टीपीई सर्वोत्तम उद्देश्य फ़ंक्शन मान खोजने का प्रयास करता है, फिर संबंधित हाइपरपैरामीटर निर्धारित करता है।
उस अत्यंत महत्वपूर्ण सेटअप के साथ, आइए वास्तविक एल्गोरिथम पर ध्यान दें।
2.2.1 - हमारे डेटा को "अच्छे" और "बुरे" समूहों में विभाजित करें
याद रखें, हमारा लक्ष्य किसी वस्तुनिष्ठ फ़ंक्शन के अनुसार सर्वोत्तम हाइपरपैरामीटर मान ढूंढना है। तो, हम कैसे लाभ उठा सकते हैं पी(एक्स|वाई) ऐसा करने के लिए?
सबसे पहले, टीपीई हमारे देखे गए डेटा बिंदुओं को दो समूहों में विभाजित करता है: अच्छा, निरूपित जी (एक्स), और बुरा, निरूपित एल(एक्स). अच्छे और बुरे के बीच का कटऑफ उपयोगकर्ता-परिभाषित पैरामीटर गामा (γ) द्वारा निर्धारित किया जाता है, जो उद्देश्य फ़ंक्शन प्रतिशतक से मेल खाता है जो हमारी टिप्पणियों को विभाजित करता है (y*).
तो, γ = 0.5 के साथ, हमारा उद्देश्य फ़ंक्शन मान जो हमारे अवलोकनों को विभाजित करता है (y*) हमारे प्रेक्षित बिंदुओं का माध्यिका होगा।
जैसा कि चित्र 7 में दिखाया गया है, हम औपचारिक रूप दे सकते हैं पी(एक्स|वाई) उपरोक्त ढांचे का उपयोग करना। और, समुद्री डाकू सादृश्य के साथ रोल करने के लिए...
समुद्री डाकू परिप्रेक्ष्य: उन स्थानों को देखते हुए जिन्हें हम पहले ही खोज चुके हैं, एल(एक्स) बहुत कम खजाने वाले स्थानों को सूचीबद्ध करता है और जी(एक्स) बहुत सारे खजाने वाले स्थानों को सूचीबद्ध करता है।
2.2.32— "आशाजनकता" स्कोर की गणना करें
दूसरा, टीपीई परिभाषित करता है कि हमें इसके माध्यम से एक न देखे गए हाइपरपैरामीटर संयोजन का मूल्यांकन कैसे करना चाहिए "आशाजनकता" स्कोर.
चित्र 8 हमारे आशाजनकता स्कोर को परिभाषित करता है (P), जो कि निम्नलिखित घटकों के साथ सिर्फ एक अनुपात है...
- मीटर: हाइपरपैरामीटर के एक सेट का अवलोकन करने की संभावना (x), संबंधित उद्देश्य फ़ंक्शन मान दिया गया है "अच्छा".
- भाजक: हाइपरपैरामीटर के एक सेट का अवलोकन करने की संभावना (x), संबंधित उद्देश्य फ़ंक्शन मान दिया गया है "बुरा".
"आशाजनकता" मान जितना बड़ा होगा, हमारे हाइपरपैरामीटर की संभावना उतनी ही अधिक होगी x एक "अच्छा" उद्देश्यपूर्ण कार्य उत्पन्न करेगा।
समुद्री डाकू परिप्रेक्ष्य: आशाजनकता दर्शाती है कि हमारे इलाके में किसी दिए गए स्थान पर ढेर सारा खजाना होने की कितनी संभावना है।
आगे बढ़ने से पहले तुरंत हट जाएं, यदि आप बायेसियन अनुकूलन से परिचित हैं, तो यह समीकरण एक अधिग्रहण फ़ंक्शन के रूप में कार्य करता है और आनुपातिक है अपेक्षित सुधार (ईआई).
2.2.3—संभाव्यता घनत्व अनुमान बनाएं
तीसरा, टीपीई "आशाजनकता" स्कोर का मूल्यांकन करना चाहता है मिश्रण मॉडल. मिश्रण मॉडल का विचार एकाधिक संभाव्यता वितरण लेना और उन्हें एक रैखिक संयोजन का उपयोग करके एक साथ रखना है - ". इन संयुक्त संभाव्यता वितरणों का उपयोग संभाव्यता घनत्व अनुमान विकसित करने के लिए किया जाता है।
आम तौर पर, मिश्रण मॉडलिंग प्रक्रिया है…
- हमारे अंकों के वितरण प्रकार को परिभाषित करें। हमारे मामले में, यदि हमारा चर श्रेणीबद्ध है तो हम पुनः भारित श्रेणीबद्ध वितरण का उपयोग करते हैं और यदि यह संख्यात्मक है तो हम गाऊसी (यानी सामान्य) या समान वितरण का उपयोग करते हैं।
- प्रत्येक बिंदु पर पुनरावृति करें और उस बिंदु पर एक वितरण डालें।
- संभाव्यता घनत्व अनुमान प्राप्त करने के लिए सभी वितरणों के द्रव्यमान का योग करें।
ध्यान दें कि यह प्रक्रिया दोनों सेटों के लिए अलग-अलग चलती है एल(एक्स) और जी(एक्स).
आइए चित्र 9 में एक उदाहरण देखें...
प्रत्येक अवलोकन (x-अक्ष पर नीले बिंदु) के लिए, हम एक सामान्य वितरण ~N(μ, σ) बनाते हैं, जहां…
- μ (म्यू) हमारे सामान्य वितरण का माध्य है। इसका मान x-अक्ष पर हमारे बिंदु का स्थान है।
- σ (सिग्मा) हमारे सामान्य वितरण का मानक विचलन है। इसका मान निकटतम पड़ोसी बिंदु की दूरी है.
यदि बिंदु एक-दूसरे के करीब हैं, तो मानक विचलन छोटा होगा और इस प्रकार वितरण बहुत लंबा होगा और इसके विपरीत, यदि बिंदु अलग-अलग फैले हुए हैं, तो वितरण सपाट होगा (आंकड़ा 10)…
समुद्री डाकू परिप्रेक्ष्य: NA - समुद्री डाकू मिश्रण मॉडल के साथ अच्छे नहीं हैं।
आगे बढ़ने से पहले एक और त्वरित बात: यदि आप साहित्य पढ़ रहे हैं तो आप देखेंगे कि टीपीई "काटे गए" गॉसियन का उपयोग करता है, जिसका सीधा सा अर्थ है कि गॉसियन उस सीमा से बंधे हैं जो हम +/- अनंत तक विस्तारित होने के बजाय हमारे हाइपरपैरामीटर कॉन्फ़िगरेशन में निर्दिष्ट करते हैं। .
2.2.4 — अन्वेषण के लिए अगला बिंदु निर्धारित करना!
आइए इन टुकड़ों को एक साथ लाएं। अब तक, हमने 1) वस्तुनिष्ठ फ़ंक्शन अवलोकन प्राप्त कर लिए हैं, 2) हमारे "आशाजनकता" सूत्र को परिभाषित किया है, और 3) पूर्व मूल्यों के आधार पर मिश्रण मॉडल के माध्यम से एक संभाव्यता घनत्व अनुमान बनाया है। किसी दिए गए बिंदु का मूल्यांकन करने के लिए हमारे पास सभी टुकड़े हैं!
हमारा पहला कदम दोनों के लिए औसत संभाव्यता घनत्व फ़ंक्शन (पीडीएफ) बनाना है जी (एक्स) और एल(एक्स).
एक उदाहरण प्रक्रिया चित्र 11 में दिखाई गई है - लाल रेखा हमारी औसत पीडीएफ है और पीडीएफ की संख्या से विभाजित सभी पीडीएफ का योग है।
औसत पीडीएफ का उपयोग करके, हम किसी भी हाइपरपैरामीटर मान की संभावना प्राप्त कर सकते हैं (x) में रहना जी (एक्स) or एल(एक्स).
उदाहरण के लिए, मान लें कि चित्र 11 में देखे गए मान "अच्छे" सेट से संबंधित हैं, जी (एक्स). हमारे औसत पीडीएफ के आधार पर, यह संभावना नहीं है कि 3.9 या 0.05 का हाइपरपैरामीटर मान "अच्छे" सेट से संबंधित है। इसके विपरीत, ~1.2 का हाइपरपैरामीटर मान "अच्छे" सेट से संबंधित होने की बहुत अधिक संभावना है।
अब ये तो तस्वीर का आधा हिस्सा है. हम "ख़राब" सेट के लिए वही पद्धति लागू करते हैं, एल(एक्स). चूँकि हम अधिकतम करना चाह रहे हैं जी(एक्स) / एल(एक्स), आशाजनक बिंदु कहाँ स्थित होने चाहिए जी (एक्स) ऊँचा है और एल(एक्स) कम है.
बहुत अच्छा, सही है?
इन संभाव्यता वितरणों के साथ, हम अपने वृक्ष-संरचित हाइपरपैरामीटर से नमूना ले सकते हैं और हाइपरपैरामीटर का सेट ढूंढ सकते हैं जो "आशाजनकता" को अधिकतम करता है और इस प्रकार खोज के लायक है।
समुद्री डाकू परिप्रेक्ष्य: अगला स्थान जो हम खोदते हैं वह वह स्थान है जो (बहुत सारा खजाना होने की संभावना) / (थोड़ा खजाना होने की संभावना) को अधिकतम करता है।
अब जब आप जानते हैं कि यह कैसे काम करता है, तो यहां ओपन-सोर्स पैकेज, हाइपरऑप्ट के माध्यम से टीपीई को लागू करने के लिए कुछ व्यावहारिक सुझाव दिए गए हैं।
3.1 - हाइपरऑप्ट ऐप की संरचना
आम तौर पर, हाइपरऑप्ट का लाभ उठाते समय तीन मुख्य चरण होते हैं…
- खोज स्थान परिभाषित करें, जो केवल उन हाइपरपैरामीटरों की श्रेणियां और कार्यात्मक रूप हैं जिन्हें आप अनुकूलित करना चाहते हैं।
- फिटिंग फ़ंक्शन को परिभाषित करें, जो आपको कॉल करता है
model.fit()
किसी दिए गए ट्रेन/परीक्षण विभाजन पर कार्य करें। - उद्देश्य फ़ंक्शन को परिभाषित करें, जो कि आरएमएसई या एयूसी जैसे क्लासिक सटीकता मेट्रिक्स में से एक है।
दुर्भाग्य से, इन स्वचालित ट्यूनिंग विधियों को अभी भी डेटा वैज्ञानिक से डिज़ाइन इनपुट की आवश्यकता होती है - यह पूरी तरह से मुफ़्त लंच नहीं है। हालाँकि, वास्तविक रूप से टीपीई हाइपरपैरामीटर मिसस्पेसिफिकेशन (कारण के भीतर) के लिए काफी मजबूत है।
3.2- टिप्स और ट्रिक्स
- हाइपरऑप्ट दोनों के माध्यम से समानांतर है अपाचे स्पार्क और MongoDB. यदि आप एकाधिक कोर के साथ काम कर रहे हैं, चाहे वह क्लाउड में हो या आपकी स्थानीय मशीन पर, यह नाटकीय रूप से रनटाइम को कम कर सकता है।
- यदि आप अपाचे स्पार्क के माध्यम से ट्यूनिंग प्रक्रिया को समानांतर कर रहे हैं, तो इसका उपयोग करें
SparkTrials
एकल नोड एमएल मॉडल (स्केलर्न) के लिए ऑब्जेक्ट और एTrails
समानांतर एमएल मॉडल (एमएललिब) के लिए ऑब्जेक्ट। कोड नीचे है. - एमएलफ्लो आपके मॉडल रन को ट्रैक करने के लिए एक खुला स्रोत तरीका है। यह आसानी से हाइपरऑप्ट के साथ एकीकृत हो जाता है।
- खोज स्थान को बहुत जल्दी छोटा न करें। हाइपरपैरामीटर के कुछ संयोजन आश्चर्यजनक रूप से प्रभावी हो सकते हैं।
- खोज स्थान को परिभाषित करना मुश्किल हो सकता है, खासकर यदि आप नहीं जानते हैं आपके हाइपरपैरामीटर का कार्यात्मक रूप. हालाँकि, व्यक्तिगत अनुभव से टीपीई उन कार्यात्मक रूपों के गलत विवरण के प्रति काफी मजबूत है।
- एक अच्छे वस्तुनिष्ठ फ़ंक्शन को चुनने से बहुत मदद मिलती है। ज्यादातर मामलों में, त्रुटि समान नहीं बनाई जाती है। यदि एक निश्चित प्रकार की त्रुटि अधिक समस्याग्रस्त है, तो उस तर्क को अपने फ़ंक्शन में बनाना सुनिश्चित करें।
3.3- एक कोड उदाहरण
हाइपरऑप्ट को वितरित तरीके से चलाने के लिए यहां कुछ कोड दिया गया है। इसे पुस्तक के कोड से अनुकूलित किया गया था, एक्शन में मशीन लर्निंग इंजीनियरिंग - यहाँ है गिट रेपो.
इस स्निपेट की कुछ अच्छी विशेषताओं में समानांतरीकरण शामिल है अपाचे स्पार्क और मॉडल लॉगिंग के माध्यम से एमएलफ्लो. यह भी ध्यान दें कि यह स्निपेट एक स्केलेर रैंडमफॉरेस्टरेग्रेसर को अनुकूलित करता है - आपको अपनी आवश्यकताओं के अनुरूप मॉडल और फिटिंग फ़ंक्शन को बदलना होगा।
और वहां आपके पास यह है - हाइपरऑप्ट अपनी पूरी महिमा में!
मुख्य बिंदुओं पर आशा व्यक्त करने के लिए, आइए जल्दी से संक्षेप में बताएं।
हाइपरपैरामीटर ट्यूनिंग एमएल मॉडल जीवनचक्र का एक आवश्यक हिस्सा है, लेकिन इसमें समय लगता है। अनुक्रमिक मॉडल-आधारित अनुकूलन (एसएमबीओ) एल्गोरिदम इष्टतम के लिए जटिल हाइपरस्पेस खोजने में उत्कृष्टता प्राप्त करते हैं, और उन्हें हाइपरपैरामीटर ट्यूनिंग पर लागू किया जा सकता है। ट्री-आधारित पार्ज़ेन एस्टिमेटर्स (टीपीई) एक बहुत ही कुशल एसबीएमओ है और बायेसियन ऑप्टिमाइज़ेशन और रैंडम सर्च दोनों से बेहतर प्रदर्शन करता है।
टीपीई एक रोक मानदंड तक निम्नलिखित चरणों को दोहराता है:
- कुछ हाइपरपैरामीटर, गामा के अनुसार, देखे गए बिंदुओं को "अच्छे" और "बुरे" सेट में विभाजित करें।
- औसत संभाव्यता घनत्व अनुमान विकसित करने के लिए "अच्छे" और "बुरे" दोनों सेटों में एक मिश्रण मॉडल फिट करें।
- उस बिंदु का चयन करें जो "आशाजनकता" स्कोर को अनुकूलित करता है, जो "अच्छे" और "बुरे" सेट में होने की संभावना का अनुमान लगाने के लिए चरण 2 का लाभ उठाता है।
अंत में, हमारे पास एक बहुत अच्छा कोड स्निपेट है जो दिखाता है कि स्पार्कट्रायल के माध्यम से हाइपरऑप्ट को कैसे समानांतर किया जाए। यह हमारे सभी पुनरावृत्तियों को MLflow में भी लॉग करता है।
हाइपरऑप्ट डिमिस्टिफाइड स्रोत से पुनर्प्रकाशित https://towardsdatascience.com/hyperopt-demystified-3e14006eb6fa?source=rss—-7f60cf5620c9—4 https://towardsdatascience.com/feed के माध्यम से
<!–
->
- Bitcoin
- बिज़बिल्डरमाइक
- blockchain
- ब्लॉकचेन अनुपालन
- ब्लॉकचेन सम्मेलन
- ब्लॉकचेन कंसल्टेंट्स
- coinbase
- कॉइनजीनियस
- आम राय
- क्रिप्टो सम्मेलन
- क्रिप्टो खनन
- cryptocurrency
- विकेन्द्रीकृत
- Defi
- डिजिटल आस्तियां
- ethereum
- यंत्र अधिगम
- बिना फन वाला टोकन
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लाटोब्लोकैचिन
- प्लेटोडाटा
- प्लेटोगेमिंग
- बहुभुज
- हिस्सेदारी का प्रमाण
- W3
- जेफिरनेट