شبهمعکوس Moore–Penrose میتواند از میانِ جوابهای کمترین مربعها،جوابِ دارایِ کمترین نرم را انتخاب کند. یکتابودنِ خروجیِ این قاعده،یکتابودنِ ضرایبِ مسئله یا اثرِ واقعیِ ویژگیها نیست. در این تمرین A+را برای یک ماتریسِ رتبهیک دقیق میسازیم و چهار هویتِ آن را مستقل کنترل میکنیم.
ستونهای وابسته و پاسخِ ناسازگار
A سطرهای[۱،۱]و[۲،۲]دارد وb=[۱،۳]است. هر پیشبینی فقط به جمعِ دو ضریب وابسته است؛ نمیتوان همزمان جمع را۱و۲برابرِ آن را۳گرفت. پس باقیماندهٔ صفر برای این دستگاه وجود ندارد، اما کمینهٔ مربعِ باقیمانده تعریف میشود.
ماتریس را به صورتِ u×vᵀباu=[۱،۲]وv=[۱،۱]مینویسیم. برای همین ساختارِ رتبهیک، A+=v×uᵀ/((uᵀu)(vᵀv))است. مخرج۱۰میشود و هر دو سطرِ شبهمعکوس[۱/۱۰،۱/۵]هستند؛ معکوسِ عادیِ ماتریسِ رتبهناقص را صدا نزدهایم.
چهار هویت را واقعاً ضرب کنیم
چهار شرطِ A A+ A=A، A+ A A+=A+و متقارنبودنِ هر دو حاصلِ A A+وA+ Aبا ضربِ کسریِ دقیق کنترل میشوند. فقط نزدیکبودنِ یک پیشبینی به bبرای تأییدِ خودِ operator کافی نیست؛ شبهمعکوس برای هر bنقش دارد.
با bهمین مثال، x=A+bبرابرِ[۷/۱۰،۷/۱۰]میشود. پیشبینی[۷/۵،۱۴/۵]و باقیمانده[۲/۵،−۱/۵]است؛ جمعِ مربع۱/۵میشود. این عدد خطایِ همان دستگاه است، نه درصدِ دقت یا خطایِ آیندهٔ مدل.
همان باقیمانده با جوابهای دیگر
خانوادهٔ x(t)=[۷/۱۰+t،۷/۱۰−t]همان جمعِ ضریب و همان پیشبینی را دارد. برای۱۷مقدارِ یکچهارمیِ tاز−۲تا۲، کد باقیماندهٔ مربعِ ۱/۵را واقعاً کنترل میکند. نرمِ مربعِ جواب۴۹/۵۰+۲t²است؛ در t=۰کمترین میشود.
این رابطهٔ بسته علتِ انتخابِ کمهنجار را برای تمامِ خانواده روشن میکند؛۱۷نمونه بهتنهایی اثباتِ همهٔ tها نیست. همخطیِ چندگانه مشکلِ شناساییِ ضرایب را توضیح میدهد؛ قاعدهٔ کمهنجار،اطلاعاتِ مستقلِ تازه به ستونها اضافه نکرده است.
NumPy را با قراردادِ صریح مقایسه کنیم
در NumPy۲٫۳٫۵موجود، pinvوlstsqباrcond=۱e−۱۲واقعاً اجرا میشوند. کلِ ماتریسِ شبهمعکوس و بردارِ جواب با مرجعِ Fraction در تلورانسِ ۱e−۱۲برابرند. یک دستگاهِ مستقلِ دو معادله و سه مجهول هم جوابِ[۱،۱،۳]و چهار هویتِ دقیق دارد.
آرایهٔ residualsدرlstsqبرای برخی شکلها و رتبهها خالی است؛ خالیبودنِ آن را با صفرشدنِ SSEیکی نمیگیریم. کدِ ما باقیمانده را ازAوxوbمستقیم میسازد. ماتریسِ صفر نیز جدا اجرا میشود و شبهمعکوسِ صفر دارد؛ bغیرصفر همچنان باقیمانده دارد.
cutoff یک انتخابِ عددی است
برای قطرِ[۱،۱e−۸]، pinvباrcond=۱e−۶مؤلفهٔ کوچک را حذف میکند؛ با۱e−۱۰آن را نگه میدارد و وارونِ ۱e۸میدهد. رتبهٔ گزارششده به آستانه وابسته است؛ آن را کشفِ خودکارِ حقیقتِ ریاضی یا معنایِ ویژگی ننامیم.
هشت ورودیِ نامعتبر، از شکلِ ناسازگارِ bو ماتریسِ ناهموار تاNaN،بولین،خالی،آستانهٔ منفی یا نامتناهی و بعدِ بیش از۴، رد میشوند. ورودیِ دقیقِ ماتریس،کرانِ مقدار و مخرج دارد؛ کد حلکنندهٔ عمومیِ تضمینشدهٔ همهٔ مسائلِ بدشرط نیست.
SVD بازسازیِ کمرتبه و QR عاملگیریِ دیگری دارند. ادامه در آموزش هوش مصنوعی؛ آموزش،بهبودِ مدل یا حلگرِ داخلیِ اپرا گزارش نمیشود.
فایل تمرین و منبع
کد کاملِ تمرینِ مستقل و کنترلها؛ Python · ورودی و تمامِ خروجیِ اجرای واقعی؛ JSON
- مستندات رسمی NumPy۲٫۳؛ تعریف،SVD وقطعِ مقدارهای تکین باrcond خوانده و تابع درNumPy۲٫۳٫۵موجود واقعاً اجرا شد
- مستندات رسمی NumPy۲٫۳؛ کمینهٔ نرمِ جواب و معنایِ آرایهٔ residuals وrank خوانده وlstsq باcutoffصریح اجرا شد
منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.