Подход на икономист за обяснение на поведението на потребителите на машинно обучение с полезни функции.

Когато стартира проект за машинно обучение, въпросът за критериите за приемане възниква много скоро. След като избере показателите, които най-добре ще отразяват нуждите на вашия експерт по домейн, специалистът по данни ще се запита какво трябва да бъде минималното ниво на този показател, което позволява моделът му да бъде приет и използван от потребителите. Необходими са само няколко проекта, направени с данни от реалния свят, за да разберете, че няма готов отговор на този въпрос. Защо? Нека да разгледаме икономическата теория!

Назад към теорията

През 1947 г. Джон фон Нойман и Оскар Моргенщерн, съответно математик и икономист, доказват, че индивидуалните предпочитания по отношение на приемането на риск (за хазарт например) могат да бъдат представени чрез математически функции, известни като „функции на полезност“. Икономическият агент ще направи избор с цел да максимизира очакваната си полезност.

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

  • Синята вдлъбната крива илюстрира агент, който избягва риска. Голяма печалба ще генерира малко увеличение на удовлетворението.
  • Червената линейна крива илюстрира рисков неутрален агент. Дадена промяна в печалбата ще генерира „нормално“ увеличение на удовлетворението.
  • Зелената изпъкнала крива илюстрира агент, който обича риска. Малка печалба ще генерира по-високо ниво на удовлетворение за този агент.

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

Клиентът на ML рационален икономически агент ли е?

Разбира се, той е! Ето защо изследователите на данни имат някои възможности да предвидят и адаптират своите алгоритми според нашата клиентска „полезна функция“.
Нека вземем пример и приемем, че един клиент е изправен пред проблем с двоичната класификация на машинното обучение и използва балансиран набор от данни. Тези предположения ни позволяват да опростим проблема си и да използваме точността като показател за оценка. Намерението на този проект е да замени ръчната задача с автоматизирана, като се предполага, че автоматизираната задача ще бъде по-точна от ръчната.

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

  • Риск срещу възможност за работни места: Ако една или повече заинтересовани страни в проекта смятат, че има риск от загуба на работа поради потенциална замяна от човек на машина, тези хора ще бъдат класифицирани като склонни към риск. Обратно, ако екипът разбира, че проектът ще отключи нови възможности, ще подобри тяхната продуктивност или ще спести време за по-интересни задачи, членовете ще бъдат любители на риска.
  • Въздействието върху бизнеса: какво ще се случи, ако моделът за машинно обучение се провали? Предоставя ли само някои грешни прогнози, генерирайки допълнителни ръчни задачи за изпълнение? Или спира пълна производствена линия във фабрика например? Бизнес контекстът е много важен и рискът от неуспешно предвиждане може да бъде умерен или сериозен от една компания към друга или от проект към друг. Обществените организации започнаха да оценяват риска, свързан с продукти и услуги, съдържащи модел на машинно обучение. Най-известният пример е скалата на риска, публикувана от Европейския съюз, от „Неприемлив риск“ до „минимален риск“, за регулиране на дейностите на ИИ в зоната на ЕС и насърчаване на стабилни и обясними модели на ИИ.
  • Фирмена култура или дигитална културация на служителите: наистина ли заинтересованите страни в проекта знаят какво прави моделът на машинно обучение? Дали служителите на компанията са участвали в някои обучения за изкуствен интелект или сесии за повишаване на осведомеността, за да ги информират за възможностите, рисковете и възможностите. Нивото на разбиране на заинтересованите страни или клиенти е от ключово значение за определяне дали той най-вероятно е склонен към риск или агент, който обича риска.
  • Избор на показател за валидиране: Ако вашите показатели за валидиране отговарят на реалността на проблема на вашия клиент, има по-голям шанс той да им се довери. Пряката последица за него е да получи по-голямо подобрение на удовлетворението за дадено подобрение на модела в сравнение с неподходящ показател. Класическа илюстрация на това явление е случаят с небалансиран набор от данни в проблем с класификацията. В повечето от тези ситуации разглеждането на точността не е достатъчно уместно за оценка на ефективността на модела и други показатели като F1-резултат, припомняне или прецизност трябва да бъдат анализирани по-внимателно. Ако Data Scientist обръща внимание само на точността на модела, дори голямо подобрение на този показател може да повиши слабо удовлетвореността на клиента, тъй като това не е надеждно по отношение на неговия проблем.

Следователно поведението на потребителя с машинно обучение не може да се дефинира само от гледна точка на личността на хората, но и от неговата професионална среда и способността на Data Scientist да обясни своя избор. На този етап трябва да вярвате, че ако попаднете на клиент, склонен към риск, имате само малък шанс да повлияете на избора на клиента. Ако вашият модел не е достатъчно добър, играта свършва. Но това не е съвсем вярно. Като Data Scientist вие имате сила за преговори!

Променете мнението на клиентите си

Вие сте обучили модел и сте малко стресирани да представите резултатите на собственика на вашия бизнес. От миналото той беше много стриктен да потвърди вашия модел и подозирате, че той ще го отхвърли. Имате възможността и задължението да промените мнението на клиента си. За да извършите тази психологическа промяна, два лоста могат да помогнат: промяна на възприятието на показателя и превръщане на вашия клиент от склонен към риск в обичащ риска (или да кажем по-малко склонен към риск) полезна функция.
Най-доброто оръжие, което имате за този трик, е за да накарате вашия модел да предскаже вероятността за класа. В действителност, в проблем с класификация на машинно обучение, повечето от Data Scientist използват прогнозата на класа. Например, в добре познатия проблем „Бедствието на Титаник“ в Kaggle, стандартната прогноза дава отговор дали пътникът ще оцелее или не. Независимо от това, собствената функция за обучение на Scikit ви позволява да предоставите вероятността, свързана с прогнозирания клас. Вероятността е добър индикатор за доверие за вашата прогноза.
Сега нека илюстрираме връзката между поведението на потребителя и прогнозираната вероятност. В този пример се използва „задържане на служители в човешките ресурси“ от Kaggle. В този случай целта на това проучване е да се предвиди дали даден служител ще напусне или не компанията. Процесът на машинно обучение е внедрен, което означава, че почистването на данни, обработката на характеристиките, обучението на модела и стъпките за валидиране са налице. Избраният тук модел е SVC (Support Vector Classifier) ​​и осигурява средни резултати.

Разглеждайки тези показатели, наблюдаваме, че моделът среща някои трудности при откриването на хора, които са напуснали компанията (клас 1). Това ниво на представяне на модела може да не е достатъчно, за да бъде прието от собственика на бизнеса. За да променим тази ситуация, нека използваме нашето тайно оръжие за прогнозиране на вероятности!

# Make a prediction with the SVC model
pred = svc.predict(X_test_scaled)
pred_proba = svc.predict_proba(X_test_scaled)

# Find the proability linked to the predicted class
class_proba = []
for i in pred_proba : 
    class_proba.append(max(i))

# Put the probability and the related class in a dataframe
results = pd.DataFrame(data = {"true" : y_test,
                    "predicted_class" : pred, 
                    "probability" :  class_proba})

В тези редове код ние просто предвиждаме класа и свързаната вероятност за всяко наблюдение, получавайки следната таблица:

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

# Recompute the validation metrics and the prediction rate with probability threshold filtered data
accuracy = []
recall = []
precision = []
f1 = []
pred_rate = []
for i in list(np.arange(0,1,0.01)) : 
    filtered_df = results[results["probability"] >= i]
    accuracy.append(accuracy_score(filtered_df["true"], filtered_df["predicted_class"]))
    recall.append(recall_score(filtered_df["true"], filtered_df["predicted_class"], pos_label="1"))
    precision.append(precision_score(filtered_df["true"], filtered_df["predicted_class"], pos_label="1"))
    f1.append(f1_score(filtered_df["true"], filtered_df["predicted_class"], pos_label="1"))
    pred_rate.append(len(filtered_df)/ len(results))
    
# Results in a dataframe
threshold_results = pd.DataFrame(data = {
    "threshold" : np.arange(0,1,0.01), 
    "accuracy" : accuracy, 
    "recall" : recall, 
    "precision" : precision, 
    "f1-score" : f1, 
    "prediction_rate" : pred_rate
 })
threshold_results

В тази таблица наблюдаваме, че ако филтрираме нашата таблица с прогнози с даден праг на вероятността, показателите за валидиране се развиват. Например, ако прагът на референтната вероятност е 0,95, точността се увеличава изкуствено от 0,91 на 0,98, припомнянето от 0,76 на 0,85 и прецизността от 0,83 на 0,91. От възприемането на функцията на полезност (графика 2), това създава по-голямо увеличение на точността (ос x и ако приемем, че е референтната метрика) и генерира също по-ниско и непропорционално увеличение на полезността (ос y). За да бъде ясно, нашият клиент е по-щастлив!
Въпреки това, противоположността на това изкуствено повишаване на тези показатели е спад на процента на прогнозиране. Колкото по-висок е прагът на вероятността, толкова по-нисък е процентът на прогнозиране. На практика това означава, че за висок праг на вероятността съществува дял от наблюдения, за които няма да бъде предоставена прогноза от модела. Като читател може да кажете, че този метод е измама, но в действителност това не е проблем.

Искате перфектен модел, а не вашия клиент

Ако си спомняте добре, като специалисти по данни, ние искаме да убедим нашия собственик на бизнес, който не е склонен към риск, че нашият модел си заслужава. Както бе споменато по-рано, този вид потребител има няколко характеристики.
Първо, той възприема риск за работата си. Въпреки това остава част от наблюденията, които трябва да бъдат предвидени ръчно, като се използва горната методология. Така че потребителят променя възприятието си и разбира, че новият процес все още се нуждае от неговите умения и няма да го замени. Вероятността да се отхвърли тази технология спада.
Освен това филтърът за праг на вероятност също е начин за намаляване на риска по отношение на въздействието върху бизнеса. Тъй като ще премахне част от грешната прогноза. Рискът от генериране на бизнес проблем поради новоизградения модел намалява драстично според избрания праг.
И накрая, ако понякога е трудно да се обяснят средните стойности на показателите за валидиране и начина, по който те се интерпретират, сега вашият клиент печели да има пълна представа за това как показателите варират в зависимост от прага и напълно да възстанови ролята си на собственик на бизнес в проекта. Той не само взема решение за двоичен избор (приемане или отхвърляне на модела), но също така е част от създаването на алгоритъма, способен да избере най-добрите параметри, които да отговарят на неговите нужди.

Методът на вероятностния праг не само увеличава делтата на точността в графиката на функциите на полезността, но също така променя самата индивидуална крива на полезността, за да я направи по-малко склонна към риск, отколкото първоначално.

Как да изберем най-добрия праг на вероятност?

Както може би разбирате, няма правило за намиране на най-добрия праг на вероятност за конкретен бизнес проблем. Този избор е много повече въпрос на преговори и образование, отколкото технически. Ролята на Data Scientist е да предостави модел с най-добра производителност и да покрие възможно най-голям периметър по отношение на предвидените наблюдения. Собственикът на бизнес трябва да предложи праг, отговарящ на бизнес реалността и личното му поведение.
Както винаги, най-добрият начин да го обясните е използването на визуализация на данни. За да изберете най-добрия праг, той е лесен за начертаване, референтната метрика за валидиране и процентът на прогнозиране над прага на вероятността.

Този вид графика ясно показва компромиса между изкуствено увеличаване на производителността и намаляване на процента на прогнозиране. Това е добро начало за прозрачна дискусия между Data Scientist и собственици на бизнес.

Изводи

  • Потребителите, клиентите или собствениците на бизнес имат различно поведение по отношение на риска и те трябва да бъдат взети под внимание, когато им се представя ефективността на модела.
  • Специалистът по данни има възможност да увеличи изкуствено производителността на модела, като използва праг на вероятността за прогнозиране.
  • Последствието е намаляване на прогнозираните наблюдения от модела.
  • Тази методология помага да се увеличи делтата на показателя за валидиране и да се коригира функцията за полезност на агента към по-малко избягване на риска.
  • Окончателният праг на вероятността трябва да се обсъжда съвместно със собственика на бизнеса, за да се улесни приемането на модела.
  • Рисковото поведение на всеки агент прави невъзможно задаването на автоматизирано правило за определяне на модел на ефективност, който трябва да бъде достигнат.

източници:

https://psycnet.apa.org/record/1947-03159-000

https://www.researchgate.net/figure/Utility-function-shapes-for-risk-averse-risk-neutral-and-risk-seeking-individuals_fig1_271918241

https://www.andchange.com/preparing-inevitable-resistance-ai/

https://ec.europa.eu/commission/presscorner/detail/fr/qanda_21_1683

https://www.kaggle.com/datasets/gummulasrikanth/hr-employee-retention

https://www.kaggle.com/c/titanic