SHAP برای توضیحِ یک پیشبینی، سهمِ ویژگیها را نسبت به یک مقدارِ مبنا بیان میکند. معنیِ سهم به مدل، خروجی و روشِ جایگزینیِ ویژگیِ پنهان وابسته است. در این تمرین، Shapley را برای دو ویژگی با تمامِ حالتها دقیق حساب میکنیم؛ کتابخانهٔ SHAP اجرا نشده و هیچ اثرِ علّی برآورد نشده است.
بازیِ توضیح را پیش از سهمها تعریف کنیم
تابعِ اصیلِ ما f(x1,x2)=3+2x1+x2+x1×x2 است. ورودیِ موردِ توضیح، (۲،۳) است و خروجیِ واقعیِ تابع ۱۶ میشود. واحدِ خروجی یک عددِ آموزشی است؛ درصد، احتمال یا امتیازِ مشتری نیست. برای هر ویژگیِ غایب، همان مختصهٔ یک بردارِ مبنا را جایگزین میکنیم؛ این قرارداد، توزیعِ شرطیِ دادهٔ واقعی را مدل نمیکند.
با دو ویژگی، چهار ائتلاف داریم: هیچکدام، فقط اول، فقط دوم و هر دو. سپس دو ترتیبِ ورودِ ویژگیها را بررسی میکنیم: اول-دوم و دوم-اول. سهمِ هر ویژگی، میانگینِ افزایشِ خروجی هنگامِ ورودش در این دو ترتیب است. کد واقعاً هر مسیر و مقدارِ قبل و بعد را محاسبه میکند.
مبنایِ صفر، پیشبینیِ ۱۶ را چگونه باز میکند؟
| ویژگیِ حاضر | ورودیِ ساختهشده | خروجی |
|---|---|---|
| هیچکدام | ۰،۰ | ۳ |
| فقط اول | ۲،۰ | ۷ |
| فقط دوم | ۰،۳ | ۶ |
| هر دو | ۲،۳ | ۱۶ |
در ترتیبِ اول-دوم، افزایشها چهار و نهاند؛ در ترتیبِ دوم-اول، ابتدا سه و سپس ده داریم. پس سهمِ ویژگیِ اول میانگینِ چهار و ده، یعنی هفت است؛ سهمِ دوم میانگینِ نه و سه، یعنی شش. مقدارِ مبنایِ سه بهعلاوهٔ هفت و شش، همان ۱۶ میشود.
همان پیشبینی، با مبنایِ دیگر
حالا بردارِ مبنا را (۱،۱) میگذاریم. مقدارِ پایه هفت است؛ خروجیِ فقطاول ده و فقطدوم یازده میشود. سهمها این بار چهار و پنجاند و دوباره ۷+۴+۵=۱۶. مدل و ورودیِ موردِ توضیح عوض نشدهاند؛ قراردادِ مقایسه تغییر کرده است.
بنابراین تفاوتِ سهمها لزوماً به معنیِ تغییرِ تصمیمِ مدل نیست. پیش از مقایسهٔ دو توضیح، ببینید پسزمینه، واحدِ خروجی و روشِ پنهانکردن یکی هستند یا خیر. یک مبنایِ غیرواقعی هم میتواند ورودیهایِ ائتلافیِ دور از دامنه بسازد؛ جمعشدنِ درستِ عددها، مناسببودنِ آن مبنا را تأیید نمیکند.
چه چیزی با همهٔ حالتها کنترل شد؟
برای دو موردِ اصلی، هر چهار مقدار و دو ترتیب در JSON ثبت شده است. افزون بر آن، برای ۲۵۶ ترکیبِ کوچکِ ورودی و مبنا، برابریِ مجموعِ سهمها با f(x)-f(baseline) کنترل شده است. همهٔ حسابها کسرِ دقیقاند. این کنترلِ جمع، اجرایِ توضیحِ مدلِ بزرگ، آزمونِ کیفیتِ توضیح یا تأییدِ علیت نیست.
مرجعِ رسمیِ ExactExplainer دربارهٔ شمارشِ الگوهایِ پنهانسازی و نقشِ masker توضیح میدهد. در نمونهٔ رسمی، دادهٔ پسزمینه و تابعِ مدل استفاده میشوند؛ محاسبهٔ محدودِ ما با یک مبنایِ ثابت، جایگزینِ همهٔ تنظیماتِ آن ابزار نیست. تعدادِ ائتلافها نیز با افزایشِ ویژگیها بزرگ میشود؛ مثالِ دوویژگی، هزینهٔ توضیحِ مدلِ بزرگ را اندازه نمیگیرد.
توضیحِ محلی با اهمیتِ کلی فرق دارد
اهمیتِ جایگشتی تغییرِ امتیاز رویِ یک مجموعه پس از جابهجاییِ ستون را میسنجد. اینجا سهمِ دو ویژگی در یک خروجی و نسبت به یک بازیِ معین را داریم. هیچکدام بهتنهایی نشان نمیدهند تغییرِ واقعیِ یک ویژگی در جهان، چه اثرِ علّی دارد. سهمِ مثبت نیز لزوماً خوب یا منفی لزوماً بد نیست؛ جهتِ مطلوب به تعریفِ خروجی بستگی دارد.
برای توضیحِ یک تصمیمِ مربوط به درخواستِ مشتری، مقدارِ اصلی، مبنا و محدودیتِ تفسیر را همراهِ نمونه نگه دارید. در بررسیِ راهکارهایِ اپرا نیازِ توضیح و مسیرِ بازبینی را مطرح کنید؛ این تمرین استفادهٔ داخلیِ محصول از SHAP یا امکانِ توضیحِ خاصی را وعده نمیدهد.
فایل تمرین و منبع
چهار ائتلاف و دو ترتیبِ دقیقِ محاسبهٔ Shapley · سهمها با دو خطِ مبنا و ردِ همهٔ محاسبهها
- مستند اصلی؛ شمارشِ دقیق و قراردادِ masker
- مثال رسمی؛ الگویِ پنهانسازی و توضیحِ یک نمونه؛ کتابخانه اینجا اجرا نشده است
منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.