कक्षा वितरण
आप "माने कि एक (भविष्यवाणी चर में वितरण इस्तेमाल कर सकते हैं" से की भविष्यवाणी की कक्षाओं के अनुपात की जांच (थोड़ा कोस अंकन) द्वारा D1
में X
का वितरण यह। ")। हालांकि यह केवल एक संकेत हो सकता है। मैं उद्योग में क्लासिफायरों का निर्माण करने के लिए भविष्यवाणी कर रहा हूं कि एक मशीन असफल हो जाएगी (अनुमानित रखरखाव)। बहुत सारे इंजीनियर मेरे इनपुट डेटा को कम करने की कोशिश कर रहे हैं, यह कर रहा है मशीनें अधिक विश्वसनीय उत्पाद बनाती हैं। हालांकि, यह कोई समस्या नहीं है, क्योंकि एक वर्ग मूल रूप से गायब हो जाता है। हालांकि, क्लासिफायर अभी भी वैध हैं।
परीक्षण सेट पर लक्ष्य लेबल में वितरण को "कैसे ठीक करें" प्रश्न पर एक बहुत ही सरल तरीका है। विचार मूल रूप से इच्छित परीक्षण परिवर्तनीय वितरण के अनुसार डेटा बिंदुओं के अनुमानित लेबल और नमूना (प्रतिस्थापन के अनुसार) के अनुसार सभी परीक्षण उदाहरणों को वर्गीकृत करना होगा। फिर आप X
सुविधाओं पर वितरण की जांच करने का प्रयास कर सकते हैं लेकिन यह आपको बहुत कुछ नहीं बताएगा।
क्या स्काईनेस एक समस्या हो सकती है? दरअसल यह क्लासिफायर के रूप में आमतौर पर F1
माप या कुछ अन्य सांख्यिकीय संपत्ति को कम करने की कोशिश करता है। यदि आप अग्रिम में D2
में वितरण को जानते हैं तो आप एक लागत कार्य प्रदान कर सकते हैं जो इस वितरण के तहत लागत को कम करता है। इन लागतों का उपयोग अन्य उत्तरों में उल्लिखित प्रशिक्षण डेटा को फिर से शुरू करने के लिए किया जा सकता है, हालांकि, कुछ सीखने वाले एल्गोरिदम में भी इस जानकारी को शामिल करने के लिए अधिक विस्तृत तकनीकें हैं।
बाहरी जांच
एक सवाल है कि क्या आप पता लगा सकते हैं कि कुछ आदानों X
में बदल गया है। यह बहुत महत्वपूर्ण है क्योंकि इससे संकेत मिलता है कि आपके पास गलत डेटा है। आप काफी सरल परीक्षणों को लागू कर सकते हैं जैसे उदाहरण के लिए सभी आयामों में माध्य और वितरण। हालांकि, यह चर के बीच निर्भरताओं को अनदेखा करता है।
निम्न दो चित्रण im आईरिस डाटासेट दो तकनीकों मेरे मन जो आप पता लगाने के लिए डेटा में है कि कुछ बदल गया है अनुमति देने के लिए कूद का उपयोग कर के लिए
। पहली तकनीक पीसीए परिवर्तन पर निर्भर करती है। केवल संख्यात्मक के लिए लेकिन categorial सुविधाओं के लिए समान विचार हैं। पीसीए आपको अपने इनपुट डेटा को निम्न आयामी अंतरिक्ष में बदलने की अनुमति देता है। यह PCA(X,t)=PCA([X1,...,Xn],t)=[Cond1,...,Condm]=Cond
प्रक्षेपण t
जहां आम तौर पर n<<m
के साथ यह परिवर्तन अभी भी उलट है जैसे कि PCA^1(Cond,t) = X'
और त्रुटि MSE(X,X')
छोटा है। किसी समस्या का पता लगाने के लिए आप इस त्रुटि की निगरानी कर सकते हैं और एक बार बढ़ने के बाद आप कह सकते हैं कि आप अपनी भविष्यवाणियों पर विश्वास नहीं करते हैं।
अगर मैं versicolor
और virginica
से सभी डेटा पर एक पीसीए का निर्माण और (पीसीए सभी आईरिस आयामों पर) पुनर्निर्माण दो आयाम में त्रुटि साजिश मैं
मिलता लेकिन यदि वर्सिकलर नए डेटा है परिणाम कम विश्वास कर रहे हैं।
हालांकि, एक पीसीए (या बराबर।इसी तरह) संख्यात्मक डेटा के लिए किसी भी तरह से किया जाता है, इसलिए, यह बिना किसी ओवरहेड के अच्छे संकेत दे सकता है।
एक दूसरी तकनीक जिसे मैं जानता हूं, तथाकथित वन क्लास सपोर्ट वेक्टर मशीनों पर आधारित है। जहां एक सामान्य समर्थन वेक्टर मशीन एक वर्गीकृत का निर्माण करेगी जो दो लक्षित वर्ग Y
को अलग करने का प्रयास करती है। एक वर्ग समर्थन वेक्टर मशीन अदृश्य डेटा से अलग अलग करने की कोशिश करता है। यदि आप वर्गीकरण के लिए एक समर्थन वेक्टर मशीन का उपयोग करते हैं तो इन तकनीकों का उपयोग करना काफी आकर्षक है। आपको मूल रूप से दो वर्गीकरण मिलेंगे। पहला लक्ष्य लक्ष्य डेटा और दूसरा कहता है कि पहले समान डेटा देखा गया है या नहीं।
रूप versicolor
से डाटा देखा जा सकता है प्रकट होता है संदिग्ध छोड़ने जा रहे हैं:
अगर मैं नवीनता द्वारा setosa
और virginca
पर एक एक वर्ग वर्गीकारक और रंग का निर्माण मैं निम्नलिखित ग्राफ मिलता है। उस स्थिति में यह एक नई कक्षा है। हालांकि, अगर हम मान लेंगे कि ये कुंवारी के उदाहरण हैं तो वे खतरनाक रूप से हाइपरप्लेन के करीब बह रहे हैं।
अर्द्ध देखरेख सीखने और Transductive
अपने मूल समस्या हल करने के लिए। ट्रांसडक्टिव लर्निंग का विचार, अर्द्ध पर्यवेक्षित शिक्षा का एक विशेष मामला घुसपैठ कर सकता है। सेमी पर्यवेक्षण में प्रशिक्षण सेट सीखने में दो भाग होते हैं। लेबल किए गए डेटा और अनलॉक किए गए डेटा। सेमी-सुपर-एल वर्गीकरण बनाने के लिए इस डेटा का उपयोग करता है। ट्रांसडक्टिव लर्निंग एक विशेष मामला है जहां अनसुलझा डेटा आपका टेस्ट डेटा D2
है। विचार Vapnik द्वारा दिया गया था
Apendix
"जब आप एक सरल समस्या [D2
के लिए लेबल की भविष्यवाणी] को हल करना चाहते एक और अधिक जटिल समस्या [सभी संभव डेटा के लिए एक वर्गीकारक निर्माण] हल करने के लिए कोशिश मत करो" के रूप में भूखंडों के लिए आरसीडीई
ggplot(iris)+aes(x=Petal.Width,y=Petal.Length,color=Species)+geom_point()+stat_ellipse()
library(e1071)
iris[iris$Species %in% c("virginica","setosa"),]
ocl <- svm(iris[iris$Species %in% c("virginica","setosa"),3:4],type="one-classification")
coloring <- predict(ocl,iris[,3:4],decision.values=TRUE)
ggplot(iris)+aes(x=Petal.Width,y=Petal.Length,color=coloring)+geom_point()+stat_ellipse()
ggplot(iris)+aes(x=Petal.Width,y=Petal.Length)+geom_point(color=rgb(red=0.8+0.1*attr(coloring,"decision.values"),green=rep(0,150),blue=1-(0.8+0.1*attr(coloring,"decision.values"))))
pca <- prcomp(iris[,3:4])
#pca <- prcomp(iris[iris$Species %in% c("virginica","setosa"),1:4], retx = TRUE, scale = TRUE)
pca <- prcomp(iris[iris$Species %in% c("virginica","setosa"),1:4], retx = TRUE, scale = TRUE,tol=0.2)
pca <- prcomp(iris[iris$Species %in% c("virginica","versicolor"),1:4], retx = TRUE, scale = TRUE,tol=0.4)
predicted <-predict(pca,iris[,1:4])
inverted <- t(t(predicted %*% t(pca$rotation)) * pca$scale + pca$center)
ggplot(inverted[,3:4]-iris[,3:4])+aes(x=Petal.Width,y=Petal.Length,color=iris$
Species)+geom_point()+stat_ellipse()