में ग्रेडियेंट डेसेंट कार्यान्वयन वास्तव में मैं इसके खिलाफ 2 महीने की तरह संघर्ष कर रहा हूं। यह क्या है जो इन्हें अलग करता है?ऑक्टेट
hypotheses= X * theta
temp=(hypotheses-y)'
temp=X(:,1) * temp
temp=temp * (1/m)
temp=temp * alpha
theta(1)=theta(1)-temp
hypotheses= X * theta
temp=(hypotheses-y)'
temp=temp * (1/m)
temp=temp * alpha
theta(2)=theta(2)-temp
theta(1) = theta(1) - alpha * (1/m) * ((X * theta) - y)' * X(:, 1);
theta(2) = theta(2) - alpha * (1/m) * ((X * theta) - y)' * X(:, 2);
उत्तरार्द्ध काम करता है। मुझे यकीन नहीं है कि क्यों .. मैं मैट्रिक्स उलटा की आवश्यकता को समझने के लिए संघर्ष करता हूं।
मुझे लगता है कि यह ढाल मूल के एक उचित कार्यान्वयन है न। आपको अपडेट करने की जरूरत है। आपके थैटा दोनों एक ही समय में सटीक होने के लिए। 'tmpTheta1 = theta (1) - अल्फा * (1/एम) * ((एक्स * थेटा) - वाई) '* एक्स (:, 1); tmpTheta2 = theta (2) - अल्फा * (1/एम) * ((एक्स * थीटा) - वाई) '* एक्स (:, 2); ' ' थेटा (1) = tmpTheta1; ' ' theta (2) = tmpTheta2; ' –