روش اعتبارسنجی متقابل

بندانگشتی|نمودار k-fold اعتبارسنجی متقابل با k=۴.
**اعتبارسنجی متقابل** ، که گاهی با نام **برآورد دَوَرانی**  یا **آزمون بیرون از نمونه**  هم شناخته می‌شود، یک روش ارزیابی مدل است که تعیین می‌نماید نتایج یک تحلیل آماری بر روی یک مجموعه‌داده تا چه اندازه قابل تعمیم و مستقل از داده‌های آموزشی است. این روش به‌طور ویژه در کاربردهای پیش‌بینی مورد استفاده قرار می‌گیرد تا مشخص شود مدل موردنظر تا چه اندازه در عمل مفید خواهد بود. به‌طور کلی یک دور از اعتبارسنجی ضربدری شامل افراز داده‌ها به دو زیرمجموعه مکمل، انجام تحلیل بر روی یکی از آن زیرمجموعه‌ها (داده‌های آموزشی) و اعتبارسنجی تحلیل با استفاده از داده‌های مجموعه دیگر است (داده‌های اعتبارسنجی یا آزمایش). برای کاهش پراکندگی، عمل اعتبارسنجی چندین بار با افرازهای مختلف انجام و از نتایج اعتبارسنجی‌ها میانگین گرفته می‌شود. در اعتبارسنجی متقابل K لایه ، داده‌ها به K زیرمجموعه افراز می‌شوند. از این K زیرمجموعه، هر بار یکی برای اعتبارسنجی و K-1 تای دیگر برای آموزش بکار می‌روند. این روال K بار تکرار می‌شود و همه داده‌ها دقیقاً یک بار برای آموزش و یک بار برای اعتبارسنجی بکار می‌روند. در نهایت میانگین نتیجه این K بار اعتبارسنجی به‌عنوان یک تخمین نهایی برگزیده می‌شود. به‌طور معمول از روش اعتبارسنجی پنج لایه یا ده لایه در پژوهش‌های مدل‌سازی و پیش‌بینی استفاده می‌شود.

## هدف اعتبارسنجی متقابل
فرض کنید ما یک مدل با یک یا چند پارامتر ناشناخته داریم و یک مجموعه‌داده که مدل مناسب است (مدل آموزشی). اگر ما یک نمونه مستقل از داده‌های اعتبارسنجی از همان جمعیت را به‌عنوان داده‌های آموزش در نظر بگیریم، به‌طور کلی معلوم می‌شود که این مدل داده‌های اعتبارسنجی متناسب با داده‌های آموزش نیست. اندازه این تفاوت احتمالاً بزرگ است، به‌خصوص اگر اندازه مجموعه‌داده‌های آموزشی کوچک باشد یا زمانی که تعداد پارامترهای موجود در مدل بزرگ باشد. اعتبارسنجی متقابل یک راه برای برآورد اندازه این اثر است. در رگرسیون خطی، مقادیر پاسخ واقعی y_1... y_n و n تا بردار p بعدی واریانس x_1... x_n را داریم. اجزای هر بردار x_i به‌صورت x_{i_1}... x_{i_p} است. اگر ما از کمترین مربعات برای متناسب‌سازی یک تابع به‌صورت ابرصفحهٔ y= \alpha + \beta ^T x به داده‌های (x_i, y_i)_{1 \le i \le n} استفاده کنیم، در واقع از خطای میانگین مربعات استفاده کرده‌ایم. این خطا برای پارامتر تخمین زده‌شده a به‌صورت زیر است:

\frac 1 n \sum_{i=1}^n (y_i - a - \boldsymbol\beta^T \mathbf{x}_i)^2 = \frac{1}{n}\sum_{i=1}^n (y_i - a - \beta_1x_{i1} - \dots - \beta_px_{ip})^2

اگر مدل به‌درستی مشخص شده باشد می‌توان آن را در زیر فرض‌های خفیف نشان داد، که ارزش مورد انتظار MSE برای مجموعه آموزشی(n-p-1)/(n+p+1) است؛ بنابراین اگر ما مدل را محاسبه کنیم و محاسبات MSE را بر روی مجموعه آموزش انجام دهیم، ما یک ارزیابی دارای اریبی و محرمانه از اینکه چگونه مدل یک مجموعه‌داده مستقل مناسب خواهد بود، دریافت خواهیم کرد. تخمین اریبی شده را در برآورد نمونه  از تناسب می‌نامند، در حالی که اعتبارسنجی متقابل یک برآورد غیر نمونه است.

## انواع متداول اعتبارسنجی متقابل
دو نوع متقابل اعتبارسنجی متمایز موجود است، اعتبارسنجی جامع و غیر جامع.

### اعتبارسنجی جامع
روش‌های اعتبارسنجی جامع روش‌های اعتبارسنجی متقابل هستند که تمام روش‌های ممکن برای تقسیم نمونه اصلی را به یک آموزش و یک مجموعه اعتبارسنجی آزمایش می‌کنند.

#### اعتبارسنجی خارج از صفحه
اعتبارسنجی خارج از صفحه، شامل استفاده از مشاهدات P به‌عنوان اعتبارسنجی و مشاهدات باقی‌مانده به‌عنوان مجموعه آموزشی است. این امر در تمام روش‌ها برای کاهش نمونه اصلی در مجموعه اعتبارسنجی مشاهدات و یک مجموعه آموزشی تکرار می‌شود. این روش نیازمند آموزش و تأیید مدل C^n_p بار است جایی که n تعداد مشاهدات در نمونه اصلی است و C^n_pضریب دوجمله‌ای است. برای p>1 و هر مقدار متوسط بزرگ n این روش می‌تواند از نظر محاسباتی غیر عملی باشد. برای مثال با n =100 و p=30=30 صد درصد C^{100}_{30} \approx 3\times 10^{25}..

#### اعتبارسنجی یک‌طرفه
اعتبارسنجی یک‌طرفه (loocv) یک مورد خاص از اعتبارسنجی متقابل با p=1 است. این فرایند شبیه جک‌نایف  است؛ با این حال، با اعتبارسنجی متقابل، آمار روی نمونه سمت چپ را محاسبه می‌کند، در حالی که جک‌نایف تنها یک آماره از نمونه‌های نگه‌داشته‌شده را محاسبه می‌کند. اعتبارسنجی یک‌طرفه نیازمند زمان محاسباتی کمتری نسبت به اعتبارسنجی متقابل است زیرا تنها به این دلیل وجود دارد که C^n_1=n به‌جای C^n_k عبور می‌کند. اگرچه n ممکن است هنوز به زمان محاسبات زیادی نیاز داشته باشد، که در این صورت روش‌های دیگری مانند روش اعتبارسنجی k فولد  ممکن است مناسب‌تر باشد.

### الگوریتم شبه کد
#### ورودی
x (بردار طول N با مقادیر x - مقدار نقاط داده)

y (بردار طول N با مقادیر y از نقاط داده)

#### خروجی
err (تخمین خطای پیش‌بینی)

#### مراحل
err ← ۰

برای i ← 1,... , N

تعریف زیرمجموعه‌هایی که اعتبارسنجی را تعریف کنید:

x_in ← (x[1],... , x[i − 1], x[i + 1],... , x[N])

y_in ← (y[1],... , y[i − 1], y[i + 1],... , y[N]

x_out ← x[i]

(x_in, y_in, x_out, y_out)

err ← err + (y[i] − y_out)^2

end for

err ← err/N

### اعتبارسنجی فراگیر
روش‌های اعتبارسنجی فراگیر، تمام روش‌های تقسیم نمونه اصلی را محاسبه نمی‌کنند. این روش‌ها تقریب‌هایی از اعتبارسنجی متقابل را نشان می‌دهند.

#### اعتبارسنجی متقابل k-fold:
در این نوع اعتبارسنجی متقابل، نمونه اصلی به‌طور تصادفی به زیرنمونه‌های فرعی با اندازه k تقسیم می‌شود. از زیرنمونه‌های فرعی k، یک زیرنمونه منفرد به‌عنوان داده‌های اعتبارسنجی برای آزمایش مدل حفظ می‌شود و زیرنمونه‌های k - ۱ به‌عنوان داده‌های آموزشی استفاده می‌شوند. سپس فرایند اعتبارسنج متقابل، که k بار تکرار می‌شود، با هر یک از نمونه‌های k به‌طور دقیق یک بار به‌عنوان داده‌های اعتبارسنجی مورد استفاده قرار می‌گیرد. پس از آن نتایج k می‌تواند برای تولید یک برآورد واحد به‌طور میانگین قرار بگیرد. مزیت این روش بیش از نمونه‌گیری تصادفی تکراری است (مراجعه به پایین) و در واقع این است که همه مشاهدات برای هر دو آموزش و اعتبار مورد استفاده قرار می‌گیرند، و هر مشاهده برای اعتبارسنجی به‌طور دقیق استفاده می‌شود.

برای مثال، تعیین k = ۲، در اعتبارسنجی متقابل k-fold برابر ۲ است. در اعتبارسنجی متقابل 2-fold ما به‌طور تصادفی مجموعه‌داده‌ها را به دو دسته d_0 و d_1 جابه‌جا می‌کنیم. به‌طوری که هر دو مجموعه با اندازه مساوی باشند. این روش یک اعتبارسنجی متقابل خارج از صفحه است. این دسته‌ها به‌گونه‌ای انتخاب شده‌اند که مقدار پاسخ متوسط تقریباً در همه دسته‌ها برابر است. در طبقه‌بندی دوتایی، این به این معنی است که هر دسته تقریباً شامل نسبت‌های مشابه دو نوع از برچسب‌های کلاس می‌باشد.

#### روش برگزاری:
در روش holdout، ما به‌طور تصادفی نقاط داده را به دو مجموعه d_0 و d_1 اختصاص می‌دهیم که به ترتیب مجموعه آموزشی و مجموعه آزمایش نامیده می‌شوند. اندازه هر یک از مجموعه‌ها اختیاری است اگرچه معمولاً مجموعه آزمایش از مجموعه آموزشی کوچک‌تر است. در اعتبارسنجی متقابل معمول، چندین دور با هم جمع می‌شوند؛ در مقابل، روش برگزاری، به‌تنهایی، شامل یک اجرا است.

#### اعتبارسنجی تصادفی زیرنمونه تکراری
این روش که به‌عنوان اعتبارسنجی مونت‌کارلو شناخته می‌شود، داده‌ها را به‌طور تصادفی به آموزش و اعتبارسنجی تقسیم می‌کند. برای هر کدام از این تفکیک، مدل متناسب با داده‌های آموزشی است، و دقت پیش‌بینی با استفاده از داده‌های اعتبارسنجی ارزیابی می‌شود. نتایج پس از آن تقسیم می‌شود. مزیت این روش این است که نسبت بخش آموزش / اعتبارسنجی به تعداد تکرارها بستگی ندارد. عیب این روش این است که برخی از مشاهدات ممکن است هرگز در اعتبارسنجی زیرنمونه انتخاب نشوند، در حالی که برخی دیگر ممکن است بیش از یک بار انتخاب شوند. به عبارت دیگر، اعتبار مجموعه‌ها ممکن است همپوشانی داشته باشند. این روش همچنین تغییر مونت‌کارلو را نشان می‌دهد، به این معنی که اگر تحلیل با تقسیم تصادفی متفاوتی تکرار شود، نتایج تغییر خواهند کرد. همان‌طور که تعداد تقسیم تصادفی به بی‌نهایت نزدیک می‌شود، نتیجه اعتبارسنجی نمونه‌گیری تصادفی تکرارشونده به سمت اعتبارسنجی متقابل از متمایل می‌شود. در یک نوع لایه‌ای از این روش، نمونه‌های تصادفی به‌گونه‌ای تولید می‌شوند که مقدار پاسخ میانگین (یعنی متغیر وابسته در رگرسیون) در مجموعه آموزشی و آزمایش برابر است.

#### معیارهای تناسب
هدف از اعتبارسنجی، تخمین سطح مورد انتظار تناسب یک مدل به مجموعه‌داده است که مستقل از داده‌هایی است که برای آموزش مدل به کار رفته‌است. این روش می‌تواند برای تخمین هر نوع اندازه‌گیری کمی مناسب که برای داده‌ها و مدل مناسب است، استفاده شود. برای مثال، برای مشکلات طبقه‌بندی دوتایی، هر مورد در مجموعه اعتبارسنجی به‌درستی یا نادرستی پیش‌بینی می‌شود. در این شرایط نرخ خطای طبقه‌بندی را می‌توان برای خلاصه کردن تناسب مورد استفاده قرار داد، اگرچه اقدامات دیگری مانند ارزش پیش‌بینی‌کننده مثبت نیز می‌تواند مورد استفاده قرار گیرد. هنگامی که مقدار پیش‌بینی‌شده به‌طور پیوسته توزیع می‌شود، خطای میانگین مربعات، خطای جذر میانگین مربعات یا میانه قدر مطلق انحراف می‌تواند برای خلاصه کردن خطاها به کار رود.

#### ویژگی‌های آماری
فرض کنید که ما یک معیار برای ترکیب F را انتخاب کرده و از اعتبارسنجی متقابل برای تولید برآوردی F^* از یک مدل داده‌های مستقل تنظیم‌شده از همان جمعیت به‌عنوان داده‌های آموزشی استفاده کنیم. اگر ما یک مجموعه آموزشی مستقل چندگانه را پس از توزیع یکسان تصور کنیم مقادیر حاصله برای F^* تغییر خواهد کرد. خواص آماری F^* از این تنوع حاصل می‌شود. برآوردکننده اعتبارسنجی (F) تقریباً بدون اریبی برای EF است. دلیل اینکه کمی دارای اریبی است این است که مجموعه آموزشی در اعتبارسنجی متقابل کمی کوچک‌تر از مجموعه‌داده واقعی است. در تقریباً تمام شرایط، تأثیر این اریبی در این حالت محافظه‌کارانه خواهد بود که تناسب برآورد شده کمی در جهت پیشنهاد تناسب ضعیف متمایل خواهد بود. در عمل، این اریبی به‌ندرت یک نگرانی محسوب می‌شود. واریانس F^* می‌تواند بزرگ باشد. به همین دلیل، اگر دو روش آماری بر اساس نتایج اعتبارسنجی مقایسه شود، مهم است که توجه داشته باشید که روش با عملکرد برآورد بهتر، در واقع بهتر از دو روش دیگر نیست. برخی از پیشرفت در ایجاد فاصله‌های اطمینان حول برآوردهای اعتبارسنجی متقابل انجام شده‌است، اما این مسئله یک مشکل دشوار در نظر گرفته می‌شود.

## مسائل محاسباتی
اکثر فرم‌های اعتبارسنجی متقابل، تا زمانی که اجرای روش پیش‌بینی مورد مطالعه موجود باشد، آسان است. به‌طور خاص، روش پیش‌بینی می‌تواند یک " جعبه سیاه " باشد - نیازی به دسترسی داخلی به اجرای آن نیست. اگر روش پیش‌بینی هزینه‌بر باشد، اعتبارسنجی متقابل می‌تواند بسیار کند باشد چون آموزش باید به‌طور مکرر انجام شود. در برخی موارد از جمله کمترین مربعات و رگرسیون هسته، اعتبارسنجی متقابل می‌تواند به‌طور قابل‌توجهی با استفاده از مقادیر خاص از قبل محاسبه شود که در آموزش یا با استفاده از قواعد روزآمدسازی سریع مانند فرمول شرمن-موریسون نیز مورد نیاز هستند. با این حال باید مراقب باشید که "کل خیره شدن" مجموعه اعتبارسنجی از روش آموزش حفظ شود، در غیر این صورت ممکن است منجر به اریبی شود.

## محدودیت‌ها و سوءاستفاده
اگر اعتبارسنجی و مجموعه آموزشی از همان جمعیت کشیده شوند و تنها در صورتی که تعصبات انسانی کنترل شوند، اعتبارسنجی تنها نتایج معنی‌دار به دست می‌دهد. در بسیاری از کاربردهای مدل‌سازی پیشگویانه، ساختار سیستم مورد مطالعه در طول زمان تکامل می‌یابد. هر دو این‌ها می‌توانند تفاوت‌های سیستماتیک بین آموزش و مجموعه‌های اعتبارسنجی را معرفی کنند. به‌عنوان مثال، اگر مدلی برای پیش‌بینی ارزش‌های سهام برای یک دوره پنج‌ساله خاص آموزش داده شود، برای درمان دوره پنج‌ساله بعدی به‌عنوان یک رسم از همان جمعیت غیر واقعی است. به‌عنوان مثال دیگر، فرض کنید یک مدل برای پیش‌بینی خطر فرد برای تشخیص بیماری خاص در سال آینده داده شده‌است. اگر مدل با استفاده از داده از یک مطالعه شامل تنها یک گروه خاص جمعیت آموزش‌دیده باشد (به‌عنوان مثال جوانان یا مذکر)، اما بعد از آن برای جمعیت عمومی اعمال می‌شود، اعتبارسنجی متقابل از مجموعه آموزشی می‌تواند تا حد زیادی از عملکرد پیش‌بینی‌کننده واقعی متفاوت باشد. در بسیاری از کاربردها، مدل‌ها نیز ممکن است به‌طور نادرستی مشخص بوده و به‌عنوان تابعی از تعصبات و/ یا انتخاب‌های دلخواه متفاوت باشند. هنگامی که این اتفاق رخ می‌دهد، ممکن است این توهم باشد که سیستم در نمونه‌های خارجی تغییر می‌کند، در حالی که دلیل آن این است که مدل یک پیش‌بینی‌کننده انتقادی را از دست داده‌است و / یا یک پیشگویی اشتباه است. شواهد جدید این است که اعتبارسنجی متقابل به خودی خود دارای اعتبار بیرونی نیست، در حالی که یک شکل از اعتبارسنجی تجربی شناخته‌شده به‌عنوان نمونه‌گیری جایگزین که کنترل خطای انسانی را کنترل می‌کند، می‌تواند پیش‌بینی‌کننده بیشتری از اعتبار خارجی باشد. دلیل موفقیت نمونه‌گیری جابه‌جایی یک کنترل داخلی ساخته‌شده برای اریبی انسانی در ساخت مدل است.

در ادامه روش‌های دیگری که اعتبارسنجی را مورد سوءاستفاده قرار می‌دهد بیان می‌کنیم:
* با انجام یک آنالیز اولیه برای شناسایی مناسب‌ترین ویژگی‌ها با استفاده از کل مجموعه‌داده‌ها- اگر انتخاب ویژگی یا تنظیم مدل با روش مدل‌سازی مورد نیاز باشد، باید در هر مجموعه آموزشی تکرار شود. در غیر این صورت، پیش‌بینی‌ها به‌طور حتم اریبی خواهند داشت. اگر اعتبارسنجی متقابل برای تصمیم‌گیری بر روی ویژگی‌هایی که استفاده می‌شود مورد استفاده قرار گیرد، یک اعتبار درونی متناوب برای انجام انتخاب ویژگی در هر مجموعه آموزشی باید انجام شود.
* با اجازه دادن به برخی از داده‌های آموزشی که باید در مجموعه آزمایش گنجانده شوند. این می‌تواند به علت جفت شدن در مجموعه‌داده‌ها اتفاق بیفتد، که در آن برخی از نمونه‌های دقیقاً یکسان یا تقریباً یکسان در مجموعه‌داده وجود دارد. توجه داشته باشید که تا حدی، حتی در نمونه‌های کاملاً مستقل آموزش و اعتبارسنجی، همواره است. زیرا برخی از مشاهدات نمونه‌های آموزشی، مقادیر تقریبی یکسان از پیش‌بینی‌ها را به‌عنوان مشاهدات نمونه‌های اعتبارسنجی می‌سنجند. اگر چنین یک مدل معتبر متقابل از مجموعه k-fold انتخاب شده باشد، اریبی انسانی در کار خواهد بود و تعیین می‌کند که مدل معتبر است.

## اعتبار متقابل برای مدل‌های سری زمانی
از آن‌جا که ترتیب داده‌ها مهم است، اعتبارسنجی متقابل ممکن است برای مدل‌های سری‌های زمانی مشکل‌ساز باشد. یک رویکرد مناسب می‌تواند استفاده از زنجیره‌سازی جلوسو باشد.

## کاربرد
اعتبار متقابل را می‌توان برای مقایسه عملکرد رویه‌های مدل‌سازی پیشگویانه مختلف مورد استفاده قرار داد. برای مثال، فرض کنید که ما به نویسه‌خوان نوری علاقه‌مند هستیم و ما در حال بررسی استفاده از هر دو ماشین بردار پشتیبانی و الگوریتم نزدیک‌ترین همسایگان k هستیم. با استفاده از اعتبارسنجی متقابل، می‌توانیم این دو روش را به‌صورت دقیق مقایسه کنیم. اگر ما روش‌های مبتنی بر نرخ خطای نمونه آن‌ها را مقایسه کنیم، به نظر می‌رسد روش KNN بهتر عمل کند. اعتبارسنجی متقابل نیز می‌تواند در انتخاب متغیر استفاده شود. فرض کنید که ما از سطوح بیان ۲۰ پروتئین برای پیش‌بینی اینکه آیا یک بیمار سرطانی به یک دارو واکنش نشان می‌دهد یا خیر استفاده می‌کنیم. یک هدف عملی تعیین این است که کدام زیرمجموعه از ۲۰ ویژگی باید برای تولید بهترین مدل پیش‌بینی استفاده شود. برای اکثر روش‌های مدل‌سازی، اگر ما از زیرمجموعه‌های ویژگی با استفاده از نرخ خطا در نمونه مقایسه کنیم، بهترین عملکرد زمانی رخ خواهد داد که تمام ۲۰ ویژگی استفاده شود. با این حال تحت اعتبار متقابل، مدل با بهترین تناسب، به‌طور کلی شامل یک زیرمجموعه از ویژگی‌هایی است که واقعاً مفید هستند.

## جستارهای وابسته
* بوستینگ
* جمع‌آوری بوت‌استرپ
* بوت‌استرپینگ (آمار)
* انتخاب مدل
* نمونه‌سازی مجدد (آمار)
* ثبات (نظریه یادگیری)
* اعتبار (آمار)

## منابع

* https://en.wikipedia.org/wiki/Cross-validation_(statistics) https://www.porseshkadeh.com/Question/42019/cross-validation-

رده:انتخاب متغیر رگرسیون
رده:مدل انتخاب
رده:ویکی‌سازی رباتیک
رده:یادگیری ماشین