एक गाऊसी कर्नेल द्वारा धुंधला 1D सिग्नल की विकृति


12

मैंने शोरगुल पैदा करने के लिए आ गॉसियन और अतिरिक्त शोर (इस मामले में पॉइसन शोर) के साथ एक यादृच्छिक संकेत का संकेत दिया है। अब मैं एक ही गाऊसी का उपयोग करके मूल संकेत को निकालने के लिए इस शोर संकेत को फिर से जोड़ना चाहूंगा।

समस्या यह है कि मुझे एक कोड की आवश्यकता है जो 1 डी में डिकोन्वोल्यूशन का काम करता है। (मैंने पहले से ही 2 डी में कुछ पाया है लेकिन मेरा मुख्य उद्देश्य 1 डी है)।

क्या आप कृपया मुझे कुछ पैकेज या प्रोग्राम सुझा सकते हैं जो ऐसा करने में सक्षम हैं? (अधिमानतः MATLAB में)

मदद के लिए अग्रिम धन्यवाद।


1
MATLAB में फ़ंक्शन डिकॉनव का उपयोग करें।
गोखान गुआल

जोड़ा शोर के साथ काम नहीं करता ...
16:17 पर user1724

आप एक सिग्नल को डिकॉन् हल नहीं कर सकते हैं । आप दो संकेतों को देखते हुए उलटे अनुमान लगा सकते हैं : सिस्टम की आवेग प्रतिक्रिया और सिस्टम आउटपुट। आप कौन सा करने की कोशिश कर रहे हैं?
फ़ोनॉन

2
@Ponon: इस टिप्पणी के साथ बहुत देर हो चुकी है, लेकिन अंधा deconvolution तरीके हैं जिन्हें सिस्टम आवेग प्रतिक्रिया के ज्ञान की आवश्यकता नहीं है। जैसा कि आप कल्पना कर सकते हैं, आप बेहतर कर सकते हैं यदि आप आवेग प्रतिक्रिया जानते हैं, हालांकि।
जेसन आर

1
@ जैसनआर फेयर पॉइंट।
फ़ोनॉन

जवाबों:


14

मैंने इसे एक बार StackOverflow पर समझाया है ।


आपके सिग्नल को वेक्टर के रूप में दर्शाया जा सकता है, और एन-विकर्ण मैट्रिक्स (जहां एन फिल्टर की लंबाई है) के साथ कनविक्शन गुणा है। मैं इस जवाब के लिए मान रहा हूं कि फिल्टर सिग्नल की तुलना में बहुत छोटा है

उदाहरण के लिए:

आपका वेक्टर / सिग्नल है:

V1
V2
...
Vn

आपका फ़िल्टर (दीक्षांत तत्व) है:

  [b1 b2 b3];

तो मैट्रिक्स nxn है: (इसे ए कहा जाए):

[b2 b3 0  0  0  0.... 0]
[b1 b2 b3 0  0  0.... 0]
[0  b1 b2 b3 0  0.... 0]
.....
[0  0  0  0  0  0...b2 b3]

बातचीत है:

A*v;

और डे-कन्वेंशन है

A^(-1) * ( A) * v;

जाहिर है, कुछ मामलों में डी-कन्वेंशन संभव नहीं है। ये ऐसे मामले हैं जब आपके पास एकवचन है। यहां तक ​​कि मैट्रिक्स भी जो एकवचन नहीं हैं, लेकिन एकवचन के करीब हैं, समस्याग्रस्त हो सकते हैं, क्योंकि उनके पास बड़ी संख्यात्मक त्रुटि होगी। आप मैट्रिक्स की स्थिति संख्या की गणना करके इसका अनुमान लगा सकते हैं ।

यदि A की स्थिति कम है, तो आप उलटा गणना कर सकते हैं, और परिणाम पर इसे लागू कर सकते हैं।


अब, चलिए मतलाब में कुछ उदाहरण देखते हैं:

सबसे पहले, मैंने एक फ़ंक्शन बनाया है जो कन्वेंशन मैट्रिक्स की गणना करता है।

function A = GetConvolutionMatrix(b,numA)
    A = zeros(numA,numA);
    vec = [b  zeros(1,numA-numel(b))];
    for i=1:size(A,1)
        A(i,:) = circshift(vec,[1 i]);
    end
end

अब, आइए देखें कि विभिन्न गुठली के साथ क्या होता है:

    b = [1 1 1];
    A = GetConvolutionMatrix(b,10);
    disp(cond(A));

शर्त संख्या है:

 7.8541

यह एक समस्याग्रस्त है, जैसा कि अपेक्षित था। औसत के बाद, मूल सिग्नल को वापस पाना कठिन है।

अब, आइए कुछ औसत औसत का प्रयास करें:

b = [0.1 0.8 0.1];
A = GetConvolutionMatrix(b,10);
disp(cond(A));

परिणाम है:

1.6667

यह हमारे अंतर्ज्ञान के साथ अच्छी तरह से चला जाता है, मूल सिग्नल के हल्के औसत को रिवर्स करना बहुत आसान है।

हम यह भी देख सकते हैं कि उलटा मैट्रिक्स कैसा दिखता है:

 figure;imagesc(inv(A));

यहाँ छवि विवरण दर्ज करें

यहाँ मैट्रिक्स से एक पंक्ति है:

  0.0003   -0.0026    0.0208   -0.1640    1.2910   -0.1640    0.0208   -0.0026    0.0003   -0.0001

हम देख सकते हैं कि प्रत्येक पंक्ति में अधिकांश ऊर्जा केंद्र के चारों ओर 3-5 गुणांक में केंद्रित है। इसलिए, डीकोन्वोल्व करने के लिए, हम बस इस सन्निकटन के साथ फिर से संकेत को हल कर सकते हैं:

   [0.0208   -0.1640    1.2910   -0.1640    0.0208]

यह कर्नेल दिलचस्प लग रहा है! यह एक तेज करने वाला ऑपरेटर है। हमारा अंतर्ज्ञान सही है, धब्बा को रद्द करना तेज करना।


3
यह उत्तर और अधिक उत्थान के योग्य है
गतिशील

1
आपको क्या लगता है कि मैट्रिक्स ट्रिडियोनियल है? सर्कुलर कन्वेंशन के लिए यह सर्कुलर होगा। ज्यादातर मामलों में यह Toeplitz होगा। मेरे समाधान पर एक नजर है।
रॉय

जवाब पढ़ें - मैं एक ऐसे मामले का विश्लेषण कर रहा हूं जहां फिल्टर में 3 तत्व हैं। इमेज प्रोसेसिंग में ज्यादातर मामलों में, फिल्टर सिग्नल की तुलना में बहुत छोटा होता है। तो हां, यह एक टोप्लाइज मैट्रिक्स है, लेकिन यह एन-विकर्ण भी है, जहां एन फिल्टर की लंबाई है। इमेज प्रोसेसिंग में सर्कुलर कनवल्शन भी काफी बेकार है।
एंड्रे रुबेश्टिन

मैंने उत्तर को किसी भी भ्रम से बचने के लिए अद्यतन किया है।
एंड्री रुबेश्टिन

क्या आपने गौसियन कर्नेल को देखा है जिसे 3 नमूनों में लागू किया गया है?
रॉय

5

यदि आपने यादृच्छिक शोर जोड़ा है तो आपको मूल संकेत नहीं मिल सकता है ... आप आवृत्ति डोमेन में संकेतों को अलग करने की कोशिश कर सकते हैं (यदि शोर और संकेत अलग-अलग आवृत्तियों के हैं)। लेकिन ऐसा लगता है कि आप जो खोज रहे हैं वह वीनर फिल्टर है।


5

मुझे लगता है कि यह अभी भी एक खुली समस्या है।

कई शोध पत्र हैं जो मूल संकेत को पुनर्प्राप्त करने का प्रयास करते हैं जो वे कर सकते हैं।

एक क्लासिक दृष्टिकोण वेवलेट-आधारित विधियों के माध्यम से है ।

इस तरह से शब्दकोश दृष्टिकोण भी हैं ।

डेविड एल। डोनहो, माइकल एल्द, अल्फ्रेड एम। ब्रुकस्टीन आदि द्वारा किए गए शोध के बाद आप समस्या का अधिक गहराई से विचार कर सकते हैं।


1
हाल ही में Nguyen, Farge & Schneider द्वारा जटिल Morlet तरंगिका का उपयोग करते हुए एक पेपर अच्छा परिणाम देता है। Google इस ग्रंथ सूची कोड: 2012PhyD..241..186N मेरे एक दोस्त ने उत्कृष्ट परिणामों के साथ इंटरस्टेलर माध्यम पर 2D तरंगिकाओं के साथ इस पद्धति का उपयोग किया। मुझे अभी तक इसे विवरण में देखना है।
PhilMacKay

3

यदि मैंने समस्या को ठीक से समझा है, तो हम समस्या को इस प्रकार औपचारिक रूप दे सकते हैं:

हमारे पास एक सिग्नल मॉडल है,

y=Hx+η

कहाँ पे y अवलोकन है, H दृढ़ संकल्प ऑपरेटर है, और ηशोर है। हम अनुमान लगाना चाहते हैंx अवलोकन और शोर की विशेषताओं के ज्ञान का उपयोग करके।

इस मामले में, ηएक पॉइसन वितरण से सिम्युलेटेड है। हालांकि, उपर्युक्त शब्दकोश एक गाऊसी शोर धारणा के नीचे आता है। इस मामले में, गाऊसी दोषी ऑपरेटर है, न कि शोर।

मैंने पॉइसन शोर के तहत सिग्नल रिकवरी पर काम नहीं किया, लेकिन मैंने गुगली की और पाया कि यह पेपर उपयोगी हो सकता है। उस संदर्भ में समान दृष्टिकोण इस समस्या के लिए उपयोगी हो सकते हैं।


3

एक शोर डेटा की विकृति एक बीमार समस्या के रूप में जानी जाती है, क्योंकि पुनर्निर्मित सिग्नल में शोर को मनमाने ढंग से बढ़ाया जाता है। इसलिए, समाधान को स्थिर करने के लिए एक नियमितीकरण विधि की आवश्यकता होती है। यहां, आप एक MATLAB पैकेज पा सकते हैं जो इस मुद्दे को टिखोनोव के नियमितीकरण एल्गोरिथ्म को लागू करके संबोधित करता है:

https://github.com/soheil-soltani/TranKin


3

मैं सवाल के बहुत शुरुआत में जाऊंगा। MATLAB में deconvolution फ़ंक्शन हैं जो छवि प्रसंस्करण अनुप्रयोगों के लिए उपयोग किए जाते हैं। हालाँकि, आप इन कार्यों का उपयोग 1D संकेतों के लिए भी कर सकते हैं। उदाहरण के लिए,

% a random signal
sig_clean = zeros(1,200); 
sig_clean(80:100)=100;

figure
subplot(1,3,1)
plot(sig_clean,'b-.','LineWidth',2)
legend('Clean Signal')

% convolve it with a gaussian
x=1:30;
h = exp(-(x-15).^2/20); h=h/sum(h);
sig_noisy = conv(sig_clean,h,'same');

% and add noise
sig_noisy = awgn(sig_noisy,0,'measured');

subplot(1,3,2)
plot(sig_noisy,'r')
hold on, plot(sig_clean,'b-.','LineWidth',3)
legend('Blurred and noise added signal','Clean Signal')

( sig_noisy = sig_clean * h + noise) तो क्यों नहीं hसमारोह के साथ उत्पादन संकेत deconvolve और (लगभग) इनपुट संकेत प्राप्त करते हैं। मैं यहां वीनर डिकॉन्वॉल्यूशन का उपयोग कर रहा हूं

sig_deconvolved=deconvwnr(sig_noisy,h,1);

subplot(1,3,3)
plot(sig_noisy,'r')
hold on, plot(sig_clean,'b-.','LineWidth',2)
hold on, plot(sig_deconvolved,'k--','LineWidth',2)
legend('Blurred and noise added signal','Clean Signal','Deconvolved Signal')

यहाँ छवि विवरण दर्ज करें वैकल्पिक रूप से, यदि आप hफ़ंक्शन को नहीं जानते हैं, लेकिन इनपुट और आउटपुट को जानते हैं, तो इस बार आउटपुट के साथ इनपुट सिग्नल को डिकॉन् हल नहीं करेंगे जो h^-1फ़ंक्शन देगा। फिर आप इसे शोर सिग्नल को फ़िल्टर करने के लिए एक फिल्टर के रूप में उपयोग कर सकते हैं। ( sig_clean = sig_noisy * h^-1)

h_inv=deconvwnr(sig_clean,sig_noisy,1);

figure;
subplot(1,2,1)
plot(h_inv)
legend('h^-^1')


sig_filtered=conv(sig_noisy,h_inv,'same');
subplot(1,2,2)
plot(sig_noisy,'r')
hold on, plot(sig_clean,'b-.','LineWidth',2)
hold on, plot(sig_filtered,'k--','LineWidth',2)
legend('Blurred and noise added signal','Clean Signal','Filtered Signal')

यहाँ छवि विवरण दर्ज करें

मुझे उम्मीद है यह मदद करेगा।


2

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

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

यह ध्यान रखना महत्वपूर्ण है कि शोर गुणक और अभिव्यक्त गुणांक में जोड़ा जाता है। इसलिए यह मामला भी हो सकता है कि आपके समीकरण की प्रणाली अंततः असमान नहीं है। यह सुनिश्चित करने के लिए कि यह विशिष्ट रूप से आपके गुणांक मैट्रिक्स को चौकोर और पूर्ण रैंक का होना चाहिए।


2

ऐसा करना मुश्किल होगा। एक गाऊसी के साथ वार्तालाप आवृत्ति डोमेन में गाऊसी के एक फूरियर ट्रांसफॉर्म के साथ गुणा के बराबर है। यह भी एक गाऊसी होता है संक्षेप में यह एक कम पास फिल्टर है और उस पर वास्तव में प्रभावी है। एक बार जब आप शोर को जोड़ते हैं तो गॉसियन के "स्टॉप बैंड" को नष्ट कर दिया जाता है। उसे ठीक करने का कोई उपाय नहीं है।

डी-कन्वेंशन अनिवार्य रूप से आवृत्ति प्रतिक्रिया के व्युत्क्रम के साथ गुणा कर रहा है। यहां समस्या यह है: आवृत्ति प्रतिक्रिया का व्युत्क्रम वास्तव में बड़ा हो जाता है, वास्तव में बड़ा जहां मूल गौसियन बहुत छोटा है। इन आवृत्तियों पर आप मूल रूप से शोर को भारी मात्रा में बढ़ाएंगे। यहां तक ​​कि अगर सब कुछ पूरी तरह से शोर मुक्त होगा, तो आप सबसे अधिक संख्यात्मक समस्याओं में भाग लेंगे।


2

दृष्टिकोण

Deconvolution के लिए कई तरीके हैं (अर्थात् गिरावट संचालक रैखिक है और समय / अंतरिक्ष आक्रमणकारी) वहाँ से बाहर है।
वे सभी इस तथ्य से निपटने की कोशिश करते हैं कि समस्या कई मामलों में बीमार है।

बेहतर तरीके वे हैं जो डेटा के मॉडल को बहाल करने के लिए कुछ नियमितीकरण जोड़ते हैं।
यह सांख्यिकीय मॉडल (Priors) या कोई ज्ञान हो सकता है।
छवियों के लिए, एक अच्छा मॉडल टुकड़ा बुद्धिमान या ग्रेडिएंट की सुस्पष्टता है।

लेकिन उत्तर के लिए एक साधारण पैरामीट्रिक दृष्टिकोण लिया जाएगा - माप में मॉडल में बहाल डेटा के बीच कम से कम वर्ग त्रुटि को कम करना।

नमूना

सबसे कम वर्ग मॉडल सरल है।
डेटा के एक फ़ंक्शन के रूप में उद्देश्य फ़ंक्शन द्वारा दिया गया है:

f(x)=12hxy22

अनुकूलन समस्या निम्न द्वारा दी गई है:

argminxf(x)=argminx12hxy22

जहाँ डेटा को पुनर्स्थापित किया जाना है, ब्लरिंग कर्नेल (इस मामले में गाऊसी) है और दिए गए मापों का समूह है। मॉडल मानता है कि माप केवल दीक्षांत के वैध भाग के लिए दिए गए हैं। अर्थात् यदि और तो जहां ।xhy
xRnhRkyRmm=nk+1

यह परिमित स्थान में एक रैखिक ऑपरेशन है, इसलिए इसे मैट्रिक्स फॉर्म का उपयोग करके लिखा जा सकता है:

argminxf(x)=argminx12Hxy22

जहां कनवल्शन मैट्रिक्स है।HRm×n

समाधान

निम्न वर्ग समाधान द्वारा दिया गया है:

x^=(HTH)1HTy

जैसा कि देखा जा सकता है कि इसके लिए मैट्रिक्स व्युत्क्रम की आवश्यकता होती है।
इसे पर्याप्त रूप से हल करने की क्षमता ऑपरेटर की स्थिति संख्या पर निर्भर करती है, जो । HTHcond(H)=cond(HTH)

हालत संख्या विश्लेषण

इस शर्त संख्या के पीछे क्या है?
कोई इसका उत्तर रैखिक बीजगणित का उपयोग करके दे सकता है।
लेकिन मेरी राय में, एक अधिक सहज, आवृत्ति डोमेन में इसके बारे में सोच रही होगी।

मूल रूप से गिरावट ऑपरेटर आम तौर पर उच्च आवृत्ति की ऊर्जा को दर्शाता है।
अब, चूंकि आवृत्ति में यह मूल रूप से एक तत्व वार गुणन है, तो कोई उलटा फिल्टर द्वारा तत्व वार विभाजन को उलटने का आसान तरीका कहेगा।
खैर, यह वही है जो ऊपर किया गया है।
समस्या उन मामलों के साथ उत्पन्न होती है, जो फिल्टर को व्यावहारिक रूप से शून्य में ऊर्जा में बदल देता है। फिर हमें वास्तविक समस्याएं हैं ...
यह मूल रूप से वही है जो हालत संख्या हमें बताती है, दूसरों के सापेक्ष कुछ आवृत्तियों को कितना कठिन माना गया था।

यहाँ छवि विवरण दर्ज करें

ऊपर एक गॉसियन फ़िल्टर एसटीडी पैरामीटर के एक फ़ंक्शन के रूप में स्थिति संख्या ([डीबी] इकाइयों का उपयोग करके) देख सकता है।
जैसा कि उम्मीद की गई थी, एसटीडी बदतर स्थिति संख्या जितनी उच्च एसटीडी का मतलब है मजबूत एलपीएफ (अंत में नीचे जाने वाले मूल्य संख्यात्मक मुद्दे हैं)।

संख्यात्मक समाधान

गॉसियन ब्लर कर्नेल का पहनावा बनाया गया था।

यहाँ छवि विवरण दर्ज करें

पैरामीटर , और । डेटा यादृच्छिक है और कोई शोर नहीं जोड़ा गया था।n=300k=31m=270

MATLAB में रैखिक प्रणाली का उपयोग करके हल किया गया था pinv()जो SVD आधारित छद्म व्युत्क्रम और \ऑपरेटर का उपयोग करता है ।

यहाँ छवि विवरण दर्ज करें

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

कोई त्रुटि क्यों है?
एक समाधान देख रहे हैं (उच्चतम STD के लिए):

यहाँ छवि विवरण दर्ज करें

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

शोर

अगर हम शोर मचाते, तो चीजें अलग होतीं!
कारण परिणाम पहले अच्छे थे क्योंकि MATLAB डेटा की DR को संभाल सकता था और समीकरणों को हल कर सकता था, भले ही उनके पास कोई उच्च संख्या थी।

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

यहाँ छवि विवरण दर्ज करें

जैसा कि ऊपर देखा जा सकता है, अब पुनर्निर्माण काम नहीं करेगा।

सारांश

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

व्यवहार में, कुछ पुजारियों को जोड़ने के लिए स्थिर परिणाम होना चाहिए।

कोड मेरे StackExchange सिग्नल प्रोसेसिंग Q2969 GitHub रिपॉजिटरी में उपलब्ध है


2

सामान्य तौर पर, दो या दो से अधिक घटकों को निकालने की समस्या के लिए सामान्य रूप से इस मुद्दे को संभालने के लिए एक विधि है कि स्पेक्ट्रा G², G¹ signals, संकेतों के Gⁿ को लेना # 1, # 2, ..., #n, कुल को सारणीबद्ध करें। वर्ग square (ν) = | G¹ (ν) | | + | G (ν) | ⋯ + ⁿ + = Gⁿ (ν) | प्रत्येक आवृत्ति ν पर, और G₁ (ν) ize G¹ (ν) * / Γ को सामान्य करें। (ν), G₂ (ν) ² G (ν) * /) (ν), ..., G_n (ν) ⁿ Gⁿ (ν) * / Γ (ν)। गैर-परिभाषितता और शोर के साथ समस्या इस तथ्य से मेल खाती है कि ν (ν) ~ 0 कुछ आवृत्तियों ν के लिए संभव है। इसे संभालने के लिए, G (ν) = स्थिरांक - "शोर" संकेत निकालने के लिए एक और "सिग्नल" जोड़ें। अब Now (ν) नीचे सख्ती से बांधा जाएगा। यह लगभग निश्चित रूप से तिखोनोव नियमितीकरण से जुड़ा हुआ है, लेकिन मैंने कभी भी कोई समकक्ष परिणाम या अन्य पत्राचार नहीं पाया या स्थापित नहीं किया। यह सरल और अधिक प्रत्यक्ष और सहज है।

वैकल्पिक रूप से, आप एक उपयुक्त आंतरिक उत्पाद जैसे «जी, जी» ») जी (ν) * जी’ (ν) डीपीओ से लैस जी के वैक्टर का इलाज कर सकते हैं, और दोहरे के रूप में (जी, जी, जी, G, जी_ एन) ले सकते हैं। (जैसे सामान्यीकृत व्युत्क्रम) का (G the, G⋯, ⁿ, G -) - निश्चित रूप से, घटक वैक्टर रैखिक रूप से स्वतंत्र हैं।

गॉसियन डिकॉन्वॉल्यूशन के लिए, कोई n = 1, G the = "शोर" सिग्नल और G G = "गॉसियन" सिग्नल सेट करेगा।


1

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


1

दरअसल, सवाल स्पष्ट नहीं है। लेकिन जवाब में आप के लिए क्या पूछा है। आप कुछ लोगों की सलाह के रूप में रैखिक बीजीय समीकरणों की एक प्रणाली का निर्माण कर सकते हैं, यह सही है, लेकिन ज्ञात संकेत पर निर्मित मैट्रिक्स तथाकथित खराब स्थिति है। इसका मतलब है कि जब आप इसे उल्टा करने की कोशिश करते हैं, तो ट्रंकेशन त्रुटियां समाधान को मार देती हैं और आपको परिणाम में यादृच्छिक संख्याएं प्राप्त होती हैं। आम दृष्टिकोण चरम सीमा पर विवश है। आप समाधान के मानक को कम करें || x || विवशता के साथ || कुल्हाड़ी - y || <डेल्टा। तो आप ऐसे x को सबसे छोटे मानदंड के साथ देख रहे हैं जो Ax और y के बीच अंतर को बड़ा नहीं होने देता है। यह बहुत सरल है आपको कम से कम वर्गों के आवेदन में प्राप्त मैट्रिक्स के प्रमुख विकर्ण पर नियमितीकरण के तथाकथित पैरामीटर को जोड़ने की आवश्यकता है। इसे तिखोनोव नियमितीकरण कहा जाता है। मेरे पास कोडिंग नमूने हैं जो ऐसा करते हैं,

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