Статистическо тестване за ML

Извод, оценка и вземане на решения от данни

Създали сте два класификатора: единият има 91,0% точност, а другият 91,4%. Вторият наистина ли е по-добър, или просто е имал „късмет“ с тестовия набор? Строгият отговор на този въпрос е статистическото тестване за ML: тестване на хипотези, адаптирано към спецификите на сравняването на модели.

Наивният подход – обикновен t-тест върху точността на частите (folds) от кръстосаното валидиране – е погрешен, тъй като тези части споделят тренировъчни данни и така нарушават допускането за независимост, което t-тестът изисква. Това прави теста прекалено самоуверен и изкуствено увеличава фалшиво положителните резултати. Три по-добри инструмента се справят коректно със спецификата на машинното обучение.

Тестът на Макнемар (McNemar's test) сравнява два класификатора върху един и същ тестов набор, като разглежда само примерите, по които те не са съгласни – това е точният подход при сдвоени прогнози. Методът bootstrap пресемплира тестовия набор (взема извадки с връщане) много пъти, за да изгради директно доверителен интервал (confidence interval) за точността, без да е необходима формула. Коригираният сдвоен t-тест коригира дисперсията, за да отчете припокриването между частите (folds) на CV, премахвайки прекомерната самоувереност на наивната версия.

Къде се използва това в MLТози вид математическа строгост е това, което отличава истинските резултати от статистическия шум в класациите. Преди да заявите, че модел А побеждава модел Б, направете тест на Макнемар (върху същия тестов набор) или изчислете bootstrap доверителен интервал (CI) за разликата в точността. Цялата причина резултатите да се отчитат като „91,2% ± 0,4%“, а не просто „91,2%“, е за да може читателят да…
▶ Статистическо тестване за ML
← Метрики за оценкаГенеративни срещу дискриминативни модели →