2016-09-01 4 views
12

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

मैं जानना चाहता हूं कि सामान्य डेटासेट के लिए डेटा वृद्धि तकनीक उपलब्ध है या नहीं? जैसा कि अधिक डेटा उत्पन्न करने के लिए यादृच्छिकता का उपयोग करना संभव है? मैंने जवाब here पढ़ा लेकिन मुझे समझ में नहीं आया।

कृपया यदि संभव हो तो कृपया कार्य के विवरण के साथ उत्तर दें।

किसी भी मदद की सराहना की जाएगी।

उत्तर

4

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

मैटलैब में autoencoder कक्षा के साथ-साथ function है, जो यह सब आपके लिए करेगा। Matlab मदद फ़ाइलों से

प्रशिक्षण डेटा जेनरेट करें।

rng(0,'twister'); % For reproducibility 
n = 1000; 
r = linspace(-10,10,n)'; 
x = 1 + r*5e-2 + sin(r)./r + 0.2*randn(n,1); 

ट्रेन autoencoder प्रशिक्षण डेटा का उपयोग कर।

hiddenSize = 25; 
autoenc = trainAutoencoder(x',hiddenSize,... 
     'EncoderTransferFunction','satlin',... 
     'DecoderTransferFunction','purelin',... 
     'L2WeightRegularization',0.01,... 
     'SparsityRegularization',4,... 
     'SparsityProportion',0.10); 

परीक्षण डेटा उत्पन्न करें।

n = 1000; 
r = sort(-10 + 20*rand(n,1)); 
xtest = 1 + r*5e-2 + sin(r)./r + 0.4*randn(n,1); 

प्रशिक्षित autoencoder का उपयोग कर परीक्षण डाटा, autoenc भविष्यवाणी।

xReconstructed = predict(autoenc,xtest'); 

प्लॉट वास्तविक परीक्षण डेटा और पूर्वानुमान।

figure; 
plot(xtest,'r.'); 
hold on 
plot(xReconstructed,'go'); 

Plot results

आप हरे रंग cicrles जो ऑटो एनकोडर के साथ उत्पन्न अतिरिक्त डेटा का प्रतिनिधित्व करते देख सकते हैं।

+0

मैंने लेख पढ़ा। एक प्रश्न, ऑटो-एन्कोडर्स असुरक्षित हैं। हालांकि मुझे प्रशिक्षण चरण के दौरान लेबल तक पहुंच है। मान लीजिए मेरे पास 5 कक्षाएं हैं। क्या मुझे पांच अलग-अलग वर्गों के लिए उदाहरण उत्पन्न करने के लिए 5 अलग-अलग ऑटो-एन्कोडर्स को प्रशिक्षित करने की आवश्यकता है या एक पर्याप्त होगा? कृपया उत्तर दें। – roni

+0

अगर हम ऑटो-एन्कोडर्स के लिए केवल एक ही परत का उपयोग करते हैं तो पुनर्निर्माण कितना अच्छा होगा? कृपया इस http://in.mathworks.com/help/nnet/ref/autoencoder.predict.html की जांच करें। पुनर्निर्मित छवियां बहुत खराब हैं - जो सवाल पूछती है कि यदि हमने अधिकतर परतों का उपयोग किया था, तो पुनर्निर्माण बेहतर होना चाहिए । – roni

संबंधित मुद्दे