
Në këtë artikull, ne do të analizojmë formulimet teorike të transformimit funksionit të regresionit linear në funksionin e transformimit të inversit logit (ndryshe quhet, funksioni i përgjigjes logjistike). Pastaj, duke shfrytëzuar arsenalin metodës së maksimalit të mundësisë, në përputhje me modelin e regresionit logjistik, do të nxjerrim funksionin e humbjes Logistic Loss, ose me fjalë të tjera, do të përcaktojmë funksionin, me ndihmën e të cilit në modelin e regresionit logjistik përshtaten parametrat e vektorit të peshave
.
Plani i artikullit:
- Le të përsërisim mbi varësinë lineare midis dy variablave
- Do të identifikojmë nevojën për transformim funksionit të regresionit linear
në funkcionin e përgjigjes logjistike 
- Do të kryejmë transformime dhe do të nxjerrim funkcionin e përgjigjes logjistike
- Do të përpiqemi të kuptojmë, pse metoda e katërcave më të vogla ka probleme në përshtatjen e parametrave
funkcione Logistic Loss - Përdorni metodën e maksimalit të mundësisë për të përcaktuar funkcionin e përshtatjes së parametrave
:5.1. Rast 1: funksioni Logistic Loss për objekte me emra klasash 0 dhe 1:

5.2. Rast 2: funksioni Logistic Loss për objekte me emra klasash -1 dhe +1:

Artikulli është i mbushur me shembuj të thjeshtë, në të cilët të gjitha llogaritë janë të lehta për t'u bërë me gojë ose në letër, ndonjëherë mund të nevojitet një kalkulator. Pra, përgatituni 🙂
Ky artikull është kryesisht i destinuar për data scientistët me një nivel fillestar njohurish në bazat e mësimit të makinerive.
Në artikull do të ofrohet gjithashtu kodi për vizatimin e grafikëve dhe llogaritjeve. I gjithë kodi është shkruar në gjuhën python 2.7. Më parë do të shpjegoj për "novitetin" e versionit të përdorur — është një nga kushtet për të përfunduar kursin e njohur nga Yandex në një platformë të njohur online të edukimit Coursera, dhe, siç mund të supozohet, materiali është përgatitur sipas këtij kurse.
01. Varësia lineare
Është krejt e arsyeshme të bëhet një pyetje — çfarë lidhjeje ka këtu varësia lineare dhe regresioni logjistik?
E gjithash është e thjeshtë! Regresioni logjistik është një nga modelet që i përket klasifikuesve linearë. Me fjalë të thjeshta, detyra e klasifikuesit linear është parashikimi i vlerave qëllimore
nga variablat (regresorët)
. Në të njëjtën kohë, supozohet se varësia midis karakteristikave
dhe vlerave qëllimore
lineare. Nga këtu vjen emri i klasifikatorit — linear. Nëse e përgjithësojmë shumë, në thelb të modelit të regresionit logjistik qëndron supozimi për ekzistencën e një varësie lineare midis karakteristikave
dhe vlerave qëllimore
. Ja ajo — lidhja.
Në studio kemi shembullin e parë, dhe ai, siç është e saktë, është për varësinë lineare të madhësive të shqyrtuara. Gjatë përgatitjes së artikullit, u takova me një shembull, që tashmë i ka ardhur në ndihmë shumëkujt — varësia e forcës së rrymës nga tensioni ('Analiza regresionore e aplikueshme', N.Dreiper, G.Smith). Këtu do ta shqyrtojmë gjithashtu.
Në përputhje me ligjin e Ohm-it:
index
— forca e rrymës,
— tensioni,
— rezistenca.
Po të mos e dinim ligjin e Ohm-it, mund të gjenim varësinë empirike, duke ndryshuar
dhe duke matur
, duke mbajtur
në nivel konstant. Pastaj do të shihnim se grafiku i varësisë
nga
jep një linjë më shumë ose më pak të drejjtë që kalon përmes origjinës. E thamë «më shumë ose më pak», sepse, megjithëse varësia është në fakt e saktë, matjet tona mund të përmbajnë gabime të vogla, dhe prandaj pikat në grafikun mund të mos bien saktësisht mbi linjë, por të shpërndahen përreth saj rastësisht.
Grafiku 1 «Varësia
nga
»

Kodi për të vizatuar grafikën
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import random
R = 13.75
x_line = np.arange(0,220,1)
y_line = []
for i in x_line:
y_line.append(i/R)
y_dot = []
for i in y_line:
y_dot.append(i+random.uniform(-0.9,0.9))
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(x_line,y_line,color = 'purple',lw = 3, label = 'I = U/R')
plt.scatter(x_line,y_dot,color = 'red', label = 'Rezultatet reale')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()02. Nevoja për transformime të ekuacionit të regresionit linear
Le të shqyrtojmë një shembull tjetër. Le të imagjinojmë se punojmë në një bankë dhe para nesh është detyra për të përcaktuar probabilitetin e kthimit të një kredie nga borroweri në varësi të disa faktorëve. Për thjeshtimin e problemit, le të shqyrtojmë vetëm dy faktorë: paga mujore e borrowerit dhe shuma mujore e pagesës për shlyerjen e kredisë.
Detyra është shumë e kushtëzuar, por me këtë shembull do të mund të kuptojmë pse për zgjidhjen e saj nuk mjafton të përdoren funksionit të regresionit linear, si dhe të mësojmë se cilat transformime duhet të bëhen me funksionin.
Kthehemi në shembull. E qartë se sa më e lartë të jetë paga, aq më shumë borxhi do të mund të japë çdo muaj për shlyerjen e kreditit. Në të njëjtën kohë, për një interval të caktuar pagash, kjo varësi do të jetë mjaft lineare. Për shembull, le të marrim intervalin e pagave nga 60,000 R deri në 200,000 R dhe të supozojmë se në këtë interval të pagave, varësia e pagesës mujore ndaj pagës do të jetë lineare. Le të supozojmë se për këtë interval pagash është zbuluar se proporcioni i pagës ndaj pagesës nuk mund të zbresë nën 3 dhe gjithashtu borxhli duhet të ketë ende në dispozicion 5,000 R. Vetëm në këtë rast, ne do ta konsiderojmë se borxhli do të kthejë kreditin në bankë. Atëherë, ekuacioni i regresionit linear do të ketë formën:

ku
,
,
,
— paga
e borxhlisë,
— pagesa e kreditit
e borxhlisë.
Duke e futur në ekuacionin pagën dhe pagesën e kreditit me parametra fikse
mund të merret një vendim për dhënie ose refuzim të kreditit.
Duke u nxjerrë përpara, vërejtim se, me parametra të caktuar
funksioni i regresionit linear, i aplikuar në funksionin e përgjigjes logjistike do të japë vlera të mëdha, të cilat do të vështirësojnë llogaritjet për përcaktimin e probabilitetit të shlyerjes së kreditit. Prandaj, propozoni që të zvogëlojmë koeficientët tanë, le të themi, në 25,000 herë. Nga ky transformim në koeficientë, vendimi për dhënie të kreditit nuk do të ndryshojë. Të mbajmë mend këtë moment për të ardhmen, ndërsa tani, për të qenë më të qartë për çfarë po flasim, le të shqyrtojmë situatën me tre borxhlinj potencialë.
Tabela 1 «Borxhlinj potencialë»

Kodi për formimin e tabelës
import pandas as pd
r = 25000.0
w_0 = -5000.0/r
w_1 = 1.0/r
w_2 = -3.0/r
data = {'Borxhliu':np.array(['Vasya', 'Fedya', 'Lesha']),
'Paga':np.array([120000,180000,210000]),
'Pagesa':np.array([3000,50000,70000])}
df = pd.DataFrame(data)
df['f(w,x)'] = w_0 + df['Paga']*w_1 + df['Pagesa']*w_2
decision = []
for i in df['f(w,x)']:
if i > 0:
dec = 'Miratuar'
decision.append(dec)
else:
dec = 'Refuzim'
decision.append(dec)
df['Vendimi'] = decision
df[['Borxhliu', 'Paga', 'Pagesa', 'f(w,x)', 'Vendimi']]Sipas të dhënave të tabelës, Vasya me një pagë prej 120,000 R dëshiron të marrë një kredit të tillë, në mënyrë që çdo muaj ta shlyejë me 3,000 R. Ne kemi përcaktuar se për miratimin e kreditit, shuma e pagës së Vasya duhet të tejkalojë tri herë shumat e pagesës, dhe për t'u ruajtur gjithashtu 5,000 R. Ky kërkesë e plotëson Vasya:
. Mbeten edhe 106.000R. Pavarësisht se gjatë llogaritjes
ne kemi zvogëluesit
në 25.000 herë, rezultati mbetet i njëjtë — kredi mund të miratohet. Fedja gjithashtu do të marrë kredi, ndërsa Aleksei, pavarësisht se fiton më shumë se të gjithë, do t'i duhet të kufizojë apetitet e tij.
Le të çizojmë një grafik për këtë rast.
Grafiku 2 "Klasifikimi i huamarrësve"

Kodi për vizatimin e grafikës
salary = np.arange(60000,240000,20000)
payment = (-w_0-w_1*salary)/w_2
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(salary, payment, color = 'grey', lw = 2, label = '$f(w,x_i)=w_0 + w_1x_{i1} + w_2x_{i2}$')
plt.plot(df[df['Decision'] == 'Approved']['Salary'], df[df['Decision'] == 'Approved']['Payment'],
'o', color ='green', markersize = 12, label = 'Vendimi - Kredi miratuar')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'],
's', color = 'red', markersize = 12, label = 'Vendimi - Kredi refuzuar')
plt.xlabel('Paga', size = 16)
plt.ylabel('Pagesa', size = 16)
plt.legend(prop = {'size': 14})
plt.show()Pra, drejta jonë, e ndërtuar sipas funksionit
, ndan huamarrësit “e keq” nga “të mirë”. Ata huamarrës që dëshirat e tyre nuk përputhen me mundësitë janë sipër drejta (Aleksei), ato që janë në gjendje sipas parametrave të modelit tonë, të kthejnë kredinë, janë nën drejtë (Vasia dhe Fedja). Mund të thuhet se — drejta jonë ndan huamarrësit në dy klasa. Të shënojmë ato si vijon: në klasën
do të përfshijmë ata huamarrës që me siguri do të kthejnë kredinë, në klasën
ose
do të përfshijmë ata huamarrës që me siguri nuk do të jenë në gjendje të kthejnë kredinë.
Të përgjithsojmë përfundimet nga ky shembull i thjeshtë. Të marrë një pikë
dhe, duke vendosur koordinatat e pikës në ekuacionin përkatës të drejtës
, le të shqyrtojmë tre variante:
- Nëse pika ndodhet poshtë drejtës, dhe ne e klasifikojmë atë në klasën
, atëherë vlera e funksionit
do të jetë pozitive nga
në
. Kështu që ne mund ta konsiderojmë se probabiliteti i shlyerjes së kredisë, ndodhet brenda
. Sa më e madhe të jetë vlera e funksionit, aq më e lartë është probabiliteti. - Nëse pika ndodhet mbi drejtë dhe ne e klasifikojmë atë në klasën
ose
, atëherë vlera e funksionit do të jetë negative nga
në
. Atëherë ne do të konsiderojmë se probabiliteti i shlyerjes së borxhit ndodhet brenda
dhe, sa më e madhe të jetë vlera e funksionit në modul, aq më e lartë është besimi ynë. - Pika ndodhet në drejtë, në kufirin midis dy klasave. Në këtë rast vlera e funksionit
do të jetë e barabartë me
dhe probabiliteti i shlyerjes së kredisë është i barabartë me
.
Tani, le të paraqesim se nuk kemi dy faktorë, por dhjetë, huamarrësit jo tre, por mijëra. Atëherë, përveç drejtës do të kemi m-mëra plakë dhe koeficientë
ne do të marrim jo nga çatia, por do t'i nxjerrim sipas të gjitha rregullave, mbi bazën e të dhënave të grumbulluara mbi kredi-dhënësit që e kanë paguar ose jo kreditin. Dhe me të vërtetë, vini re, ne tani po përzgjedhim kredi-dhënësit duke u bazuar në koeficientët e njohur
. Në të vërtetë, detyra e modelit të regresionit logjistik është pikërisht të përcaktojë parametrat
, për të cilët vlera e funksionit të humbjes Logistic Loss do të përpiqet të jetë minimale. Por për mënyrën se si llogaritet vektori
, do të mësojmë në seksionin e 5-të të artikullit. Ndërkohë, kthehemi në tokën e premtuar — tek bankieri ynë dhe tre klientët e tij.
Falë funksionit
ne e dimë se kujt mund t'i jepet kredi dhe kujt duhet t'i ndahet. Por me një informacion të tillë, nuk mund të shkojmë te drejtori, sepse ata donin të merrnin probabilitetin e kthimit të kreditit nga çdo kredi-dhënës. Çfarë të bëjmë? Pjesa e lehtë — na nevojitet ta transformojmë funksionin
, vlerat e të cilit janë në intervalin
në një funksion, vlerat e të cilit do të jenë në intervalin
. Dhe një funksion i tillë ekziston, ai quhet funkcioni i përgjigjes logjistike ose transformimi logit të kundërt. Njihuni:

Le të shohim hap pas hapi si del funkcioni i përgjigjes logjistike. Vërejmë se do të ecim në anën e kundërt, që do të thotë se do të supozojmë se ne kemi të njohur vlerën e probabilitetit, e cila është brenda intervalit nga
në
dhe më pas do të "zgjasim" këtë vlerë për në të gjithë fushën e numrave nga
në
.
03. Nxjerrim funksionin e përgjigjes logjistike
Hapi 1. Do të kalojmë vlerat e probabilitetit në intervalin 
Për kohën e transformimit të funksionit
në funkcionin e përgjigjes logjistike
ne do ta lëmë në paqe analistin tonë të kredisë, dhe në vend të kësaj do të shkojmë në agjencitë e basteve. Jo, sigurisht, ne nuk do të bëjmë baste, gjithçka që na intereson atje, është kuptimi i shprehjes, për shembull, shansi 4 me 1. Shanset, të njohura për të gjithë lojtarët që bëjnë baste, janë një raport i "sukseseve" me "dështimet". Nga perspektiva e probabiliteteve, shanset janë probabiliteti i ndodhjes së një ngjarjeje, i ndarë me probabilitetin që ngjarja nuk do të ndodhte. Le të shkruajmë formulën e shanseve të ndodhisë së ngjarjes
:

index
— probabiliteti i ndodhjes së ngjarjes,
— probabiliteti i MOS ndodhjes së ngjarjes
Për shembull, nëse probabiliteti që një kalë i ri, i fortë dhe energjik me emrin "Erë" të kalojë në garat një plak të vjetër dhe të plasaritur me emrin "Matilda" është
, atëherë shanset për suksesin e "Erës" do të jenë
në
dhe anasjelltas, duke ditur shanset, nuk do të kemi vështirësi të llogarisim probabilitetin
:

Kështu, ne mësuam "të përkthejmë" probabilitetin në shanse, të cilat marrin vlera nga
në
. Të bëjmë një hap tjetër dhe të mësojmë "të përkthejmë" probabilitetin në të gjithë drejtvizoren numerik nga
në
.
Hapi 2. Të përkthejmë vlerat e probabilitetit në intervalin 
Ky hap është shumë i thjeshtë — do të logaritemi shanset mbi bazën e numrit të Eylurit
dhe do të marrim:

Tani e dimë se nëse
, atëherë të llogaritësh vlerën
do të jetë shumë e thjeshtë dhe, më shumë, ajo duhet të jetë pozitive:
. Ashtu është.
Për kuriozitet, le të kontrollojmë, se nëse
, atëherë presim të shohim një vlerë negative
. Po kontrollojmë:
. E gjithë kjo është e saktë.
Tani e dimë si të tjetërsojmë vlerën e probabilitetit nga
në
në të gjithë drejtvizoren numerik nga
në
. Në hapin e ardhshëm do të bëjmë të gjitha anasjelltas.
Por tani, le të theksojmë se sipas rregullave të logaritmimi, duke ditur vlerën e funksionit
, mund të kalkulojmë shanset:

Ky metodë e përcaktimit të shanseve do të na nevojitet në hapin tjetër.
Hapi 3. Të nxjerrim formulën për përcaktimin 
Kështu, ne mësuam, duke ditur
, të gjejmë vlerat e funksionit
. Sidoqoftë, në të vërtetë, na nevojitet gjithçka me saktësi të anasjelltës — duke ditur vlerën
të gjejmë
. Për këtë do të referohemi në një koncept të tillë si funksioni i kundërt i shanseve, sipas të cilit:

Në këtë artikull ne nuk do të nxjerrim formulën e përmendur më sipër, por do të kontrollojmë me numra nga shembulli më sipër. E dimë se me shanset e barabarta 4 me 1 (
), probabiliteti i ndodhisë së ngjarjes është 0.8 (
). Të bëjmë zëvendësimin:
. Kjo përputhet me llogaritjet tona të mëparshme. Po vazhdojmë.
Në hapin e kaluar ne nxorrëm se
, prandaj mund të bëjmë një zëvendësim në funksionin e kundërt të shanseve. Do të marrë:

Të ndajmë si numeratorin ashtu edhe denominatori mbi
, atëherë:

Në çdo rast të rastit, për t'u siguruar se nuk kemi gabuar askund, le të bëjmë një tjetër kontroll të vogël. Në hapin 2, ne përcaktuam se
. Pastaj, duke zëvendësuar vlerën
në funksionin e reagimit logjistik, presim të marrim
. Po zëvendësojmë dhe marrim:
. 
Urime, e nderuar lexues, ne sapo nxorrëm dhe testuam funksionin e përgjigjes logjistike. Le të shohim grafikën e funksionit.
Grafiku 3 "Funksioni i përgjigjes logjistike"

Kodi për vizatimin e grafikës
import math
def logit (f):
return 1/(1+math.exp(-f))
f = np.arange(-7,7,0.05)
p = []
for i in f:
p.append(logit(i))
fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(f, p, color = 'grey', label = '$ 1 / (1+e^{-w^Tx_i})$')
plt.xlabel('$f(w,x_i) = w^Tx_i$', size = 16)
plt.ylabel('$p_{i+}$', size = 16)
plt.legend(prop = {'size': 14})
plt.show()Në literaturë mund të hasni emrin e këtij funksioni si funksioni sigmoidal. Nga grafiku është lehtë të kuptohet se ndryshimi kryesor i probabilitetit përkatës të objektit ndodh në një gamë relativisht të vogël
, diku nga
në
.
Propozoj të kthehemi te analisti ynë kreditues dhe ta ndihmojmë atë me llogaritjen e probabilitetit të shlyerjes së kredive, ndryshe ai rrezikon të mbetet pa shpërblim 🙂
Tabela 2 "Kreditë potenciale"

Kodi për formimin e tabelës
proba = []
for i in df['f(w,x)']:
proba.append(round(logit(i),2))
df['Probability'] = proba
df[['Kredimarrësi', 'Paga', 'Shlyerja', 'f(w,x)', 'Vendimi', 'Probabiliteti']]Pra, probabiliteti i shlyerjes së kredive e kemi përcaktuar. Në përgjithësi, kjo duket si e vërtetë.
Në të vërtetë, probabiliteti që Vasia, me një pagë prej 120,000 R, të jetë në gjendje të kthejë çdo muaj 3,000 R në bankë është afërsisht 100%. Sidoqoftë, ne duhet të kuptojmë se banka mund t’i japë kredi edhe Lleshës nëse politika e bankës parashikon, për shembull, të kreditonte klientët me probabilitetin e shlyerjes më shumë se, le të themi, 0.3. Thjesht në një rast të tillë, banka do të formojë një rezervë më të madhe për humbjet e mundshme.
Po ashtu, është e rëndësishme të theksohet se raporti i pagës ndaj shlyerjes, të cilin e kemi marrë si minim 3 dhe me një rezervë prej 5,000 R, është marrë nga tavani. Prandaj, ne nuk mund ta përdorim në formën e tij origjinale vektorin e peshave
. Na nevojitej që ta zvogëlojmë shumë coeficientët dhe kështu ne e ndamë çdo coeficient me 25,000, pra në thelb e kemi përshtatur rezultatin. Por kjo u bë me qëllim, për të thjeshtuar kuptimin e materialit në fillim. Në jetën reale, ne duhet të përpiqemi të gjejmë koeficientët, jo t’i imagjinojmë dhe t’i përshtatim. Në pjesët në vijim të artikullit ne do të nxjerrim ekuacione, me ndihmën e të cilave përcaktohen parametrat
.
04. Metoda e katrorëve minimalë për përcaktimin e vektorit të peshave
në funksionin e përgjigjes logjistike
Tani ne tashmë e dimë një metodë për përshtatjen e vektorit të peshave
, si metoda e katrorëve minimalë (MKM) dhe konkretisht, pse të mos e përdorim atë në detyrat e klasifikimit binar? Në të vërtetë, nuk ka asgjë që e pengon të përdorim MNP, por ky metodë në detyrat e klasifikimit jep rezultate më pak të sakta se sa Logistic Loss. Kjo ka një justifikim teorik. Le të shohim së pari një shembull të thjeshtë.
Supozoni se modelet tona (që përdorin MSE dhe Logistic Loss) kanë filluar tashmë optimizimin e vektorit të peshave
dhe ne e ndaluam llogaritjen në një hap të caktuar. Nuk ka rëndësi nëse është në mes, në fund ose në fillim, e rëndësishme është që tashmë kemi disa vlera të vektorit të peshave dhe le të supozojmë se në këtë hap, vektori i peshave
për të dy modelet nuk ka ndonjë ndryshim. Atëherë ta marrim peshën e marrë dhe ta zëvendësojmë në funkcionin e përgjigjes logjistike (
) për ndonjë objekt që i takon klasës
. Të shqyrtojmë dy raste, kur në përputhje me vektorin e përshtatur të peshave modeli ynë gabon rëndë dhe anasjelltas — modeli është shumë i sigurt se objekti i përket klasës
. Të shohim se çfarë ndëshkimesh do të "shkruhen" kur përdorim MNP dhe Logistic Loss.
Kodi për llogaritjen e ndëshkimeve në varësi të funksionit të humbjes së përdorur
# класс объекта
y = 1
# вероятность отнесения объекта к классу в соответствии с параметрами w
proba_1 = 0.01
MSE_1 = (y - proba_1)**2
print 'Штраф MSE при грубой ошибке =', MSE_1
# напишем функцию для вычисления f(w,x) при известной вероятности отнесения объекта к классу +1 (f(w,x)=ln(odds+))
def f_w_x(proba):
return math.log(proba/(1-proba))
LogLoss_1 = math.log(1+math.exp(-y*f_w_x(proba_1)))
print 'Штраф Log Loss при грубой ошибке =', LogLoss_1
proba_2 = 0.99
MSE_2 = (y - proba_2)**2
LogLoss_2 = math.log(1+math.exp(-y*f_w_x(proba_2)))
print '**************************************************************'
print 'Штраф MSE при сильной уверенности =', MSE_2
print 'Штраф Log Loss при сильной уверенности =', LogLoss_2Rasti i gabimit të rëndë — modeli i përket objektin klasës
me një probabilitet prej 0,01
Ndëshkimi kur përdoret MNP do të jetë:

Ndëshkimi kur përdoret Logistic Loss do të jetë:

Rasti me siguri të madhe — modeli i përket objektin klasës
me një probabilitet prej 0,99
Ndëshkimi kur përdoret MNP do të jetë:

Ndëshkimi kur përdoret Logistic Loss do të jetë:

Ky shembull ilustron mirë se sa rëndë ndëshkon funksioni i humbjes Log Loss modelin në krahasim me MSE. Le të kuptojmë tani se çfarë janë premisat teorike për përdorimin e funksionit të humbjes Log Loss në detyrat e klasifikimit.
05. Metoda e maksimalizimit të mundësive dhe regresioni logjistik
Siç ishte premtuar në fillim, artikulli është i pasur me shembuj të thjeshtë. Në studio një shembull tjetër dhe mysafirë të vjetër — huamarrësit e bankës: Vasja, Fedja dhe Llesha.
Për çdo rast, para se të zhvillojmë shembullin, të kujtojmë se në të vërtetë ne kemi të bëjmë me një grup trajnimi prej mijëra ose miliona objekteve me dhjetra ose qindra karakteristika. Megjithatë, këtu numrat janë marrë në mënyrë që të lehtësojnë kuptimin për një fillestar në datascience.
Kthehemi te shembulli. Imagjinoni se drejtori i bankës vendosi të japë kredi të gjithë atyre që kanë nevojë, pavarësisht se algoritmi i sugjeronte që të mos jepet kredi Lëshet. Dhe tani ka kaluar mjaft kohë dhe ne kemi mësuar se cili nga tre heronjtë e ka shlyer kredinë dhe cili jo. Siç pritej: Vasja dhe Fedja e kanë shlyer kredinë, ndërsa Lëshja jo. Tani le të imagjinojmë se ky rezultat do të ishte një grup i ri të dhënash për ne dhe që, për më tepër, na duket se janë zhdukur të gjitha të dhënat mbi faktorët që ndikojnë në probabilitetin e shlyerjes së kredive (paga e borxhlinjve, shuma e pagesës mujore). Atëherë, intuitivisht, mund të supozojmë se çdo borxhlinj i tretë nuk ia kthen bankës kredinë ose, me fjalë të tjera, probabiliteti që borxhlinj tjetër të kthejë kreditë është
. Këtij supozimi intuitiv i japin mbështetje teorike dhe bazohet në metodën e maksimumit të mundësive, shpesh në literaturë e quajnë principi i maksimumit të mundësive.
. Fillimisht le të njihemi me terminologjinë.
Probabiliteti i mostretë të dhënave është probabiliteti i marrjes së këtij grupi të dhënash të caktuar, marrjes së këtyre vëzhgimeve / rezultateve, pra produkti i probabiliteteve të marrjes së secilit nga rezultatet e grupit të dhënash (për shembull, shlyerja ose mosshlyerja e kredive nga Vasha, Fedja dhe Lëshja në të njëjtën kohë).
Funksioni i mundësive lidhet probabiliteti i grupit të dhënash me vlerat e parametrave të shpërndarjes.
Në rastin tonë, grupi i dhënash për formimin përfaqëson një skemë të përgjithshme Bernulli, në të cilën variabla rastësore merr vetëm dy vlera:
ose
. Prandaj, probabiliteti i grupit të dhënash mund të shkruhet si funksioni i mundësive të parametrave
në mënyrë të tillë:


Shënimi më sipër mund të interpretohet kështu. Probabiliteti se Vasja dhe Fedja do të shlyejnë kredinë është
, probabiliteti se Lëshja NUK e shlyen kredinë është
(sepse ndodhi pikërisht mosshlyerja e kreditit), prandaj probabiliteti i të tre ngjarjeve së bashku është
.
Metoda e maksimumit të mundësive është një metodë e vlerësimit të parametrave të panjohur përmes maksimizimit të funksionit të mundësive. Në rastin tonë, është e nevojshme të gjendet një vlerë e tillë
, për të cilën
arrin maksimumin.
Nga burimi i qartë i idesë për të kërkuar vlerën e parametrave të panjohur, për të cilin funksioni i besueshmërisë arrin maksimumin? Origjinat e kësaj ideje vijnë nga përceptimi se mostra është burimi i vetëm i njohurive për popullsinë e përgjithshme. gjithçka që dimë për popullsinë e përgjithshme paraqitet në mostrën. Prandaj, gjithçka që mund të themi është se mostra është pasqyrimi më i saktë i popullsisë së përgjithshme që kemi. Prandaj, na nevojitet të gjejmë një të tillë parametrat se në cilin variabël ekzistues bëhet më i mundshëm.
E qartë, ne kemi të bëjmë me një problem optimizimi, ku kërkohet të gjejmë pikën ekstreme të funksionit. Për të gjetur pikën ekstreme, është e nevojshme të shqyrtojmë kushtin e rendit të parë, domethënë, të barazojmë derivatën e funksionit me zero dhe të zgjidhim ekuacionin për parametrin e kërkuar. Megjithatë, kërkimi i derivatës së një produkti të numër të madh faktorësh mund të jetë një punë e gjatë, për ta evituar këtë, ekziston një teknikë e veçantë - kalimi në logaritëm. funksionit të mundësivePse është i mundur një kalim i tillë? Le të theksojmë se ne nuk po kërkojmë vetë ekstrem,
por pikën ekstreme, domethënë atë vlerë të parametrave të panjohur
, për të cilën
arrin maksimumin. Kur kalojmë në logaritëm, pika ekstreme nuk ndryshon (ndonëse vetë ekstremi do të ndryshojë), pasi logaritmi është një funksion monoton.
Le të vazhdojmë me shembullin tonë me kreditë për Vasën, Fedin dhe Leshin. Fillimisht, le të kalojmë në logaritmin e funksionit të besueshmërisë.:

Tani mund të diferencojmë lehtësisht shprehjen për
:

Dhe përfundimisht, le të shqyrtojmë kushtin e rendit të parë - barazojmë derivatën e funksionit me zero:

Prandaj, vlerësimi ynë intuitiv për probabilitetin e shlyerjes së kreditit
u arsyetua në mënyrë teorike.
Super, por çfarë duhet të bëjmë tani me këtë informacion? Nëse ne e vlerësojmë se çdo kredimarrës i tretë nuk do t'i kthejë paratë bankës, atëherë kjo e fundit patjetër do të falimentojë. Kështu është, por kur vlerësojmë probabilitetin e shlyerjes së kreditit të barabartë
nuk kemi marrë parasysh faktorët që ndikojnë në kthimin e kredive: paga e kredimarrësit dhe madhësia e pagesës mujore. Le të kujtojmë se më parë ne llogaritëm probabilitetin e kthimit të kredive nga çdo klient duke marrë parasysh këta faktorë. Është logjike që dhe probabilitetet tona kanë rezultuar të ndryshme nga konstanta e barabartë me
.
Le të përcaktojmë probabilitetin e mostrave:
Kodi për llogaritjet e probabiliteteve të mostrave
from functools import reduce
def likelihood(y,p):
line_true_proba = []
for i in range(len(y)):
ltp_i = p[i]**y[i]*(1-p[i])**(1-y[i])
line_true_proba.append(ltp_i)
likelihood = []
return reduce(lambda a, b: a*b, line_true_proba)
y = [1.0,1.0,0.0]
p_log_response = df['Probability']
const = 2.0/3.0
p_const = [const, const, const]
print 'Probabiliteti i mostrës me vlerë konstante p=2/3:', round(likelihood(y,p_const),3)
print '****************************************************************************************************'
print 'Probabiliteti i mostrës me vlerë të llogaritur p:', round(likelihood(y,p_log_response),3)Probabiliteti i mostrës me vlerë konstante
:

Probabiliteti i mostrës në llogaritjen e probabilitetit të shlyerjes së kredive duke marrë parasysh faktorët
:


Probabiliteti i mostrës me probabilitetin e llogaritur në varësi të faktorëve rezultoi më i lartë se probabiliteti me vlerë të konstante. Çfarë do të thotë kjo? Kjo do të thotë se njohuritë mbi faktorët lejuan të përcaktohej më saktë probabiliteti i shlyerjes së kredive për çdo klient. Prandaj, gjatë dhënies së një kredie të re, do të ishte më e saktë të përdorej modeli i propozuar në fund të seksionit të tretë të artikullit për vlerësimin e probabilitetit të shlyerjes së borxhit.
Por nëse na nevojitet të maksimalizojmë funkcioni i probabilitetit të mostrës, pse të mos përdorim ndonjë algoritmë që do të japë probabilitetet për Vasën, Fedin dhe Lleshën, për shembull, të barabarta me 0.99, 0.99 dhe 0.01 përkatësisht. Ndoshta një algoritëm i tillë do të tregojë rezultate të mira në mostrën e trajnuar, pasi do t'i afrohet vlerës së probabilitetit të mostrës në
, porë, një algoritëm i tillë ka gjasa të ketë vështirësi me kapacitetin e përgjithshëm, dhe së dyti, ky algoritëm me siguri nuk do të jetë linear. Dhe nëse metodat për të luftuar mbi-trajnimin (po ashtu edhe kapaciteti i dobët i përgjithshëm) qartë nuk janë pjesë e këtij plani, atëherë për pikën e dytë le të shkojmë më në detaje. Mjafton të përgjigjemi në një pyetje të thjeshtë. A mundet probabiliteti i shlyerjes së krediti nga Vasja dhe Fedia të jetë i njëjtë duke marrë parasysh faktorët që njohim? Nga këndvështrimi i logjikës shëndetshme, sigurisht që jo, nuk mundet. Kështu që për shlyerjen e krediti Vasja do të japë 2.5% të rrogës së tij çdo muaj, ndërsa Fedia - pothuajse 27.8%. Po ashtu, në grafikën 2 “Klasiifikimi i klientëve” shikojmë që Vasja është ndjeshëm më afër vijës që ndan klasat sesa Fedia. Dhe përfundimisht, ne e dimë se funksioni
për Vasjen dhe Fedian merr vlera të ndryshme: 4.24 për Vasjen dhe 1.0 për Fedian. Po të ishim, për shembull, nëse Fedia do të fitonte shumë më tepër ose do të kërkonte një kredi më të vogël, atëherë probabilitetet e shlyerjes së krediti nga Vasja dhe Fedia do të ishin të ngjashme. Me fjalë të tjera, një varësi lineare nuk mund të mashtrohet. Dhe nëse ne me të vërtetë do të llogaritnim koeficientët
, dhe jo t’i merrnim ata nga ajri, atëherë do të mund të shpallnim me besim se vlerat tona
ndihmojnë më së miri për të vlerësuar probabilitetin e shlyerjes së krediti nga secili huamarrës, por duke qenë se kemi rënë dakord të mendojmë se përcaktimi i koeficientëve
u përfshi sipas të gjitha rregullave, ne do ta mbajmë këtë mendim - koeficientët tanë ofrojnë një vlerësim më të mirë të probabilitetit 🙂
Megjithatë, u shpërnguam. Në këtë seksion ne duhet të kuptojmë si përcaktohet vektori i peshave
, i nevojshëm për vlerësimin e probabilitetit të rikthimit të krediti nga çdo huamarrës.
Përmbledhim shkurtimisht se me çfarë arsenali dalim për të kërkuar koeficientët
:
1. Ne supozojmë se varësia midis variablit qëllimor (vlera prognozuese) dhe faktorëve që ndikojnë në rezultat është lineare. Për këtë arsye aplikohet funksioni i regresionit linear forma
, linja e së cilës ndan objektet (klientët) në klasa
dhe
ose
(klientë që mund të shlyejnë kredinë dhe ata që nuk mund). Në rastin tonë, ekuacioni ka formën
.
2. Ne përdorim funksionin e kthimit logit forma
për të përcaktuar probabilitetin e përkatësisë së objektit në klasë
.
3. Ne e shqyrtojmë mostrën tonë të stërvitjes si një realizim të përgjithësuar skemat e Bernulit, do të thotë se për çdo objekt gjenerohet një numër rastësor, i cili me probabilitet
merr vlerën 1 dhe me probabilitet
– 0.
4. Ne e dimë se na nevojitet të maksimizojmë funkcioni i probabilitetit të mostrës duke marrë parasysh faktorët e pranuar për t'u siguruar që mostra ekzistuese të jetë sa më e besueshme. Me fjalë të tjera, na nevojitet të përshtatim parametrat të tillë, në të cilat mostra do të jetë më e besueshme. Në rastin tonë, parametri i përshtatshëm është probabiliteti i shlyerjes së kredisë
, i cili nga ana e tij varet nga koeficientët e panjohur
. Kështu, na nevojitet të gjejmë një vektor pesha
, për të cilin besueshmëria e mostrës do të jetë maksimale.
5. Ne e dimë se për maksimizimin funksionit të besueshmërisë së mostrës mund të përdorim metodën e maksimalit të mundësisë. Dhe ne e dimë të gjitha hilet për të punuar me këtë metodë.
Kështu ndodhet ky proces kompleks 🙂
Tani le të kujtojmë se në fillim të artikullit dëshironim të nxirrnim dy lloje të funksionit të humbjes Logistic Loss në varësi të asaj si përcaktohen klasat e objekteve. Në përgjithësi, në problemet e klasifikimit me dy klasa, klasat përcaktohen si
dhe
ose
. Në varësi të përcaktimit, do të ketë një funksion përkatës të humbjes.
Rasti 1. Klasifikimi i objekteve në
dhe 
Më parë, gjatë përcaktimit të besueshmërisë së mostrës, në të cilën probabiliteti i shlyerjes së borxhit nga borroweri llogaritej në përputhje me faktorët dhe koeficientët e dhënë
, ne aplikuam formulën:

Në të vërtetë
— këtë vlerë funksioni i reagimit logjistik
në një vektor të caktuar pesha 
Atëherë asgjë nuk na pengon të shkruajmë funksionin e besueshmërisë së mostrës kështu:

Ndonjëherë ndodh që disa analistë të rinj kanë vështirësi të kuptojnë menjëherë se si funksionon kjo funksion. Le të shqyrtojmë 4 shembuj të shkurtër që do të sqarojnë gjithçka:
1. Nëse
(dmth. në përputhje me mostrat e trajnuara, objekti i takon klasës +1), ndërsa algoritmi ynë
përcakton probabilitetin e përfshirjes së objektit në klasën
baras me 0.9, kështu që ky pjesë e besueshmërisë së mostrës do të llogaritet kështu:

2. Nëse
, ndërsa
, atëherë llogaritja do të ishte kështu:

3. Nëse
, ndërsa
, atëherë llogaritja do të ishte kështu:

4. Nëse
, ndërsa
, atëherë llogaritja do të ishte kështu:

Sigurisht, funksioni i besueshmërisë do të maksimizohet në rastet 1 dhe 3 ose në përgjithësi — kur vlerat e probabilitetit të përfshirjes së objektit në klasë janë të gushtuara saktë
.
Për shkak se gjatë përcaktimit të probabilitetit të përfshirjes së objektit në klasë
ne na njohim vetëm koeficientët
, atyre do t'u japim dhe do t'i kërkojmë. Siç u përmend më parë, kjo është një detyrë optimizimi, në të cilën fillimisht na nevojitet të gjejmë derivatin e funksionit të kënaqshmërisë në lidhje me vektorin e peshave
. Megjithatë, paraprakisht ka kuptim ta thjeshtojmë detyrën: do të kërkojmë derivatin nga logaritmi funksionit të mundësive.

Pse pas logaritmimit, në funksionin e gabimit logjistik, e kemi ndërruar shenjën me
në
. E gjithë kjo është e thjeshtë, pasi në detyrat e vlerësimit të cilësisë së modelit është e zakonshme që të minimizohet vlera e funksionit, prandaj e shumëzuam anën e djathtë të shprehjes me
dhe përkatësisht tani minimizojmë funksionin në vend që ta maksimojmë.
Dhe në të vërtetë, tani, para syve tuaj u zhvillua funksioni i humbjes – Logistic Loss për grupin mësimor me dy klasa:
dhe
.
Tani, për të gjetur koeficientët, na nevojitet vetëm të gjejmë derivatin funksionin e gabimit logjistik dhe më pas, duke përdorur metodat numerike të optimizimit, siç janë zbritja gradiente ose zbritja gradiente stohastike, të përshtatim koeficientët më optimalë
. Por, duke marrë parasysh volumet e mëdha të artikullit, propozohet që diferencimi të bëhet vetë ose ndoshta do të jetë tema e artikullit tjetër me më shumë aritmetikë pa shembuj aq të detajuar.
Rasti 2. Klassifikimi i objekteve në
dhe 
Qasja këtu do të jetë e njëjtë si me klasat
dhe
, por vetë rruga drejt përfundimit të funksionit të humbjes Logistic Loss, do të jetë më e ndërlikuar. Le të fillojmë. Do të përdorim operatorin për funksionin e kënaqshmërisë "nëse..., atëherë...". Kështu, nëse
objekti - është në klasën
, atëherë për llogaritjen e kënaqshmërisë së grupit do të përdorim probabilitetin
, nëse objekti i përket klasës
, atëherë në kënaqësi do të vendosim
. Kjo është mënyra sesi duket funksioni i kënaqshmërisë:

Tani le të shpjegojmë se si funksionon. Të shqyrtojmë 4 raste:
1. Nëse
dhe
, atëherë në kënaqshmëri grupi "do të shkojë" 
2. Nëse
dhe
, atëherë në kënaqshmëri grupi "do të shkojë" 
3. Nëse
dhe
, atëherë në kënaqshmëri grupi "do të shkojë" 
4. Nëse
dhe
, atëherë në kënaqshmëri grupi "do të shkojë" 
E qartë, që në rastin e parë dhe të tretë, kur probabilitetet ishin përcaktuar saktë nga algoritmi, funksioni i kënaqshmërisë do të maksimizohet, që saktësisht është ajo që donim të arrinim. Megjithatë, një qasje e tillë është mjaft e ngarkuar dhe pastaj do të shohim shkrimin më kompakt. Por përpara, logaritim funksionin e kënaqshmërisë duke ndërruar shenjën, pasi tani do të minimizojmë atë.

Të vendosim në vend të
shprehjen
:

Le të thjeshtojmë shprehjen e djathtë nën logaritmin duke përdorur teknika të thjeshta aritmetike dhe të marrim:

Tani është koha të hiqnim operatorin "nëse..., atëherë...". Vërejmë se kur objekti
i përket klasës
, atëherë në shprehjen nën logaritmin, në emëruesin,
ngrihet në fuqinë
, nëse objekti i përket klasës
, atëherë $e$ ngrihet në fuqinë
. Prandaj, shprehja e fuqisë mund të thjeshtohet — të bashkangjiten të dy rastet në një:
. Atëherë funksioni i gabimeve logjistike do të marrë formën:

Sipas rregullave të logaritmimit, do ta kthejmë fraksionin dhe do ta nxjerrim shenjën "
" (minus) jashtë logaritmit, duke marrë:

Paraqitet përpara jush funksioni i humbjeve logistic Loss, i cili aplikohet në mostrat mësimore me objekte që i përkasin klasave:
dhe
.
Mirë, në këtë moment do të ndahem dhe përfundojmë artikullin.
Puna e mëparshme e autorit — "Kthejmë ekuacionin e regresionit linear në formë matricore"
Materiale ndihmëse
1. Literatura
1) Analiza regresive e aplikimeve / N. Drejper, G. Smith – E shkëlqyer 2 – M.: Financa dhe statistika, 1986 (përkthim nga anglishtja)
2) Teoria e probabiliteteve dhe statistika matematikore / V.E. Gmurman — E shkëlqyer 9 — M.: Shkolla e Lartë, 2003
3) Teoria e probabiliteteve / N.I. Çernova — Novosibirsk: Universiteti Shtetëror i Novosibirskut, 2007
4) Analitika e biznesit: nga të dhënat në njohuri / Paklin N. B., Oreshkov V. I. — E shkëlqyer 2 — Shën Petersburg: Piter, 2013
5) Data Science Shkenca e të dhënave nga zero / Joel Grass — Shën Petersburg: BHV Petersburg, 2017
6) Statistika praktike për specialistët e Data Science / P.Bruce, E.Bruce — Shën Petersburg: BHV Petersburg, 2018
2. Ligjërata, kurse (video)
1)
2)
3)
4)
5)
3. Burimet në internet
1)
2)
3)
4)
5)
6)
7)
8)
Burimi: habr.com

në funkcionin e përgjigjes logjistike 
funkcione Logistic Loss
:

, atëherë vlera e funksionit
do të jetë pozitive nga
në
. Kështu që ne mund ta konsiderojmë se probabiliteti i shlyerjes së kredisë, ndodhet brenda
. Sa më e madhe të jetë vlera e funksionit, aq më e lartë është probabiliteti.
ose
, atëherë vlera e funksionit do të jetë negative nga
në
. Atëherë ne do të konsiderojmë se probabiliteti i shlyerjes së borxhit ndodhet brenda
dhe, sa më e madhe të jetë vlera e funksionit në modul, aq më e lartë është besimi ynë.
do të jetë e barabartë me
dhe probabiliteti i shlyerjes së kredisë është i barabartë me
.


në funksionin e përgjigjes logjistike
dhe 
dhe 