Як би ви описали перехресну перевірку для когось без фону аналізу даних?
Як би ви описали перехресну перевірку для когось без фону аналізу даних?
Відповіді:
Розглянемо таку ситуацію:
Я хочу спіймати метро, щоб поїхати до свого офісу. Мій план - взяти машину, припаркуватися в метро, а потім поїхати на поїзд, щоб поїхати до мого офісу. Моя мета - ловити потяг о 8.15 щодня, щоб я міг вчасно дістатися до свого офісу. Мені потрібно вирішити наступне: (а) час, в який мені потрібно виїхати з дому та (б) маршрут, який я пройду, щоб проїхати до станції.
У наведеному вище прикладі у мене є два параметри (тобто час відправлення з дому та маршрут, який слід відправити на станцію), і мені потрібно вибрати ці параметри, щоб я дійшов до станції о 8.15 ранку.
Для вирішення вищезазначеної проблеми я можу спробувати різні набори "параметрів" (тобто різну комбінацію часу відправлення та маршруту) у понеділок, середу та п'ятницю, щоб побачити, яка комбінація є "найкращою". Ідея полягає в тому, що коли я визначив найкращу комбінацію, я можу використовувати її щодня, щоб досягти своєї мети.
Проблема переобладнання
Проблема вищезгаданого підходу полягає в тому, що я можу переоцінити, що по суті означає, що найкраща комбінація, яку я визначаю, може бути певним чином для понеділка, ср і п’ятниці, і ця комбінація може не працювати для вт і чт. Переобладнання може статися, якщо в моєму пошуку найкращого поєднання часів і маршрутів я використовую певний аспект дорожньої ситуації в пн / ср / пт, який не трапляється в четвер і вт.
Одне рішення для перевиконання: перехресне підтвердження
Перехресне підтвердження - це одне рішення для пристосування. Ідея полягає в тому, що після того, як ми визначили найкращу комбінацію параметрів (у нашому випадку та маршруту), ми перевіряємо продуктивність цього набору параметрів в іншому контексті. Тому ми можемо захотіти провести тест на Вт і Чт, щоб переконатися, що наші вибори працюють і в ці дні.
Розширення аналогії до статистики
У статистиці у нас є аналогічне питання. Ми часто використовуємо обмежений набір даних для оцінки невідомих нам параметрів. Якщо ми перевиконаємо, то наші оцінки параметрів будуть працювати дуже добре для існуючих даних, але не так добре, коли ми використовуємо їх в іншому контексті. Таким чином, перехресне підтвердження допомагає уникнути вищезазначеного питання щодо придатності, підтверджуючи, що оцінки параметрів не є унікальними для даних, які ми використовували для їх оцінки.
Звичайно, перехресне підтвердження не є ідеальним. Повернувшись до нашого прикладу метро, може статися так, що навіть після перехресної перевірки, наш найкращий вибір параметрів може не працювати на один місяць за лінією через різні проблеми (наприклад, будівництво, зміна обсягу руху з часом тощо).
Я думаю, що це найкраще описати із наступним малюнком (у даному випадку, що показує k-кратну перехресну перевірку):
Перехресне підтвердження - це техніка, що використовується для захисту від перевищення в системі прогнозування, особливо у випадку, коли кількість даних може бути обмеженою. Під час перехресної перевірки ви робите фіксовану кількість складок (або розділів) даних, проводите аналіз на кожній складці та потім оцінюєте загальну оцінку помилок.
"Уникайте напам’ять своїх навчальних даних, переконуючись, що навчена модель працює на незалежних даних."
Скажімо, ви досліджуєте якийсь процес; ви зібрали деякі дані, що описують це, і ви створили модель (статистичну або ML, не має значення). Але тепер, як судити, чи це нормально? Ймовірно, це добре підходить до даних, на яких він був побудований, тому ніхто не повірить, що ваша модель настільки чудова, як ви думаєте.
Перша ідея - відокремити підмножину ваших даних і використовувати їх для тестування побудови моделі за вашим методом на решту даних. Тепер результат, безумовно, не підходить, але, особливо для невеликих наборів, ви могли б (не) пощастило і намалювати (менш) простіші випадки для тестування, що спростить (складніше) прогнозувати ... Також ваша точність / Оцінка помилок / корисності марно для порівняння / оптимізації моделі, оскільки ви, напевно, нічого не знаєте про її розподіл.
Коли ви сумніваєтесь, використовуйте грубу силу, тому просто повторіть вищезгаданий процес, зібрати кілька оцінок точності / помилок / корисності та порівняти їх - і так ви отримаєте перехресну перевірку. Серед кращої оцінки ви також отримаєте гістограму, тому ви зможете наблизити розподіл або виконати якісь непараметричні тести.
І це воно; подробиці тестування поїздів є причиною різних типів CV, але, крім рідкісних випадків і невеликих перепадів міцності, вони досить рівнозначні. Дійсно, це величезна перевага, адже це робить його методом, що забезпечує захист від куль; дуже важко це обдурити.
Оскільки у вас немає доступу до тестових даних під час навчання, і ви хочете, щоб ваша модель добре справлялася з невидимими тестовими даними, ви "робите вигляд", що у вас є доступ до деяких тестових даних, повторно підміняючи невелику частину ваші дані тренінгу, протримайте цей набір під час тренування моделі, а потім розглядайте протриманий набір як проксі до тестових даних (і вибирайте параметри моделі, які дають найкращі показники для витриманих даних). Ви сподіваєтесь, що випадковим чином відібравши різні підмножини з навчальних даних, ви можете зробити їх схожими на тестові дані (в середньому сенсі поведінки), а тому вивчені параметри моделі будуть добре також для тестових даних (тобто, вашої моделі добре узагальнюється для небачених даних).