क्या SVM एक बार में एक उदाहरण से सीख सकता है?


33

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

जहां तक ​​मुझे पता है, एक तंत्रिका नेटवर्क एक समय में एक उदाहरण खिलाकर और उदाहरण पर आगे प्रसार और पिछड़े प्रसार का प्रदर्शन करके स्ट्रीम सीखने में सक्षम है।

क्या एक एसवीएम एक बार में एक उदाहरण सीखते हुए प्रदर्शन कर सकता है और उदाहरण को सीधे छोड़ सकता है?


2
स्वीकृत उत्तर को अद्यतन किया जाना चाहिए। ऐसा लगता है कि इस समय कई पुस्तकालय हैं जो एसवीएम ऑनलाइन लर्निंग एल्गोरिदम का समर्थन करते हैं। Vowpal wabbit में svm के लिए कमी है , अन्य विकल्प हैं: scikit-learn, सोफिया-एमएल और R के kernlab पैकेज में ऑनलाइन सीखने के लिए कुछ विकल्प हैं।
मारबेल

जवाबों:


22

मशीन लर्निंग में स्ट्रीमिंग सेटिंग को "ऑनलाइन लर्निंग" कहा जाता है। ऑनलाइन सेटिंग में कोई सटीक समर्थन वेक्टर मशीन नहीं है (चूंकि उद्देश्य फ़ंक्शन की परिभाषा स्वाभाविक रूप से बैच सेटिंग के लिए है)। संभवतः ऑनलाइन सेटिंग में SVM का सबसे सीधा सामान्यीकरण निष्क्रिय-आक्रामक एल्गोरिदम हैं। कोड यहाँ है http://webee.technion.ac.il/people/koby/code-index.html और एक संबद्ध पेपर यहाँ है http://eprints.pascal-network.org/archive/00002147/01/CrammerDeKeShSi06। पीडीएफ

मूल विचार यह है कि के रूप में एक प्राप्त करता है डेटा क्वेरी अंकों के साथ जोड़े एक्सआर जहां कश्मीर लेबल की संख्या है। एल्गोरिथ्म एक वजन मैट्रिक्स को बनाए रखता है डब्ल्यू टीआर कश्मीर × यात्रा पर टी एल्गोरिदम एक डेटा बिंदु प्राप्त करता है एक्स टी और उसके बाद की भविष्यवाणी देता स्कोर y टी = डब्ल्यू एक्स टी(x,y)Rd×[k]xRkWtRk×dtxty^t=Wxtप्रत्येक लेबल के लिए और यह सही लेबल के रूप में उच्चतम स्कोरिंग लेबल की भविष्यवाणी करता है। यदि भविष्यवाणी गलत है, तो एल्गोरिथ्म में सबसे छोटा बदलाव करता है ताकि भविष्य में वह गलती से बच सके। सबसे छोटा परिवर्तन यहां फ्रोबेनियस मानदंड के संदर्भ में परिभाषित किया गया है।Wt


1
(+1) साइट पर आपका स्वागत है, निशान।
कार्डिनल

11

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

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

चूँकि आपको मल्टी-क्लास वर्गीकरण की आवश्यकता है, इसलिए एक तरीका यह है कि vowpal wabbit (पेपर से एप्रोच के शीर्ष पर निर्मित) की "कमी" कार्यक्षमता का उपयोग किया जाए जो दुर्भाग्य से प्रलेखित नहीं है।


8

LASVM SVM के सबसे लोकप्रिय ऑनलाइन लर्निंग वेरिएंट में से एक है।

रैखिक एसवीएम को किसी भी रेखीय मॉडल की तरह स्टोचस्टिक ग्रेडिएंट डिसेंट का उपयोग करके भी प्रशिक्षित किया जा सकता है।


बस चीजों को स्पष्ट करने के लिए, किसी भी रैखिक मॉडल को SGD का उपयोग करके प्रशिक्षित नहीं किया जा सकता है, किसी को कम से कम उद्देश्य के एक विशेष रूप (एडिटिव लॉस फंक्शन) को ग्रहण करने की आवश्यकता है
lejlot

6

कृपया कागज SVM वृद्धिशील अधिगम, अनुकूलन और अनुकूलन का संदर्भ लें , जिसने द्विआधारी वर्गीकरण के लिए एक ऑनलाइन SVM प्रस्तावित किया था।

उपरोक्त कागज का कोड यहां पाया जा सकता है । कोड में, ऑनलाइन प्रशिक्षण के दो तरीके पेश किए गए हैं:

  1. एसवीएम को एक बार में एक उदाहरण पर बुलाकर प्रशिक्षित करें svmtrain(), और
  2. बैच प्रशिक्षण करें, सभी प्रशिक्षण उदाहरणों को एक साथ कॉल करके समाधान में बढ़ाएँ svmtrain2()

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


(+1) हमारी साइट पर आपका स्वागत है!
whuber

0

कर्नेल के साथ ऑनलाइन लर्निंग सामान्य कर्नेल सेटिंग्स में ऑनलाइन सीखने पर चर्चा करता है।

अमूर्त से अंश -

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

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