единица 3 / 11

Обучение и оценка на модела: точни показатели, честен бенчмаркинг

Печалби:

  • Възможност за избор на метрика, подходяща за типа проблем и бизнес контекста (PR-AUC/извикване при небалансирани данни, MAE/RMSE при регресия) и разпознаване на свръх/недостатъчно обучение
  • Възможност за интерпретиране на всеки показател спрямо базова линия и измерване на отклонението и отделяне на шума от напредъка с кръстосано валидиране
  • Възможност за отчитане на неоптимистични резултати чрез настройка на хиперпараметри с набора за валидиране и използване на тестовия набор само в края

Обучението по модел (обучение: процесът на учене на модели от данни) е най-видимата, но най-подвеждащата стъпка на ML инженерството. Появява се, защото дава задоволително число като "точност 95%". Подвеждащо, защото това число често е правилният отговор на грешен въпрос. В тази единица образованието и оценката се обсъждат с инженерната дисциплина; Използваме изкуствения интелект като партньор в експерименталния дизайн и базираме решението на измерване.

Логика на тренировъчния цикъл

Един модел научава модела в данните чрез минимизиране на функция за загуба: функция, която числено измерва грешката на модела. Алгоритъмът за оптимизация (напр. градиентно спускане) намалява загубата чрез коригиране на параметрите стъпка по стъпка. Целта не е да се запомнят данните от обучението, а да се обобщят до безпрецедентни данни.

Две основни опасности:

  • Пренастройване: Моделът запаметява данните за обучение и се проваля при нови данни. Успехът на обучение е висок, успехът на проверката е нисък.
  • Недостатъчно прилягане: Моделът не може да улови шаблона; Както обучението, така и успехът при валидирането са ниски.

Намирането на баланса е изкуството на образованието. Наборът за валидиране е там, за да наблюдава този баланс: ако успехът на валидирането започне да намалява, докато успехът на обучението се увеличава, е започнало свръхобучаване.

Съвет: Начертайте заедно загубата на обучение и валидиране на всяка стъпка. Точката, в която двете криви започват да се разминават, е мястото, където започва свръхученето и е подходящият момент за „ранно спиране“.

Избор на показател: най-критичното решение

Грешният показател кара добрия модел да изглежда зле, а лошия модел да изглежда добре. Проблемът определя показателя:

  • Небалансирана класификация (един клас е много рядък, напр. измама): Точността е подвеждаща. Модел, който казва „наречете всичко нормално“, ще получи 99% точност, но няма да улови нито една измама. Вместо това се използват прецизност (колко от това, което съм уловил, всъщност е положително), припомняне (колко от това, което съм уловил, е наистина положително) и техният баланс F1 или PR-AUC.
  • Балансирана класификация: Точността и ROC-AUC може да са подходящи.
  • Регресия (числова оценка): MAE (средна абсолютна грешка), RMSE (наказва големи грешки), MAPE (процентна грешка).
  • Класиране/препоръка: NDCG, MRR, Recall@K.

Дали прецизността или припомнянето са важни зависи от бизнес контекста. Припомнянето (без пропускане на пациенти) е приоритет при скрининга за рак; Прецизността във филтъра за нежелана поща (да не се изпращат важни имейли до спам) е важна. Това е бизнес решение, а не техническо и се взема съвместно от инженера и собственика.

Слаба подкана / Силна подкана

Слаба подкана: „Оценете производителността на моя модел, точност 0,97.“

Мощна подкана: „Имам модел за откриване на измами; коефициентът на положителен клас е 1,5%. Точността се отчита като 0,97. Обяснете защо този показател може да е подвеждащ, кажете ми кои показатели (прецизност, припомняне, PR-AUC) трябва да предпочета и защо. Също така изчислете колко точен би бил базовият модел „обадете се на всичко отрицателно“ върху тези данни, за да мога да видя реалната добавена стойност.“

Разлика: мощна подсказка дава класово съотношение и бизнес контекст; той също изисква сравнение на базовия модел - това е най-важната котва за това дали даден показател има смисъл.

Базово ниво: показателят без сравнение е безсмислен

Един показател не е добър или лош сам по себе си; Добър или лош е според базов модел. Базовият модел е най-простото решение, което идва на ум: „винаги казвай на мнозинството“, „повторете стойността от миналата седмица“, „познайте средната стойност“. Ако вашият модел не може ясно да премине това просто решение, цялата сложност е за нищо.

Внимание: Изречението „Моят модел е 85% точен“ само по себе си не казва нищо. Ако базовият модел вече получава 84%, вашият модел е почти безполезен; Ако базовият модел получи 50%, вашият модел е перфектен. Винаги говорете от гледна точка на основния модел.

Кръстосано валидиране и доверие

Единично разделяне на обучение/тест може да се дължи на случайност. Кръстосано валидиране: разделянето на данните на k части и последователното тестване на всяка част показва колко стабилна е производителността. При 5-кратно кръстосано валидиране получавате пет различни резултата; Тяхното средно и стандартно отклонение са важни. Ако средната стойност е 80%, но отклонението е ±12%, вашият модел е нестабилен — той може да се държи съвсем различно в следващата партида от данни.

Това също е критично за „сравнението на два модела“. Ако модел A получи 81% и модел B получи 82%, B наистина ли е по-добър? Ако отклонението е ±3%, тази разлика може да е шум. Помислете дали разликата е значителна, преди да вземете решение.

Хиперпараметрична настройка: с валидиране, без тестване

Хиперпараметрите (настройки, определени ръчно преди обучението — скорост на учене, дълбочина на дървото и т.н.) се задават с набора за валидиране. Тестовият комплект се използва само накрая, веднъж. Ако изберете хиперпараметри, като разгледате набора от тестове, наборът от тестове ще бъде замърсен и представянето, което отчитате, ще бъде оптимистично, което не е така в действителност.

Изкуственият интелект е добър помощник при проектирането на пространството за търсене на хиперпараметър и писането на кода за търсене (търсене в мрежа, произволно търсене, байесова оптимизация). Но все пак вие решавате "кой показател ще оптимизираме?"

три мини калъфа

Случай 1 - Капан за точност. Медицински екип се гордее с модел, който открива рядко заболяване: 98% точност. Когато беше направено сравнението на основния модел, истината излезе наяве: тъй като процентът на заболяването беше 2%, моделът, който казваше „наречете всички здрави“, също получи 98%. Припомнянето на модела е само 11% - липсват повечето пациенти. След като показателят беше преобразуван в PR-AUC, действителната производителност беше измерена и моделът беше преработен.

Случай 2 - Погрешно приемане на шум за напредък. Екип прекара месеци в подобряване на модела от 86,2% на 86,9%. Кръстосаното валидиране показа, че отклонението е ±1,4% — така че „подобрението“ от 0,7 точки е статистически шум. Екипът беше пропилял три седмици в нереални печалби. Поука: не обявявайте победа, без да проверите дали подобрението е по-голямо от отклонението.

Случай 3 - Замърсяване на комплекта за тестване. Инженер многократно разглежда тестовия комплект, за да избере най-добрите хиперпараметри. Отчетените 91% спаднаха до 83% в производството. Защо: той несъзнателно беше избрал съответно модела, като гледаше тестовия набор отново и отново (прекомерно обучение върху тестовия комплект). Отчетената и действителната производителност се припокриват, когато се използва отделен набор за валидиране.

Копируеми шаблони

Помогнете ми да избера правилната метрика за този проблем с класификацията. Проблем: [какво се предвижда] Разпределение на класа: [положителен процент

Оценете сравнението на следните два модела. Кръстосано валидиране на модел A: [списък с резултати] Кръстосано валидиране на модел B: [списък с резултати] Изчислете средната стойност и стандартното отклонение. Статистически значима ли е разликата или е просто шум в рамките на отклонението? Кой бихте препоръчали да избера и защо?

Проверете този код за обучение за следното: 1) Хиперпараметрите избрани ли са с тестовия набор или набора за валидиране? 2) Ранното спиране наблюдава ли се с правилния набор? 3) Има ли някакви признаци на свръхобучаване (разлика в загубата на обучение/валидиране)? Код: [код]

Кое от MAE, RMSE и MAPE трябва да докладвам за този регресионен проблем? Мащаб на целевата променлива: [диапазон] Дали големите грешки са непропорционално лоши (RMSE) или всички са еднакви (MAE)? Има ли стойности, близки до нула (изкривяват ли MAPE)? Предложете с кратка обосновка.

Таблица за избор на показатели

Тип проблем

Подходящ показател

Да се избягва

защо

Небалансирана класификация

PR-AUC, F1, изземване

точност

Класата на мнозинството надува показателя

Балансирана класификация

Точност, ROC-AUC

Надежден в балансирани данни

Регресия (значително отклонение)

RMSE

MAPE (ако е нула)

Наказва големите грешки

Регресия (равно тегло)

MAE

Лесен за тълкуване

Класиране/препоръка

NDCG, Recall@K

точност

Редът е важен

Често срещани грешки

  • Използване на точност при небалансирани данни. Най-честата метрична грешка.
  • Не се правят сравнения на базовите модели. Това кара метриката да загуби значението си.
  • Разглеждане на тестовия набор за хиперпараметри. Оптимистичен, нереалистичен резултат.
  • Разчитайки на едно отделение. Без кръстосано валидиране няма да видите отклонението.
  • Объркайте шума с напредъка. Малките "подобрения" от отклонението са най-вече късмет.
  • Игнориране на бизнес контекста. Балансът за прецизност/припомняне е бизнес решение.

В обобщение

Истинското умение в обучението на модели не е да се произвежда голямо число, а да се знае какво означава това число. Проблемът и бизнес контекстът определят правилния показател; интерпретира всеки показател според базов модел; измервайте пристрастията с кръстосано валидиране и не бъркайте шума с напредъка; Използвайте тестовия комплект само накрая, веднъж. AI е вашият партньор в проектирането на експерименти, но решението „достатъчно добър“ зависи от вас и от вас.

Задача за приложение

За класификационен модел: (1) напишете класовото разпределение, (2) изградете подходящ базов модел и измерете резултата му, (3) оценете вашия модел с 5-кратно кръстосано валидиране и докладвайте средното и стандартното отклонение, (4) изчислете показателя, подходящ за проблема (напр. PR-AUC) вместо точност. Запишете дали вашият модел превъзхожда базовия модел с голяма разлика без пристрастия.

контролен списък

  • [ ] Избрах показателя въз основа на типа проблем и бизнес контекста.
  • [ ] Създадох базов модел и го сравних.
  • [ ] Отчетох средната стойност и отклонението с кръстосано валидиране.
  • [ ] Потвърдих, че подобрението е по-голямо от отклонението.
  • [ ] Избрах хиперпараметрите с набора за валидиране.
  • [ ] Използвах тестовия комплект само веднъж, в самия край.