Функції втрат для класифікації

Матеріал з testwiki
Перейти до навігації Перейти до пошуку
Баєсові функції втрат: функція втрат 0-1 (сірий), функція втрат Севіджа (зелений), логістична функція втрат (помаранчевий), експоненціальна функція втрат (фіолетовий), тангенсна функція втрат (коричневий), квадратична функція втрат (синій).

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

Дано 𝒳 як простір усіх можливих вхідних даних (зазвичай 𝒳d), і 𝒴={1,1} як набір міток (можливих вихідних даних), типовою метою алгоритмів класифікації є пошук функції f:𝒳, яка найкраще прогнозує значення мітки y для заданого входу x.[2] Однак, через неповну інформацію, наявність шуму під час вимірювання, або ймовірнісні складові процесу, який досліджується, можливо для одного і того ж самого x мати, як передбачення, різні y.[3] В результаті, метою навчання є мінімізація очікуваних втрат (також відомих як ризик), визначених як

I[f]=𝒳×𝒴V(f(x),y)p(x,y)dxdy

де V(f(x),y) — задана функція втрат і p(x,y) — функція густини ймовірності процесу, яка генерує дані. Еквівалентно цю функцію можна записати як

p(x,y)=p(yx)p(x).

У рамках класифікації часто використовують функції втрат, трактовані виключно в термінах добутку справжньої мітки y на передбачену мітку f(x). Отже, їх можна визначити як функцію лише однієї змінної υ=yf(x), таким чином V(f(x),y)=ϕ(yf(x))=ϕ(υ) з правильно обраною функцією ϕ:. Вони називаються функціями втрат на основі маржі (margin-based loss functions). Вибір функції втрат на основі маржі прирівнюється до вибору ϕ. Обрання функції втрат у цій структурі впливає на оптимальну fϕ*, яка мінімізує очікуваний ризик.

У разі бінарної класифікації можна спростити розрахунок очікуваного ризику за допомогою зазначеного вище інтегралу. Зокрема,

I[f]=𝒳×𝒴V(f(x),y)p(x,y)dxdy=𝒳𝒴ϕ(yf(x))p(yx)p(x)dydx=𝒳[ϕ(f(x))p(1x)+ϕ(f(x))p(1x)]p(x)dx=𝒳[ϕ(f(x))p(1x)+ϕ(f(x))(1p(1x))]p(x)dx

Друга рівність випливає з описаних вище властивостей. Третя рівність випливає з того факту, що 1 і −1 є єдино можливими значеннями для y, а четверте — за рахунок p(1x)=1p(1x). Вираз у дужках [ϕ(f(x))p(1x)+ϕ(f(x))(1p(1x))] відомий як очікуваний ризик.

Для мінімізатора I[f] можна вирішити проблему, взявши функціональну похідну від останньої рівності відносно f, при цьому встановити похідну рівною 0. Це призведе до рівняння

ϕ(f)fη+ϕ(f)f(1η)=0(1)

що також є еквівалентним встановленню похідної від умовного ризику рівною нулю.

Враховуючи бінарну природу класифікації, природним відбором для функції втрат (припускаючи однакову вартість хибно позитивного та хибно негативного) буде функція втрат 0-1 (характеристична функція 0–1). Вона приймає значення 0, якщо прогнозована класифікація дорівнює класифікації істинного класу або 1, якщо прогнозована класифікація не відповідає істинному класу. Цей вибір моделюється за формулою

V(f(x),y)=H(yf(x))

де H позначає ступінчасту функцію Гевісайда. Однак, ця функція втрат є неопуклою і негладкою, і пошук оптимального рішення є NP-складною комбінаторною задачею оптимізації.[4] Як результат, краще розглянути сурогатні функції втрат, які підходять для часто вживаних алгоритмів навчання, оскільки вони мають і опуклі, і гладкі властивості. На додаток до їх обчислювальної керованості, можна показати, що вирішення проблеми навчання з використанням цих сурогатних функцій втрат дозволяють відновити фактичне вирішення вихідної проблеми класифікації.[5] Деякі з цих сурогатів описані нижче.

На практиці, розподіл ймовірностей p(x,y) є невідомим. Отже, використовуючи навчальний набір з n незалежних та однаково розподілених точок вибірки

S={(x1,y1),,(xn,yn)}

взятих з простору елементарних подій, ми прагнемо мінімізувати емпіричний ризик

IS[f]=1ni=1nV(f(xi),yi)

як непрямий показник очікуваного ризику.[3] (Див. статистичну теорію навчання для більш детального опису.)

Узгодженість Баєса

Використовуючи теорему Баєса, можна показати, що оптимальне f0/1*, тобто те, що мінімізує очікуваний ризик пов'язаний із 0-1 втратою, реалізує правило оптимального рішення Байєса для проблеми бінарної класифікації та має форму

f0/1*(x)={1if p(1x)>p(1x)0if p(1x)=p(1x)1if p(1x)<p(1x) .

Кажуть, що функція втрат є каліброваною за класифікацією або узгодженою за Баєсом, якщо її оптимальне fϕ* є таким, що f0/1*(x)=sgn(fϕ*(x)) і, таким чином, є оптимальним за правилом Баєса. Узгоджена функція втрат Баєса дозволяє нам знайти функцію оптимального рішення Баєса fϕ* шляхом безпосередньої мінімізації очікуваного ризику і без необхідності явного моделювання функцій густини ймовірності.

Для опуклої функції втрат маржі ϕ(υ), можна показати, що ϕ(υ) є узгодженою за Баєсом тоді і тільки тоді, коли вона диференційована в 0 і ϕ(0)<0.[6][1] Проте цей результат не виключає існування неопуклих та узгоджених за Байєсом функцій втрат. Більш загальний результат стверджує, що узгоджені функції втрат Баєса можна створити за допомогою наступної формулювання [7]

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)](2) ,

де f(η),(0η1) — будь-яка інвертована функція така, що f1(v)=1f1(v) і C(η) — будь-яка диференційована строго угнута функція така, що C(η)=C(1η). Таблиця-I демонструє створені узгоджені функції втрат Баєса для деяких прикладів C(η) і f1(v). Зверніть увагу, що функції втрат Savage і Tangent не є опуклими. Виявилося, що такі неопуклі функції втрат корисні для боротьби з промахами в класифікації.[7][8] Для всіх функцій втрат, породжених з (2), апостеріорну ймовірність p(y=1|x) можна знайти за допомогою функції зворотного звʼязку як p(y=1|x)=η=f1(v). Функції втрат, де апостеріорна ймовірність може бути відновлена за допомогою інветнованого зв'язку, називаються власними функціями втрат.

Таблиця-I
Назва функції втрат ϕ(v) C(η) f1(v) f(η)
Експоненціальна ev 2η(1η) e2v1+e2v 12log(η1η)
Логістична 1log(2)log(1+ev) 1log(2)[ηlog(η)(1η)log(1η)] ev1+ev log(η1η)
Квадратна (1v)2 4η(1η) 12(v+1) 2η1
Savage 1(1+ev)2 η(1η) ev1+ev log(η1η)
Tangent (2arctan(v)1)2 4η(1η) arctan(v)+12 tan(η12)

Єдиний мінімізатор очікуваного ризику, fϕ*, пов'язаний з вищезгаданими функціями втрат, можна безпосередньо знайти з рівняння (1) і показати, що він дорівнює відповідній f(η). Це справедливо навіть для неопуклих функцій втрат і означає, що алгоритми на основі градієнтного спуску, такі як Шаблон:Не перекладено, можна використовувати для побудови мінімізатора.

Власні функції втрат, маржа втрат та регуляризація

(Червоний) стандартна логістична втрата (γ=1,μ=2) і (Синій) підвищена маржа у логістичній втраті (γ=0.2).

Для власних функцій втрат маржу можна визначити як μϕ=ϕ(0)ϕ(0) і показати, що вона безпосередньо пов'язана з властивостями регуляризації класифікатора.[9] Зокрема, функція втрат з більшою маржою збільшує регуляризацію і дає кращі оцінки апостеріорної ймовірності. Наприклад, маржа втрат може бути збільшена для логістичних функцій втрат шляхом введення γ параметра і визначення функції як 1γlog(1+eγv), де менший 0<γ<1 збільшує маржу втрат. Показано, що це прямо еквівалентно зменшенню швидкості навчання при Шаблон:Не перекладено Fm(x)=Fm1(x)+γhm(x), де зменшення параметру γ покращує регуляризацію посиленого класифікатора. Теорія чітко дає зрозуміти, що використання швидкості навчання γ зумовлює появу корректної формули для отримання апостеріорної ймовірності η=f1(γF(x)).

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

Квадратична функція втрат

Хоча квадратична функція втрат частіше використовується в регресії, її можна переписати як функцію ϕ(yf(x)) і використовувати для класифікації. Квадратичну функцію можна створити за допомогою (2) і Таблиці-I наступним чином

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)]=4(12(v+1))(112(v+1))+(112(v+1))(48(12(v+1)))=(1v)2.

Функція квадратичних втрат є як опуклою, так і гладкою. Однак, квадратична функція втрат має тенденцію надмірно штрафувати промахи, що призводить до повільніших показників збіжності (що стосується складності вибірки) порівняно з функціями логістичних або шарнірних втрат.[1] Крім того, функції, які дають високі значення f(x) для деяких xX будуть погано працювати з функцією квадратичних втрат, оскільки високі значення yf(x) будуть суворо каратися, незалежно від того, чи співпадають ознаки у y і f(x).

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

Мінімізатор I[f] для квадратичної функції втрат можна знайти безпосередньо з рівняння (1) як

fSquare*=2η1=2p(1x)1.

Логістична функція втрат

Логістична функція втрат може бути отримана за допомогою (2) та таблиці-I наступним чином

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)]=1log(2)[ev1+evlogev1+ev(1ev1+ev)log(1ev1+ev)]+(1ev1+ev)[1log(2)log(ev1+ev1ev1+ev)]=1log(2)log(1+ev).

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

Мінімізатор I[f] для логістичної функції втрат можна знайти безпосередньо з рівняння (1) як

fLogistic*=log(η1η)=log(p(1x)1p(1x)).

Ця функція не визначена, коли p(1x)=1 або p(1x)=0 (що прямує до ∞ і −∞ відповідно), але передбачає плавну криву, яка зростає, коли p(1x) росте і дорівнює 0, коли p(1x)=0.5.[3]

Легко перевірити, що логістична функція втрат та функція втрат від двійково перехресної ентропії (Log втрата) насправді однакові (до множення на константу 1log(2)). Функція втрат від перехресної ентропії тісно пов'язана з розходженням Кульбака–Лейблера між емпіричним і прогнозованим розподілом. Перехресні втрати ентропії є широко розповсюдженими у сучасних глибоких нейронних мережах.

Експоненціальна функція втрат

Експоненціальну функцію втрат можна згенерувати за допомогою (2) та таблиці-I наступним чином

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)]=2(e2v1+e2v)(1e2v1+e2v)+(1e2v1+e2v)(12e2v1+e2ve2v1+e2v(1e2v1+e2v))=ev

Експоненціальна функція втрат є опуклою і зростає експоненціально для негативних значень, що робить її більш чутливою до викидів. Експоненціальна функція втрат використовується в Шаблон:Не перекладено.

Мінімізатор I[f] для експоненціальної функції втрат можна безпосередньо знайти з рівняння (1) як

fExp*=12log(η1η)=12log(p(1x)1p(1x)).

Функція втрат Savage

Функцію втрат Savage[7] можна отримати за допомогою (2) та таблиці-I наступним чином

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)]=(ev1+ev)(1ev1+ev)+(1ev1+ev)(12ev1+ev)=1(1+ev)2.

Функція втрат Savage є квазіопуклою і обмеженою для великих від'ємних значень, що робить її менш чутливою до викидів. Функція втрат Savage була використана для Шаблон:Не перекладено та в алгоритмі SavageBoost.

Мінімізатор I[f] для функції втрат Savage можна безпосередньо знайти з рівняння (1) як

fSavage*=log(η1η)=log(p(1x)1p(1x)).

Функція втрат Tangent

Тангенсну функцію втрат[11] можна отримати за допомогою (2) та таблиці-I наступним чином

ϕ(v)=C[f1(v)]+(1f1(v))C[f1(v)]=4(arctan(v)+12)(1(arctan(v)+12))+(1(arctan(v)+12))(48(arctan(v)+12))=(2arctan(v)1)2.

Тангенсна функція втрат є квазіопуклою і обмеженою для великих від'ємних значень, що робить її менш чутливою до викидів. Цікаво, що тангенсна функція втрат також накладає обмежене покарання на точки, які були класифіковані як «занадто правильні». Це може допомогти у запобіганні перенавчанню набору даних. Тангенсна функція втрат використовується для Шаблон:Не перекладено, алгоритму TangentBoost та Alternating Decision Forests[12].

Мінімізатор I[f] для тангенсної функції втрат можна безпосередньо знайти з рівняння (1) як

fTangent*=tan(η12)=tan(p(1x)12).

Завісна функція втрат

Шаблон:Main Завісна функція втрат визначається за допомогою ϕ(υ)=max(0,1υ)=[1υ]+, де [a]+=max(0,a)Шаблон:Не перекладено функції.

V(f(x),y)=max(0,1yf(x))=[1yf(x)]+.

Завісна функція втрат забезпечує відносно жорстку, опуклу верхню межу для характеристичної функції 0–1. Зокрема, завісна функція втрат дорівнює характеристичній функції 0–1, коли sgn(f(x))=y і |yf(x)|1. Крім того, емпірична мінімізація ризику цієї втрати еквівалентна класичному формулюванню для методу опорного вектора (SVM). Правильно класифіковані точки, що лежать за межами мержі опорних векторів, не штрафуються, тоді як точки в межах границь або на неправильній стороні гіперплощини штрафуються лінійно порівняно з їх відстанню до правильної межі.[4]

Хоча завісна функція втрат є як опуклою, так і безперервною, вона не є гладкою (не диференційованою) при yf(x)=1. Отже, вона не може використовуватися з методами градієнтного спуску або методами стохастичного градієнтного спуску, які покладаються на диференційованість по всій області. Проте завісна функція втрат має субградієнт на yf(x)=1, що дозволяє використовувати субградієнтні методи спуску.[4] SVM, які використовують завісну функцію втрат, також можна вирішити за допомогою квадратичного програмування.

Мінімізатор I[f] для завісної функції втрат визначається як

fHinge*(x)={1if p(1x)>p(1x)1if p(1x)<p(1x)

коли p(1x)0.5, що відповідає характеристичній функції 0–1. Цей висновок робить завісну функція втрат досить привабливою, оскільки можна встановити межі як різницю між очікуваним ризиком та знаком завісної функції втрат.[1] Завісну функція втрат не можна отримати з (2), оскільки fHinge* не є оберненою.

Узагальнена плавна завісна функція втрат

Узагальнена плавна завісна функція втрат з параметром α визначається як

fα*(z)={αα+1zif z01α+1zα+1z+αα+1if 0<z<10if z1,

де

z=yf(x).

Вона монотонно зростає і досягає 0, коли z=1.

Див. також

Примітки

Шаблон:Примітки

Шаблон:Диференційовні обчислення