Вибір особливостей для "остаточної" моделі при виконанні перехресної перевірки в машинному навчанні


76

Я трохи розгублений щодо вибору функцій та машинного навчання, і мені було цікаво, чи можете ви мені допомогти. У мене є набір даних мікромасив, який класифікується на дві групи та має 1000 функцій. Моя мета - отримати невелику кількість генів (мої особливості) (10-20) у підписі, які я теоретично зможу застосувати до інших наборів даних для оптимальної класифікації цих зразків. Оскільки у мене немає такої кількості зразків (<100), я не використовую тестовий і навчальний набір, але використовую перехресну перевірку Leave-one-out, щоб допомогти визначити надійність. Я читав, що слід виконувати підбір функції для кожного розщеплення зразків, тобто

  1. Виберіть один зразок як тестовий набір
  2. На решті зразків виконують вибір функції
  3. Застосовуйте алгоритм машинного навчання до інших зразків, використовуючи вибрані функції
  4. Перевірте, чи правильно класифікований тестовий набір
  5. Перейдіть до 1.

Якщо ви це зробите, ви можете отримувати різні гени щоразу, тож як отримати "остаточний" оптимальний класифікатор генів? тобто що є етапом 6.

Що я маю на увазі під оптимальним, - це збір генів, які слід використовувати у будь-яких подальших дослідженнях. Наприклад, скажіть, що у мене є рак / нормальний набір даних, і я хочу знайти 10 найкращих генів, які класифікують тип пухлини відповідно до SVM. Мені хотілося б знати набір генів плюс параметри SVM, які можна було б використовувати в подальших експериментах, щоб дізнатися, чи можна використовувати його як діагностичний тест.


Я мушу сказати для повного розкриття, що я вже розмістив це до списку біопровідників
danielsbrewer

Будь ласка, підсумуйте будь-які результати біопровідника тут?
Шейн

Відповіді:


39

Це дуже хороше питання, з яким я стикався, працюючи з даними SNP ... І я не знайшов очевидної відповіді в літературі.

Якщо ви використовуєте LOO або K-кратне резюме, ви отримаєте різні функції, оскільки перехресна перевірка повинна бути самим зовнішнім циклом, як ви вже говорили. Ви можете придумати якусь схему голосування, яка б оцінила n-вектори функцій, отриманих у вашому LOO-CV (не можу згадати документ, але варто перевірити роботу Харальда Біндера або Антуана Корнуйолса ). За відсутності нового тестового зразка, зазвичай робиться повторне застосування алгоритму ML до всього зразка, як тільки ви знайдете його оптимальні перекреслені параметри. Але продовжуючи цей спосіб, ви не можете переконатись у відсутності надмірного пристосування (оскільки зразок вже використовувався для оптимізації моделі).

Або, альтернативно, ви можете використовувати вбудовані методи, які надають вам класифікацію особливостей за мірою змінної важливості, наприклад, як у випадкових лісах (РФ). Оскільки перехресне підтвердження включено до радіочастотних сигналів, вам не доведеться турбуватися про випадок або прокляття розмірності. Ось приємні статті про їх застосування в дослідженнях експресії генів:np

  1. Cutler, A., Cutler, DR, and Stevens, JR (2009). Деревоподібні методи, у високовимірному аналізі даних у дослідженнях раку , Li, X. та Xu, R. (ред.), Стор. 83-101, Спрингер.
  2. Saeys, Y., Inza, I., and Larrañaga, P. (2007). Огляд особливостей вибору особливостей у біоінформатиці. Біоінформатика , 23 (19) : 2507-2517.
  3. Діаз-Уріарт, Р., Альварес де Андрес, С. (2006). Вибір генів та класифікація даних мікромасив із використанням випадкових лісів. Біоінформатика BMC , 7 : 3.
  4. Діаз-Уріарт, Р. (2007). GeneSrF та varSelRF: веб-інструмент та пакет R для відбору та класифікації генів з використанням випадкових лісів. Біоінформатика BMC , 8 : 328

Оскільки ви говорите про SVM, ви можете шукати штрафовані SVM .


Дякую за це. Я не спеціально продаю на SVM, просто використовую це як приклад. Отже, якщо ви використовували випадкові дерева, вам не доведеться робити перехресну перевірку? Це так.
danielsbrewer

7
так, РЧ включають випадкову вибірку змінних (як правило, ) при вирощуванні дерева, і кожне дерево базується на підсиленій вибірці особин; змінна важливість обчислюється на так званих зразках з мішків (тих, які не використовуються для побудови дерева рішень), використовуючи техніку перестановки. Алгоритм повторюється для m дерев (за замовчуванням m = 500) і результати усереднюються для компенсації невизначеності на рівні дерева (прискорення). p
chl

3
Важливо, щоб він називався випадковим лісом, а не випадковими деревами; у вас можуть виникнути проблеми з Google.

1
+1, хороша відповідь і вельми важливий для мене - велике спасибі за паперові посилання, особливо огляд.
АРС

Маючи достатньо даних, чи не найкраще було б провести тестовий набір, виконувати loocv на навчальному наборі для оптимізації параметрів моделі, підходити до всього набору поїздів (і називати цей "остаточний" класифікатор), а потім оцінювати остаточну модель на тестовому наборі?
користувач0

40

В принципі:

Зробіть свої прогнози, використовуючи одну модель, підготовлену для всього набору даних (щоб було лише один набір функцій). Перехресне підтвердження використовується лише для оцінки прогнозованих показників єдиної моделі, що навчається для всього набору даних. ВІДАЛЬНІ при використанні перехресної перевірки в кожному складі ви повторюєте всю процедуру, яка використовується для підгонки до первинної моделі, оскільки в іншому випадку ви можете отримати істотний оптимістичний ухил у виконанні.

Щоб зрозуміти, чому це трапляється, розглянемо проблему бінарної класифікації з 1000 двійкових ознак, але лише 100 випадків, коли випадки та ознаки є чисто випадковими, тому статистичної залежності між ознаками та випадками взагалі немає. Якщо ми тренуємо первинну модель на повному наборі даних, ми завжди можемо досягти нульової помилки на навчальному наборі, оскільки функцій більше, ніж випадків. Ми навіть можемо знайти підмножину "інформативних" функцій (які випадково співвідносяться). Якщо потім ми виконаємо перехресну перевірку, використовуючи лише ті функції, ми отримаємо оцінку ефективності, кращу, ніж випадкові здогадки. Причина полягає в тому, що в кожному складі процедури перехресної перевірки є деяка інформація про затримані випадки, які використовуються для тестування, оскільки функції були обрані, тому що вони були хорошими для прогнозування, у тому числі протриманих. Звичайно, справжня помилка буде 0,5.

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

Хороші документи для читання:

Крістоф Амброаз, Джеффрі Дж. Маклахлан, "Зміщення селекції при вилученні генів на основі даних про експресію генів мікромасив", PNAS http://www.pnas.org/content/99/10/6562.abrief

що дуже актуально для ОП та

Гевін К. Каулі, Ніколас Л. Талбот, "Про надмірну підбірку моделей та наступні ухили відбору в оцінці продуктивності", JMLR 11 (липень): 2079-2107, 2010 http://jmlr.csail.mit.edu/papers /v11/cawley10a.html

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

На практиці:

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

Книга Алана Міллера про підбір підмножини в регресії (монографії Чапмана і Холла про статистику та застосовану ймовірність, том 95) дає хорошу пораду (стор. 221), що якщо прогнозована ефективність є найважливішою справою, то не робіть жодного вибору особливостей , просто замість цього використовуйте регресію хребта. І це в книзі про підбірку підмножини !!! ; o)


17

Для додавання до chl: При використанні опорних векторних машин настійно рекомендованим методом штрафу є еластична сітка. Цей метод зменшить коефіцієнти до нуля, і теоретично зберігає найбільш стійкі коефіцієнти в моделі. Спочатку він використовувався в регресійній системі, але легко розширюється для використання з підтримуючими векторними машинами.

Оригінальна публікація : Zou and Hastie (2005): регуляризація та вибір змін через еластичну сітку. JRStatist.Soc. Б, 67-2, арк. 301-320

Еластична сітка для SVM : Zhu & Zou (2007): мінливий вибір для векторної машини підтримки: тенденції нейронних обчислень, глава 2 (Редактори: Chen and Wang)

вдосконалення еластичної сітки Jun-Tao та Ying-Min (2010): вдосконалена еластична сітка для класифікації та відбору генів раку: Acta Automatica Sinica, 36-7, с.976-981


9

На етапі 6 (або 0) ви запускаєте алгоритм виявлення функцій для всього набору даних.

Логіка полягає в наступному: вам слід подумати про перехресну перевірку як метод пошуку властивостей процедури, яку ви використовуєте для вибору функцій. Він відповідає на запитання: "якщо я маю деякі дані та виконую цю процедуру, то який показник помилок для класифікації нового зразка?". Коли ви дізнаєтесь відповідь, можете скористатися процедурою (вибір функції + розробка правила класифікації) для всього набору даних. Людям подобається залишити один-один, тому що властивості прогнозування зазвичай залежать від розміру вибірки, а зазвичай досить близький, щоб не має великого значення.nn1n


Я думаю, що існує ще проблема узагальнення при використанні одного і того ж зразка (1) для оцінки ефективності класифікації / прогнозування класифікатора під час налаштування його параметрів (зрештою, з вибором функції) та (2) використання в свою чергу його прогнозів для всього набору даних. Насправді ви порушуєте контроль над насадкою, який був розроблений за допомогою перехресної перевірки. Хасті та ін. надати гарну ілюстрацію підводних каменів CV, особливо. wrt вибір функції, у їхній книзі ESL, § 7.10.2 у другому виданні.
chl

@chl: хто щось сказав про налаштування параметрів? Якщо виконуються додаткові речі, їх слід повторити і під час перехресної перевірки. Чітка зміна алгоритму до тих пір, поки ви не отримаєте хороші перехресні перевірені показники помилок, це "обман". До речі, я погоджуюсь, що перехресне підтвердження, особливо вивільнення, не все так чудово.
Аніко

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

@mbq - Анкіно вірно, налаштування вашої моделі з метою мінімізації статистики резюме "обман", і статистика резюме остаточної моделі матиме істотний оптимістичний ухил. Причиною цього є те, що статистика резюме має незначну дисперсію (як вона оцінюється на кінцевому наборі даних), і, якщо ви оптимізуєте статистику резюме, ви можете переоцінити її, і ви можете отримати модель що узагальнює менш добре, ніж той, з якого ви почали. Для демонстрації цього, у контексті машинного навчання, див. Jmlr.csail.mit.edu/papers/v11/cawley10a.html Рішення: Використовуйте вкладений XVAL
Marsupial

1

Так я вибираю функції. Припустимо, виходячи з певних знань, можна порівняти дві моделі. Модель A використовує функції від 1 до ні. 10. Модель B використовує від 11 до ні. 20. Я застосую резюме LOO до моделі A, щоб отримати його вибірковий показник. Зробіть те саме з моделлю B, а потім порівняйте їх.


-1

Я не впевнений у проблемах класифікації, але у випадку вибору ознак для проблем регресії, Джун Шао показав, що резюме виходу-один-вихід асимптотично непослідовно , тобто ймовірність вибору правильного підмножини ознак не збігається до 1, оскільки кількість зразків збільшується. З практичної точки зору Шао рекомендує процедуру перехресної перевірки Монте-Карло або процедуру відпустки.


Ой, ще раз; ви читали заголовок цієї статті?

2
Гаразд, щоб було зрозуміло - я не кажу, що LOOCV - це гарна ідея для великої кількості об'єктів; очевидно, що це не так, але Шао тут не застосовується. Дійсно, у більшості випадків правила щодо ЛМ не стосуються ML.

1
Також сумнівно, чи асимптотичні результати практичні для використання при перегляді наборів даних з великою кількістю особливостей та порівняно мало моделей. У цьому випадку дисперсія процедури, ймовірно, матиме більшу практичну важливість, ніж упередженість або послідовність. Основна цінність LOOCV полягає в тому, що для багатьох моделей він може бути реалізований за мізерними обчислювальними витратами, тому, хоча він має більшу дисперсію, ніж скажімо, завантаження, це може бути єдиним здійсненим підходом у доступному обчислювальному бюджеті. Ось чому я його використовую, але для оцінки ефективності використовую щось інше!
Дікран Марсупіал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.