Використання вкладеної перехресної перевірки


14

На сторінці Scikit Learn щодо вибору моделі згадується використання вкладеної перехресної перевірки:

>>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas),
  ...                    n_jobs=-1)  
>>> cross_validation.cross_val_score(clf, X_digits, y_digits)

Дві петлі перехресної перевірки виконуються паралельно: один за допомогою оцінювача GridSearchCV для встановлення гамми, а другий через cross_val_score для вимірювання показників прогнозування оцінювача. Отримані результати є неупередженими оцінками оцінки прогнозування за новими даними.

Наскільки я розумію, я clf.fitбуду використовувати перехресну перевірку на самому собі, щоб визначити найкращу гаму. У такому випадку, чому нам потрібно використовувати вкладений реєстр, як зазначено вище? У примітці зазначається, що вкладений реєстр виробляє "неупереджені оцінки" оцінки прогнозу. Чи не так це clf.fit?

Крім того, мені не вдалося отримати найкращі оцінки за програмою clf cross_validation.cross_val_score(clf, X_digits, y_digits). Чи можете ви порадити, як це можна зробити?

Відповіді:


18

Вкладена перехресна перевірка використовується для уникнення оптимістично упереджених оцінок продуктивності, які виникають в результаті використання тієї ж перехресної валідації для встановлення значень гіпер-параметрів моделі (наприклад, параметр регуляризації, та параметри ядра SVM) та оцінка ефективності. Я написав документ на цю тему після того, як був досить занепокоєний величиною зміщення, введеної, здавалося б, доброякісним скороченням, яке часто використовується при оцінці машин ядра. Я досліджував цю тему, щоб виявити, чому мої результати були гіршими, ніж інші дослідницькі групи, що застосовували аналогічні методи на тих самих наборах даних, причина виявилася в тому, що я використовував вкладену перехресну перевірку і, отже, не отримав користі від оптимістичного зміщення.С

GC Cawley та NLC Talbot, Надмірна відповідність вибору моделі та подальша упередженість вибору в оцінці продуктивності, Journal of Machine Learning Research, 2010. Research, vol. 11, стор. 2079-2107, липень 2010 р. ( Http://jmlr.org/papers/volume11/cawley10a/cawley10a.pdf )

Причини упередженості з ілюстративними прикладами та експериментальною оцінкою можна знайти у статті, але по суті справа в тому, що якщо критерій оцінки ефективності використовується будь-яким способом для вибору моделі, то цей вибір ґрунтується на (i) справжні покращення ефективності узагальнення та (ii) статистичні особливості конкретного зразка даних, за яким оцінюється критерій оцінки ефективності. Іншими словами, упередження виникає через те, що можливо (надто просто) перенастроїти помилку перехресної перевірки при налаштуванні гіпер-параметрів.


5

За допомогою витриманого тестового набору clf.fitвиробляється одна неупереджена оцінка, тоді як вкладена перехресна перевірка з cross_val_scoreдає кілька об'єктивних оцінок. Перевага вкладеної перехресної перевірки - це краща оцінка справжньої продуктивності за допомогою даних, які алгоритм ще не бачив. Краща оцінка, оскільки ви отримуєте, наприклад, три тестові бали з вкладеним резюме замість одного.

Відповідь на ваше друге запитання щодо найкращих оцінок полягає в тому, що наразі (v0.14) неможливо отримати параметри вбудованих моделей, використовуючи вкладений cv cross_val_score. Дивіться мою відповідь тут із прикладом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.