असंतुलित, विषम ऋणात्मक पृष्ठभूमि के साथ एक-वर्ग भेदभावपूर्ण वर्गीकरण?


16

मैं एक मौजूदा पर्यवेक्षित क्लासिफ़ायर को बेहतर बनाने पर काम कर रहा हूं, {प्रोटीन} दृश्यों को एक विशिष्ट वर्ग (न्यूरोपेप्टाइड हार्मोन अग्रदूत) से संबंधित वर्गीकृत करने के लिए, या नहीं।

लगभग 13 मिलियन प्रोटीन अनुक्रमों ("अज्ञात / खराब एनोटेट पृष्ठभूमि") की पृष्ठभूमि के बारे में 1,150 ज्ञात "पॉज़िटिव" हैं, या लगभग 100,000 की समीक्षा की गई है, प्रासंगिक प्रोटीन, विभिन्न प्रकार के गुणों के साथ एनोटेट किया गया है (लेकिन स्पष्ट रूप से बहुत कम एनोटेट। "नकारात्मक" तरीका)।

मेरे पिछले कार्यान्वयन ने इसे एक द्विआधारी वर्गीकरण समस्या के रूप में देखा: सकारात्मक सेट = प्रोटीन न्यूरोपेप्टाइड्स के रूप में चिह्नित। नकारात्मक सेट: लगभग समान लंबाई-वार वितरण के शेष प्रोटीनों में से 1,300 नमूनों (कुल) का यादृच्छिक नमूना।

यह काम किया है, लेकिन मैं मशीनों की भेदभावपूर्ण क्षमताओं में बहुत सुधार करना चाहता हूं (वर्तमान में, यह सटीकता के मामले में 83-86% के बारे में है, AUC, F1, CV द्वारा मापा गया, कई बेतरतीब ढंग से नमूना नकारात्मक सेट पर)।

मेरे विचार से थे: 1) इसे एक बहुस्तरीय समस्या बनाइए, प्रोटीन के 2-3 अलग-अलग वर्गों को चुनना जो निश्चित रूप से नकारात्मक होंगे, उनके गुणों / कार्यात्मक वर्ग के साथ, (शायद) एक और बेतरतीब ढंग से सैंपल सेट। (यहां प्राथमिकता नकारात्मक सेट होगी जो उनकी विशेषताओं / विशेषताओं में सकारात्मक सेट के समान है, जबकि अभी भी विशेषताओं को परिभाषित कर रही है)। 2) एक कक्षा सीखना - अच्छा होगा, लेकिन जैसा कि मैं इसे समझता हूं, यह सिर्फ विसंगति का पता लगाने के लिए है, और इसमें भेदभावपूर्ण दृष्टिकोण की तुलना में खराब प्रदर्शन है।

*) मैंने पीयू सीखने के बारे में सुना है, जो साफ-सुथरा लगता है, लेकिन मैं एक प्रोग्रामिंग N00b हूं, और मुझे इसके लिए कोई मौजूदा कार्यान्वयन नहीं पता है। (अजगर / विज्ञान-किट में सीखें)।

तो, क्या दृष्टिकोण 1 एक सैद्धांतिक पीओवी में समझ में आता है? क्या कई नकारात्मक सेट बनाने का सबसे अच्छा तरीका है? (मैं भी "नकारात्मक" प्रोटीन के एक बड़े पैमाने पर [50K] पिक का उपयोग कर सकता हूं, लेकिन वे सभी एक दूसरे से बहुत अलग हैं, इसलिए मुझे नहीं पता कि क्लासिफायर उन्हें एक बड़े, असंतुलित मिश्रण के रूप में कितनी अच्छी तरह से संभाल लेगा। )। धन्यवाद!


जैसा कि आपने शायद देखा, पु लर्निंग पर विकिपीडिया लेख में एक पेपर का संदर्भ है जहां यह जीन पहचान के लिए लागू किया गया है। शायद यह पता लगाने लायक है / लेखकों से पूछ रहा है कि उन्होंने किस सॉफ्टवेयर का इस्तेमाल किया।
आंद्रे होल्जनर

स्किटिट सीखने में पु सीखने पर कुछ चर्चा यहाँ है: stackoverflow.com/questions/25700724/… (एक 'एक वर्ग' सपोर्ट वेक्टर मशीन का उपयोग करके)
आंद्रे होल्ज़नर

पु सीखना एक कैविएट के साथ मानक दो-स्तरीय वर्गीकरण समस्या है - आप वक्र के तहत क्षेत्र को अनुकूलित करते हैं, न कि वर्गीकरण सटीकता। आप सोफिया एमएल सॉफ्टवेयर पैकेज का उपयोग कर इसे पूरा कर सकते हैं (कोई प्रोग्रामिंग आवश्यक नहीं)। व्यावहारिक पक्ष पर, आप +1 और बाकी सब के साथ अपने सकारात्मक उदाहरणों को एनोटेट करते हैं जैसे -1 (हाँ, अन्य सभी अनलेबेल किए गए डेटा जिनमें बैटरियां हो सकती हैं)।
व्लादिस्लाव्स डोवलगेक्स

जवाबों:


5

जिस तरह से मैं समस्या पर हमला करूंगा, वह सामान्य रूप से सांख्यिकीय विश्लेषण का लाभ उठाने के लिए होता है, जैसे कि प्रमुख घटक विश्लेषण या साधारण जानवर वर्ग, यह निर्धारित करने में मदद करने के लिए कि इन प्रोटीन अनुक्रमों के भीतर कौन से गुण न्यूरोपेप्टाइड हार्मोन के अग्रदूत के रूप में प्रोटीन को वर्गीकृत करने के लिए सबसे उपयुक्त हैं।

ऐसा करने के लिए, आपको प्रोटीन अनुक्रमों को संख्यात्मक डेटा में बदलना होगा, लेकिन मेरा मानना ​​है कि अमीनो एसिड पीसीए में प्रयुक्त सूत्रों के संबंध में कुछ काम पहले ही हो चुका है।

ये दो लिंक देखें: http://www.ncbi.nlm.nih.gov/pubmed/24496727

http://www.ncbi.nlm.nih.gov/pubmed/16615809

एक बार जब यह काम पूरा हो जाता है, तो मैं पूरे डेटासेट और एक सुदृढीकरण सीखने के एल्गोरिथ्म का उपयोग करके वर्गीकृत करने का प्रयास करूंगा, जैसे कि Naive Bayes , जिसमें उस डेटा को धीमा कर दिया गया है जिसे PCA ने महत्वपूर्ण माना है।

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

उस सब के बाद कहा ...

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

मैं पूरी तरह से बंद हो सकता है। मुझे कुछ अन्य उत्तर देखने में दिलचस्पी है, लेकिन यह मेरा 2 सेंट है।


1
मैंने पहले ही फीचर निष्कर्षण लागू कर दिया है, और इसके लिए एक टूलकिट (प्रकाशन कुछ बगचेकिंग की प्रतीक्षा करता है)।
ग्रिमस्क्वेयर

5

एक कक्षा सीखने

मैं एक-वर्ग वर्गीकरण विधियों (विकल्प 2) को फेंकने के लिए बहुत जल्दी नहीं होगा - कुंजी एक वर्ग मॉडल के साथ सकारात्मक (अल्पसंख्यक) वर्ग को मॉडल करना है।

ऐसे मामलों को प्रदर्शित करते हुए अनुसंधान किया गया है जहां एक वर्ग वर्गीकरण ने अन्य असंतुलित डेटा के लिए नमूना लेने जैसे अन्य तरीकों का प्रदर्शन किया, जैसा कि अक्सर वर्गीकरण वर्गीकरण कार्यों के साथ देखा जाता है।

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

इसके अतिरिक्त यह दृष्टिकोण बहुत बेहतर रन-टाइम का लाभ भी देता है - क्योंकि आपको केवल क्लासीफायर को छोटे, सकारात्मक सेट पर प्रशिक्षित करने की आवश्यकता है। कुछ कागजात:

"एक-श्रेणी वर्गीकरण विधियों और विविध जैविक डेटा को एकीकृत करके प्रोटीन-प्रोटीन इंटरैक्शन की भविष्यवाणी"

"प्रोटीन अनुक्रमों और संरचनाओं के लिए एक वन-क्लास वर्गीकरण दृष्टिकोण"

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

उच्च स्तर का प्रतिनिधित्व एम्बेडिंग / क्लस्टरिंग

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

यानी, आप यह पहचान सकते हैं कि कौन सा समूह / क्लस्टर एक प्रोटीन से संबंधित है या क्लस्टर सदस्यता / एम्बेडेड प्रतिनिधित्व को वर्गीकृत करता है।

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

इसके अतिरिक्त क्लास लेबल या ज्ञात क्लस्टर सदस्यता को अधिकांश तरीकों के लिए एम्बेडिंग प्रक्रिया में शामिल किया जा सकता है।

कलाकारों की टुकड़ी

कई क्लासिफायर के असेम्बल सबसे अच्छे काम करते हैं - खासकर जब क्लासिफायर बहुत विविध होते हैं और व्यक्तिगत रूप से तुलनीय प्रदर्शन प्राप्त कर सकते हैं।

इस समस्या के लिए कम से कम दो तरीकों का उपयोग करना है।

  1. आप कई अलग-अलग समान-आकार के नकारात्मक सेटों का नमूना लेकर और प्रत्येक पर एक क्लासिफायर प्रशिक्षण करके बाइनरी क्लासिफायर का एक पहनावा बना सकते हैं।
  2. आप अलग-अलग दृष्टिकोणों से एक पहनावा बना सकते हैं, जैसे कि विभिन्न नकारात्मक नमूनों के साथ बाइनरी क्लासिफायर, एक-वर्ग वर्गीकरण दृष्टिकोण के साथ संयुक्त, एम्बेडेड डेटा पर प्रशिक्षित वर्गीकरण मॉडल के साथ संयुक्त।

2

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

रैंडम सैंपलिंग एक अच्छी तकनीक है। आप सभी साधनों को k- साधनों का उपयोग करके केंद्रों में क्लस्टर करने का प्रयास कर सकते हैं, और फिर नई वस्तुओं के रूप में केंद्रों का उपयोग कर सकते हैं। किसी भी तरह से, रैखिक और गैर-रैखिक आयाम में कमी के तरीकों से बड़े नमूना आकार से दूर होने में मदद मिल सकती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.