Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Избираем модул · Урок 15

Оценка на модел

Точност, матрица на грешките, прецизност и чувствителност; защо 99% точност може да е безполезен модел; пренагаждане и пристрастия в данните — и как се търсят причините за грешките.

Едно число не стига

Миналата седмица Test and Score ви даде CA — дял познати редове. В Teachable Machine видяхте „точност по клас“. И двете са една и съща мярка. Тя е най-естествената и най-подвеждащата.

Точност (accuracy)

Делът на познатите примери от всички: познати / общо.

Проблемът е, че точността слива два съвсем различни вида грешка. Трябва ни начин да ги видим поотделно.

Матрицата на грешките

Всяко предсказание попада в едно от четири квадратчета: моделът е казал „да“ или „не“, а истината е била „да“ или „не“. Това е матрицата, която Orange показва в Confusion Matrix.

предсказано от моделаспамнормалноистинаспамнормалноВярно положителниTP = 40Грешно отрицателниFN = 10Грешно положителниFP = 30Вярно отрицателниTN = 920Общо 1000 съобщения, от които 50 наистина са спам.
Спам филтър, пуснат върху 1000 съобщения. Точността е (40 + 920) / 1000 = 96%.
ОзначениеИмеКакво се е случило
TPвярно положителенспам, разпознат като спам
FPгрешно положителеннормално писмо, обявено за спам
FNгрешно отрицателенспам, пропуснат в пощата
TNвярно отрицателеннормално писмо, оставено на мира

Прецизност и чувствителност

Прецизност (precision)

От всичко, което моделът е обявил за спам, каква част наистина е спам: TP / (TP + FP). Въпросът „когато каже да, вярно ли е“.

Чувствителност (recall, обхват)

От целия истински спам, каква част моделът е хванал: TP / (TP + FN). Въпросът „изпуска ли“.

За матрицата по-горе: прецизност = 40 / (40 + 30) = 0.57, чувствителност = 40 / (40 + 10) = 0.80. Филтърът хваща 80% от спама, но почти половината от маркираните писма всъщност не са спам. Точността 96% не показваше нищо от това. А „мързеливият“ модел, който винаги казва „нормално“: точност 95%, чувствителност 0.

Двете винаги се дърпат

Ако вдигнем прага и обявяваме за спам само това, в което сме много уверени, прецизността расте, а чувствителността пада. Ако свалим прага, става обратното. Не съществува настройка, която подобрява и двете; изборът зависи от цената на всяка грешка. Когато трябва едно число, се използва F1 — средно между двете, високо само когато и двете са високи. Това са колоните Precision, Recall и F1 в Test and Score.

Пренагаждане и недостатъчно обучение

Недостатъчнотвърде простаТочно колкото трябвахваща тенденциятаПренагоденоминава през всяка точка
Едни и същи шест точки. Червената крива минава точно през всяка от тях — и точно затова е безполезна за нови данни.

Пренагаждане (overfitting)

Моделът е запомнил обучаващите данни заедно с техните случайности и шум. Отличен е върху тях и слаб върху нови.

Недостатъчно обучение (underfitting)

Моделът е твърде прост, за да улови закономерността. Слаб е и върху обучаващите, и върху тестовите данни.

ПренагажданеНедостатъчно обучение
Точност върху trainмного висока (99%)ниска (60%)
Точност върху testниска (70%)ниска (58%)
Признакголяма разлика между дветеи двете са слаби
Лекарствоповече данни, по-прост модел (дърво с дълбочина 3)по-сложен модел, повече признаци

Пристрастия в данните

Алгоритъмът няма мнение. Той намира закономерности в примерите, които сме му дали — включително такива, които не бихме искали да научи. Ако в данните една група исторически е получавала по-ниски оценки, моделът ще предскаже по-ниски оценки за нея. Не защото „смята“ така, а защото това е закономерността в числата.

Пристрастие (bias)

Систематична грешка, при която моделът се справя различно добре с различни групи или възпроизвежда несправедливост, съдържаща се в данните.

Откъде идваКакво се случваРеален случай (накратко)
Изкривена извадкаданните не отразяват тези, за които ще се използва моделътсистеми за разпознаване на лица с грешка под 1% за светлокожи мъже и над 30% за тъмнокожи жени (изследване от 2018 г.)
Историческо пристрастиеданните са верни, но описват несправедливо миналомодел за подбор на кадри, обучен върху стари автобиографии, понижава кандидатури с думата „женски“; проектът е спрян
Неподходящ заместителпризнакът изглежда неутрален, но носи неравенствотомедицински модел мери тежестта на болестта по разходите за лечение — група, лекувана по-малко, изглежда по-здрава
Обратна връзкарешенията на модела създават новите данни и усилват наклонапатрули там, където моделът предсказва престъпления → повече регистрирани престъпления там

Как се търсят причините за грешките

Един CA не казва какво да поправите. Матрицата и сбърканите редове казват. Въпросите, в този ред:

  1. Кои примери бърка? Извадете ги (Confusion Matrix → Data Table в Orange; тетрадката от урок 13).
  2. Какво им е общо? Един и същ клас, един и същ фон, малки стойности на един признак, липсващи стойности?
  3. Липсва ли клас? Всичко „друго“ ли попада в най-близкия познат клас?
  4. Малко ли са примерите от този клас? Под 20–30 реда на клас почти нищо не се учи.
  5. Има ли признак, който не носи информация — или носи прекалено много (изтичане)?
  6. Различна ли е точността по групи — по клас, пол, устройство, осветление?

Какво трябва да запомниш

  • Точността слива двата вида грешка; при рядък клас е безполезна сама по себе си — питайте колко чест е класът.
  • Матрицата на грешките дели предсказанията на TP, FP, FN, TN; коя грешка е по-скъпа, решава човекът.
  • Прецизност = TP/(TP+FP) — „когато каже да, вярно ли е“; чувствителност = TP/(TP+FN) — „изпуска ли“.
  • Пренагаждане: отличен на train, слаб на test; лекува се с повече данни и по-прост модел.
  • Пристрастията идват от данните — извадка, история, заместители, обратна връзка — и се откриват само с мерки по групи.
  • Грешките се анализират по списък: кои примери, какво им е общо, липсва ли клас, малко ли са, различно ли е по групи.