Розмежування двох груп у статистиці та машинному навчанні: тест гіпотез проти класифікації та кластеризації


29

Припустимо, що у мене є дві групи даних, позначені A і B (кожна містить, наприклад, 200 зразків та 1 ознака), і я хочу знати, чи вони різні. Я міг би:

  • а) провести статистичний тест (наприклад, t-тест), щоб перевірити, чи є вони статистично різними.

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

  • в) використовувати алгоритм без нагляду (наприклад, K-Means) і нехай він розділяє всі дані на дві вибірки. Потім я можу перевірити, чи ці два знайдені зразки відповідають моїм міткам, A і B.

Мої запитання:

  1. Як ці три різні способи перекриття / виключення?
  2. Чи корисні б) і в) будь-які наукові аргументи?
  3. Як я міг отримати «значущість» для різниці між зразками A і B від методів b) і c)?
  4. Що змінилося б, якби дані мали декілька функцій, а не 1 функцію?
  5. Що станеться, якщо вони містять різну кількість зразків, наприклад 100 проти 300?

3
Я б сказав, що різниця між (a) і (b) полягає в тому, що статистичні тести фокусуються на тому, чи є різниця, тоді як методи класифікації зосереджуються на розмірі цієї різниці. Використовуючи випадковий ліс, ви хочете знати точність перевірки; можливо, це 78%. Це число, яке вас цікавить, а не робити заяву про те, що воно не дорівнює 50% .
Амеба каже: Відновити Моніку

4
Ситуації ІМХО, коли а / б / с мають сенс, відрізняються типовим співвідношенням сигнал / шум, і воно зростає від (а) до (b) до (c). При типовому застосуванні t-тесту спостерігається високий рівень шуму; ми хочемо показати, що групи не рівні. Якщо групи, очевидно, не рівні (менше шуму), нам вже не потрібен тест; натомість ми хочемо кількісно визначити, наскільки різні групи, і тут може допомогти точність класифікації, що не є вибіркою. Якщо шум навіть менший, а точність класифікації становить ~ 100%, ми можемо запитати, чи є групи настільки супервиразними, що їх можна підібрати алгоритмом кластеризації.
Амеба каже: Відновити Моніку

1
@amoeba, я звертаюся до вас, тому що ви редагували заголовок питання тощо. "Класифікація" та "кластеризація": не перебувають у (єдиному) володінні машинним навчанням. Ці завдання з'являлися і регулярно виконувались у статистиці / аналізі даних до першого м. учень народився. Це справедливо лише для декількох останніх методів, таких як SVM, що розвинувся завдяки ML та всередині нього. Неправильно асоціювати класифікацію / кластеризацію / дерева лише з ML. Однак ML є відмінним від аналізу статистичних даних тим, що він сильно використовує поїзд / випробування.
ttnphns

@ttnphns Зрозуміло, це все правильно, але початкова назва була "Розрізнення зразків: машинне навчання порівняно зі статистичними тестами (наприклад, t-тест)", і я просто хотів додати певну точність до цього, оскільки питання справді задається питанням про t-тест проти класифікації проти кластеризації (для цієї конкретної наукової мети). Я подумаю про можливі вдосконалення назви.
Амеба каже, що повернеться до Моніки

@ttnphns Я відредагував заголовок, подивіться, чи вам це більше подобається.
Амеба каже: Відновити Моніку

Відповіді:


15

Чудове запитання. Будь-яке може бути добрим чи поганим, корисним чи ні, виходячи з того, які ваші цілі (а можливо, і від характеру вашої ситуації). Здебільшого ці методи розроблені для задоволення різних цілей.

  • Статистичні тести , як -test, дозволяють перевірити наукові гіпотези. Вони часто використовуються для інших цілей (оскільки люди просто не знайомі з іншими інструментами), але, як правило, не повинні. Якщо у вас є апріорна гіпотеза про те, що дві групи мають різні засоби для нормально розподіленої змінної, то -test дозволить вам перевірити цю гіпотезу і контролювати ваш довгостроковий рівень помилок (хоча ви не знаєте, чи ви зробили показник помилок типу I у цьому конкретному випадку). тtt
  • Класифікатори в машинному навчанні, як і SVM, призначені для класифікації шаблонів, що належать до одного з відомих наборів класів. Типова ситуація полягає в тому, що у вас є кілька відомих примірників, і ви хочете навчити класифікатор, використовуючи їх, щоб він надав найбільш точні класифікації в майбутньому, коли у вас з’являться інші шаблони, справжній клас яких невідомий. Акцент тут робиться на точності вибірки ; ви не перевіряєте жодної гіпотези. Звичайно, ви сподіваєтесь, що розподіл змінних / ознак предиктора різниться між класами, тому що в іншому випадку жодна подальша допомога в класифікації не буде можливою, але ви не намагаєтесь оцінити свою переконання, що засоби Y відрізняються від X. Ви хочете правильно здогадатися X у майбутньому, коли Y відомий.
  • Непідтримувані алгоритми навчання, як кластеризація , призначені для виявлення або накладання структури набору даних. Є багато можливих причин, через які ви можете це зробити. Іноді ви можете очікувати, що в наборі даних є правдиві, приховані угруповання, і ви хочете побачити, чи будуть результати кластеризації здаватися розумними та корисними для ваших цілей. В інших випадках ви можете накласти структуру набору даних для зменшення даних. Так чи інакше, ви не намагаєтесь перевірити гіпотезу про що-небудь, і не сподіваєтесь, що зможете в майбутньому щось точно передбачити.

Зважаючи на це, давайте допоможемо вирішити ваші запитання:

  1. Три методи принципово відрізняються за цілями, які вони служать.
  2. b і c можуть бути корисними в наукових аргументах, це залежить від характеру розглянутих аргументів. На сьогодні найпоширеніший вид наукових досліджень зосереджений на тестуванні гіпотез. Однак формування прогнозних моделей або виявлення прихованих схем також можливі, законні цілі.
  3. Ви, як правило, не намагаєтеся отримати "значення" методами b чи c.
  4. Якщо припустити, що риси мають категоричний характер (я, на мою думку, це ви маєте на увазі), ви все ще можете перевірити гіпотези, використовуючи факторну ANOVA. У машинному навчанні є підтема для багатозначної класифікації . Існують також методи для множинних кластерних членів / перекриваються кластерів, але вони є менш поширеними і становлять набагато менш простежувану проблему. Для огляду теми див. Krumpleman, CS (2010) Кластер перекриття. Дисертація, УТ Остін, Електротехніка та комп'ютерна інженерія ( pdf ).
  5. Взагалі кажучи, всі три типи методів мають більші труднощі, оскільки кількість випадків у різних категоріях розходяться.

2
Re # 4: Я думаю, ви неправильно розумієте слово "функція" в ОП. У машинному навчанні "функція" просто означає змінну. Отже, "багатофункціональність" означає, що можна було б використовувати багатоваріантну версію t-тесту (наприклад, Т Hotelling's), а не факторну ANOVA.
амеба каже: Відновіть Моніку

11

Не збирається займатися кластеризацією, тому що це було розглянуто в інших відповідях, але:

Загалом проблема тестування того, чи є два зразки значущо різними, відома як тестування двох зразків .

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

Можливо, буде простіше подумати над деякими з цих питань, якщо ви сконструюєте тест з двох зразків із класифікатора, наприклад, як це нещодавно запропонували Лопес-Пас та Oquab (2017) . Процедура така:

  • Розділіть свої спостереження і на дві частини, і , і .Y X поїзд X test Y поїзд Y тестXYXtrainXtestYtrainYtest
  • Навчіть класифікатор, щоб розрізняти та .Y поїздXtrainYtrain
  • Застосуйте вихід класифікатора до та .Y тестXtestYtest
  • Порахуйте частину разів, коли його передбачення було правильним, щоб отримати . Застосуйте біноміальний тест, щоб відрізнити нульовий від . Якщо , то два розподіли різні. р=1p^ р1p=12 р1p12p12

Оглядаючи вивчений класифікатор, ви також зможете інтерпретувати відмінності між розподілами напівзмістовно. Змінивши розглянуту вами родину класифікаторів, ви також можете допомогти провести тест, щоб знайти певні види відмінностей.

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

Лопес-Пас та Окваб показали добру емпіричну ефективність цього підходу з кількох проблем. Рамдас та ін. (2016) також показало, що теоретично тісно пов'язаний підхід є оптимальним для однієї простої проблеми. "Правильна" річ у цій обстановці - це область активних досліджень, але такий підхід є принаймні розумним у багатьох налаштуваннях, якщо ви хочете трохи більше гнучкості та інтерпретації, ніж просто застосування деяких стандартних тестів.


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

@Firebug Що ви маєте на увазі під "продуктивністю моделі без інформації"? Я не дуже розумію запропоновану вами процедуру.
Дугал

2
@Firebug Важливим, але тонким застереженням є те, що якщо точність класифікації оцінюється за допомогою CV, не можна використовувати біноміальний тест.
Амеба каже: Відновити Моніку

2
@Firebug Моя суть все ще залишається: ви не можете застосовувати будь-який тест зразка одного зразка до AUC з різних складок і, зокрема, з повторного резюме, оскільки ці оцінки не є незалежними. Це добре відома проблема.
амеба каже: Відновити Моніку

2
Повторне тестування перестановки: я це зробив сам. Ви запускаєте CV, щоб отримати оцінку продуктивності, потім перетасуйте мітки і знову запустіть весь конвеєр CV (і зробіть це перетасовуванням 100 або 1000 разів, щоб отримати нульовий розподіл). Це, як правило, займає дуже багато часу. Копія до @Firebug.
амеба каже: Відновити Моніку

3

Тільки підхід (а) служить меті перевірки гіпотези.

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

Алгоритми кластеризації (с) не розроблені для контрольованого навчання. Вони спрямовані не на відтворення міток, а на групування ваших даних за подібністю. Тепер результати залежать від того, яким алгоритмом ви користуєтесь і якого подібності ви шукаєте. Ваші дані можуть мати різні види подібності, ви можете шукати відмінностей між хлопчиками та дівчатами, але алгоритм може замість цього знайти групи бідних і багатих дітей, або розумних і менш розумних, праворуких і ліворуких тощо. Не знаходячи групування, яке ви мали намір, не доводить, що групування не має сенсу, а лише те, що воно знайшло інше «змістовне» групування. Як і в попередньому випадку, результати можуть залежати від використовуваного алгоритму та параметрів. Чи підходить вам, якби кожен десятий алгоритм / налаштування знайшов "свій" етикетки? Що робити, якщо це було одна зі ста? Скільки часу ви б шукали, перш ніж зупинитись? Зауважте, що при використанні машинного навчання в переважній більшості випадків ви не зупинитесь після використання одного алгоритму з налаштуваннями за замовчуванням, і результат може залежати від використовуваної процедури.


2
Для підходу (b): ви можете побудувати тест на гіпотезу, як зазначено у моїй відповіді, щоб вирішити проблему знання, чи є ваш результат значимим (хоча це, безумовно, наївне використання класифікаторів для цієї проблеми). Зауважте, що будь-який даний тест гіпотези також може не відкинути нуль, оскільки це "неправильний" тест для вашої проблеми, точно так само, як це було б із класифікатором; Проблема перевиконання повністю вирішується шляхом розподілу даних.
Дугал

@Дугальні хороші бали (+1), але головний мій аргумент полягає в тому, що за допомогою машинного навчання результат залежить від того, як вибрати алгоритм, використовувати його, протестувати та оцінити результати; тому результат такого тесту значною мірою залежить від ваших дій. Це означає, що потенційно два різних статистики могли отримати різні результати під час використання цього методу. З іншого боку, при традиційних тестах гіпотез це залежить лише від вибору тесту.
Тім

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

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

@Dougal так, але результат залежить також від процедури, яка використовується для перехресної перевірки та самого розщеплення (наприклад, розмір тестової групи). Тож на кожному кроці результат залежить від вашої процедури. Більше того, це ваше рішення, коли ви припиняєте навчання та намагаєтеся досягти кращих результатів (єдиний алгоритм із налаштуваннями за замовчуванням, проти окремих алгоритмів та налаштування параметрів, проти кількох алгоритмів - скільки?). Ця процедура, можливо, потребує деяких виправлень для багаторазового тестування (але що саме?), Щоб врахувати використану процедуру - здається, хороші результати для одного алгоритму з налаштуваннями за замовчуванням
Тим

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

  2. в) не є корисним для наукових аргументів через два модальні розподіли. б) може використовуватися для розмежування двох розподілів, тому що ви можете обчислити значення (див. 3.) Хоча я ніколи цього не зустрічав.

  3. Шляхом завантаження. Ви обчислюєте модель на основі випадкових підпроборів 1000 разів. Ви отримуєте бал, наприклад мінімальну суму помилок альфа та бета-версії. Ви сортуєте бал за зростанням. Для 5% впевненості ви вибираєте значення 950-го. Якщо це значення нижче 50% (при рівній кількості балів для груп А і В), то з 95% впевненістю можна знехтувати нульовою гіпотезою, що розподіли однакові. Проблема полягає в тому, що якщо обидва розподіли є нормальними, мають однакове середнє значення, але мають різну варіацію, то ви не зможете зрозуміти, що вони відрізняються методами ML. З іншого боку, ви можете знайти тест варіації, який зможе розрізнити два розподіли. І може бути навпаки, що ML буде сильнішим за статистичний тест і зможе розрізнити розподіли.

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

  5. Менші зразки можуть поводитися не нормально, оскільки теорема центрального граничного значення не може бути застосована. Більш великий зразок починає поводитися нормальніше, оскільки теорема про центральний межа починає працювати. Наприклад, середнє значення обох груп буде майже нормально розподілене, якщо вибірка є достатньо великою. Але зазвичай це не 100 проти 300, а 10 спостережень проти 1000 спостережень. Отже, згідно з цим сайтом, t-тест на різницю середнього значення буде працювати незалежно від розподілу, якщо кількість спостережень буде більша за 40 та без залишків.


0

Статистичне тестування призначене для отримання висновку з даних, воно говорить про те, як пов’язані речі. Результат - це щось, що має реальне значення. Наприклад, як куріння пов'язане з раком легенів, як з точки зору напрямку, так і масштабу. Це все ще не говорить вам, чому все сталося. Щоб відповісти, чому все сталося, нам потрібно також врахувати взаємозв'язок з іншими змінними та внести відповідні корективи (див. Pearl, J. (2003) ПРИЧІННІСТЬ: МОДЕЛІ, РОЗУМЕННЯ ТА ВПЛИВ).

Контрольоване навчання - це прогнозування, воно говорить вам, що буде. Наприклад, враховуючи стан куріння людини, ми можемо передбачити, чи буде у нього рак легенів. У простих випадках воно все ще говорить вам "як", наприклад, дивлячись на стан відсікання куріння, визначене алгоритмом. Але більш складні моделі важче або неможливо інтерпретувати (глибоке навчання / стимулювання з великою кількістю функцій).

Для полегшення вищезазначених питань часто використовується неуправлене навчання .

  • Для статистичного тестування, виявивши деякі невідомі основні підгрупи даних (кластеризація), ми можемо зробити висновок про неоднорідність у асоціаціях між змінними. Наприклад, куріння збільшує шанси на наявність раку легенів для підгрупи A, але не для підгрупи B.
  • Для контрольованого навчання ми можемо створити нові функції для підвищення точності прогнозування та надійності. Наприклад, ідентифікуючи підгрупи (кластеризація) або поєднання ознак (зменшення розмірів), які пов'язані з шансами на рак легенів.

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

Коли кількість вибірки збільшується, ми можемо отримати більш точні результати статистичного тестування, більш точні результати для контрольованого навчання та більш надійні результати для непідконтрольного навчання. Але це залежить від якості даних. Дані поганої якості можуть спричинити упередження або шум до результатів.

Іноді ми хочемо знати, як "і" чому "інформувати інтервенційні дії, наприклад, виявляючи, що куріння спричиняє рак легенів, може бути вироблена політика проти цього. Іноді ми хочемо знати "про що", щоб повідомити про прийняття рішень, наприклад, з’ясувати, хто, ймовірно, має рак легенів, та призначити їм раннє лікування. Існує спеціальний випуск, опублікований в Science про прогнозування та його межі ( http://science.sciencemag.org/content/355/6324/468). «Схоже, успіх досягається найбільш послідовно, коли питання вирішуються в мультидисциплінарних зусиллях, які поєднують людське розуміння контексту з алгоритмічною здатністю обробляти терабайти даних». На мою думку, наприклад, знання, виявлені за допомогою тестування гіпотез, можуть допомогти наглядному навчанню, повідомивши нас які дані / особливості нам слід збирати в першу чергу. З іншого боку, контрольоване навчання може допомогти генерувати гіпотези, інформуючи, які змінні

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