SOINN के साथ मेरा अनुभव

उन लोगों के लिए जो SOINN से परिचित नहीं हैं, मैं कहता हूं कि यह एक अपेक्षाकृत नया प्रकार का तंत्रिका नेटवर्क है जिसे Self Organizing Incremental Neural Network - एक स्व-आयोजन, बढ़ता हुआ तंत्रिका नेटवर्क कहा जाता है।

एल्गोरिदमिक ट्रेडिंग में लगे हुए, काफी समय तक मैंने शास्त्रीय संकेतकों और तकनीकी विश्लेषण विधियों के आधार पर ट्रेडिंग रोबोट बनाए। जिस तरह से, विभिन्न लेखों को पढ़ते हुए, मुझे तंत्रिका नेटवर्क के संदर्भ में पता चला, जो व्यापारियों को ट्रेडिंग के लिए सफलता की डिग्री बदलती के लिए उपयोग करते हैं। इस विषय ने मुझे मोहित कर लिया।

व्यापार में एआई का उपयोग करने की बहुत संभावना से सांस दूर।
मैंने फिर से सब कुछ पढ़ा जो मुझे तंत्रिका नेटवर्क पर मिल सकता है, फिर न्यूरोएसोल्यूशन पैकेज स्थापित किया, और उसी समय TraidingSolution, और कोटे डी'ज़ुर पर एक विला चुनना शुरू किया ...
हालांकि, सब कुछ उतना सरल और तेज़ नहीं था जितना मैंने इसकी कल्पना की थी। सबसे पहले, मैं नेटवर्क के लिए डेटा प्रस्तुत करने की समस्या में भाग गया। बिंदु यह भी नहीं है कि उन्हें कैसे स्केल किया जाए, लेकिन वास्तव में नेटवर्क किस डेटा का प्रतिनिधित्व करता है, ताकि इसके आधार पर वह उन बिंदुओं को पा सके जो मुझे मूल्य परिवर्तन चार्ट पर रुचि रखते हैं।
द्वारा और बड़े, यह पहला और सबसे महत्वपूर्ण कार्य है जिसे किसी भी नेटवर्क का उपयोग करने से पहले हल किया जाना चाहिए। अन्यथा, हम एक क्लासिक स्थिति का सामना करेंगे - "प्रवेश द्वार पर कचरा - निकास पर कचरा"।

इस समस्या को हल करने के रास्ते में, मुझे नेटवर्क के लिए विभिन्न तरीकों और डेटा प्रतिनिधित्व के प्रकारों की एक बड़ी संख्या की कोशिश करनी थी। अंतत: ऐसी विधि मिली। मैं विवरण में नहीं जाऊंगा, मैं केवल यह कह सकता हूं कि नेटवर्क के लिए डेटा तैयार करने के लिए मुझे एक जटिल कार्यक्रम लिखना था जो किसी भी तरह से नेटवर्क के कार्यान्वयन से जुड़ा नहीं था।
अगला प्रशिक्षण चला गया। क्लासिक नेटवर्क का उपयोग कम संख्या में न्यूरॉन्स पर किया गया था। अंत में, मुझे इस तथ्य के बारे में पता चला कि नेटवर्क के प्रशिक्षण के लिए प्रस्तुत नया डेटा पुराने को धक्का देता है।

और फिर मुझे SOINN के बारे में जापानी / चीनी वैज्ञानिकों का एक लेख आया। इसके अलावा, लेख ने संकेत दिया कि हसेगावा प्रयोगशाला वेबसाइट पर C ++ में एकल-परत SOINN के कार्यान्वयन के उदाहरण के लिए एक कोड पोस्ट किया गया था। मैं इस साइट पर गया, लेकिन तब तक उदाहरण पहले ही वहां से हटा दिया गया था।
लेकिन स्तुति रनेट! एक रोबोटिक्स साइट पर, हमारे उत्साही लोगों में से एक ने हसेगावा के SOINN का एक साफ-सुथरा उदाहरण पोस्ट किया, साथ ही अपने स्वयं के उपयोग के मामले में भी।

मुझे वास्तव में एक आत्म-विकासशील नेटवर्क का विचार पसंद आया, जो "गूंगा" नहीं है क्योंकि मैं नया ज्ञान प्राप्त करता हूं। मैंने एक आधार के रूप में पुस्तकालय को रखा और अपने कार्यों के लिए अपने SOINN कार्यान्वयन, "तेज" लिखा।
पहले परीक्षण उत्साहजनक थे। मैंने एक शिक्षक के साथ एक नेटवर्क को पढ़ाने की विधि का उपयोग किया। नेटवर्क बहुत जल्दी (शास्त्रीय नेटवर्क की तुलना में) अध्ययन किया और स्रोत डेटा में मेरी रुचि के पैटर्न पाए।

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

हालाँकि, SOINN उदाहरण, जो लेखकों द्वारा निर्धारित किया गया था, में एक एकल-परत SOINN का एक संस्करण शामिल था, हालांकि क्लासिक SOINN में दो परतें होनी चाहिए। इसके अलावा, जाहिरा तौर पर उदाहरण को सरल बनाने के लिए, इसके गणितीय विवरण में वर्णित एल्गोरिथ्म के कुछ हिस्सों को कोड में लागू नहीं किया गया था। इसलिए, मुझे अपने स्वयं के कार्यों के साथ कुछ मॉड्यूल को पूरक करना था और दो-परत सीखने के एल्गोरिदम को लागू करना था।

वर्तमान में, प्रशिक्षित SOINN पर आधारित एक ट्रेडिंग रोबोट पूरा होने के स्तर पर है। प्रारंभिक परिणाम उत्साहजनक हैं।

मैं zkolenko से SOINN पर लेख की उपयोगिता और पूर्णता पर ध्यान नहीं दे सकता। पहले मिल जाने के बाद, मैंने SOINN और उससे जुड़ी हर चीज का अध्ययन करने में बहुत समय बचाया होगा।

Source: https://habr.com/ru/post/In190280/


All Articles