Në këtë artikull, ne do të analizojmë llogaritjet teorike të transformimit funksionet e regresionit linear в Funksioni i transformimit të logit invers (i quajtur ndryshe funksioni i përgjigjes logjistike). Pastaj, duke përdorur arsenalin metoda e gjasave maksimale, në përputhje me modelin e regresionit logjistik, nxjerrim funksionin e humbjes Humbje logjistike, ose me fjalë të tjera, do të përcaktojmë një funksion me të cilin zgjidhen parametrat e vektorit të peshës në modelin e regresionit logjistik. .
Përmbledhja e artikullit:
- Le të përsërisim marrëdhënien lineare midis dy variablave
- Le të identifikojmë nevojën për transformim funksionet e regresionit linear в funksioni i përgjigjes logjistike
- Le të kryejmë transformimet dhe prodhimin funksioni i përgjigjes logjistike
- Le të përpiqemi të kuptojmë pse metoda e katrorëve më të vegjël është e keqe kur zgjedh parametrat funksionet Humbje logjistike
- Ne përdorim metoda e gjasave maksimale për përcaktimin funksionet e përzgjedhjes së parametrave :
5.1. Rasti 1: funksioni Humbje logjistike për objektet me emërtime të klasave 0 и 1:
5.2. Rasti 2: funksioni Humbje logjistike për objektet me emërtime të klasave -1 и +1:
Artikulli është i mbushur me shembuj të thjeshtë në të cilët të gjitha llogaritjet janë të lehta për t'u bërë gojarisht ose në letër; në disa raste, mund të kërkohet një kalkulator. Pra bëhuni gati :)
Ky artikull është menduar kryesisht për shkencëtarët e të dhënave me një nivel fillestar të njohurive në bazat e mësimit të makinerive.
Artikulli do të ofrojë gjithashtu kod për vizatimin e grafikëve dhe llogaritjeve. I gjithë kodi është i shkruar në gjuhë python 2.7. Më lejoni të shpjegoj paraprakisht për "risinë" e versionit të përdorur - ky është një nga kushtet për të marrë kursin e njohur nga Yandex në një platformë edukimi online po aq të njohur Coursera, dhe, siç mund të supozohet, materiali u përgatit në bazë të këtij kursi.
01. Varësia e drejtë
Është mjaft e arsyeshme të shtrohet pyetja - çfarë lidhje ka varësia lineare dhe regresioni logjistik me të?
Është e thjeshtë! Regresioni logjistik është një nga modelet që i përkasin klasifikuesit linear. Me fjalë të thjeshta, detyra e një klasifikuesi linear është të parashikojë vlerat e synuara nga variablat (regresorët) . Besohet se varësia ndërmjet karakteristikave dhe vlerat e synuara lineare. Prandaj emri i klasifikuesit - linear. Për ta thënë shumë përafërsisht, modeli i regresionit logjistik bazohet në supozimin se ekziston një marrëdhënie lineare midis karakteristikave dhe vlerat e synuara . Kjo është lidhja.
Është shembulli i parë në studio dhe, saktë, ka të bëjë me varësinë drejtvizore të sasive që studiohen. Në procesin e përgatitjes së artikullit, hasa në një shembull që tashmë ka vendosur shumë njerëz në avantazh - varësia e rrymës nga voltazhi (“Analiza e aplikuar e regresionit”, N. Draper, G. Smith). Do ta shikojmë edhe këtu.
Sipas Ligji i Ohmit:
Ku - forca aktuale, - tension, - rezistencë.
Nëse nuk e dinim Ligji i Ohmit, atëherë ne mund ta gjenim varësinë në mënyrë empirike duke ndryshuar dhe matjen , duke mbështetur fikse. Atëherë do të shihnim se grafiku i varësisë nga jep një vijë pak a shumë të drejtë përmes origjinës. Ne themi "pak a shumë" sepse, megjithëse marrëdhënia është në të vërtetë e saktë, matjet tona mund të përmbajnë gabime të vogla dhe për këtë arsye pikat në grafik mund të mos bien saktësisht në vijë, por do të shpërndahen rreth tij në mënyrë të rastësishme.
Grafiku 1 “Varësia” nga »
Kodi i vizatimit të grafikut
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 = 'Actual results')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()
02. Nevoja për të transformuar ekuacionin e regresionit linear
Le të shohim një shembull tjetër. Le të imagjinojmë se ne punojmë në një bankë dhe detyra jonë është të përcaktojmë gjasat që huamarrësi të paguajë kredinë në varësi të faktorëve të caktuar. Për të thjeshtuar detyrën, do të shqyrtojmë vetëm dy faktorë: pagën mujore të huamarrësit dhe shumën mujore të shlyerjes së kredisë.
Detyra është shumë e kushtëzuar, por me këtë shembull mund të kuptojmë pse nuk mjafton të përdoret funksionet e regresionit linear, dhe gjithashtu zbuloni se çfarë transformimesh duhet të kryhen me funksionin.
Le të kthehemi te shembulli. Kuptohet që sa më e lartë të jetë paga, aq më shumë huamarrësi do të mund të ndajë çdo muaj për të shlyer kredinë. Në të njëjtën kohë, për një gamë të caktuar pagash, kjo marrëdhënie do të jetë mjaft lineare. Për shembull, le të marrim një varg pagash nga 60.000 RUR në 200.000 RUR dhe të supozojmë se në diapazonin e specifikuar të pagave, varësia e madhësisë së pagesës mujore nga madhësia e pagës është lineare. Le të themi se për gamën e specifikuar të pagave u zbulua se raporti pagë ndaj pagesës nuk mund të bjerë nën 3 dhe huamarrësi duhet të ketë ende 5.000 RUR në rezervë. Dhe vetëm në këtë rast, ne do të supozojmë se huamarrësi do të paguajë kredinë në bankë. Atëherë, ekuacioni i regresionit linear do të marrë formën:
ku , , , - rrogë - huamarrësi, - pagesën e kredisë - huamarrësi.
Zëvendësimi i pagesës së pagës dhe kredisë me parametra fiks në ekuacion Ju mund të vendosni nëse do të lëshoni ose refuzoni një kredi.
Duke parë përpara, vërejmë se, me parametrat e dhënë funksioni i regresionit linear, përdorur në funksionet e reagimit logjistik do të prodhojë vlera të mëdha që do të komplikojnë llogaritjet për të përcaktuar probabilitetet e shlyerjes së kredisë. Prandaj, propozohet të zvogëlojmë koeficientët tanë, le të themi, me 25.000 herë. Ky transformim në koeficientë nuk do të ndryshojë vendimin për dhënien e një kredie. Le ta kujtojmë këtë pikë për të ardhmen, por tani, për ta bërë edhe më të qartë se për çfarë po flasim, le të shqyrtojmë situatën me tre huamarrës të mundshëm.
Tabela 1 "Huamarrësit e mundshëm"
Kodi për krijimin 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 = {'The borrower':np.array(['Vasya', 'Fedya', 'Lesha']),
'Salary':np.array([120000,180000,210000]),
'Payment':np.array([3000,50000,70000])}
df = pd.DataFrame(data)
df['f(w,x)'] = w_0 + df['Salary']*w_1 + df['Payment']*w_2
decision = []
for i in df['f(w,x)']:
if i > 0:
dec = 'Approved'
decision.append(dec)
else:
dec = 'Refusal'
decision.append(dec)
df['Decision'] = decision
df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision']]
Në përputhje me të dhënat në tabelë, Vasya, me një pagë prej 120.000 RUR, dëshiron të marrë një kredi të tillë që të mund ta shlyejë atë çdo muaj me 3.000 RUR. Ne përcaktuam që për të miratuar kredinë, paga e Vasya duhet të kalojë trefishin e shumës së pagesës dhe duhet të mbeten ende 5.000 RUR. Vasya plotëson këtë kërkesë: . Mbeten edhe 106.000 RUR. Pavarësisht se gjatë llogaritjes i kemi ulur gjasat 25.000 herë, rezultati ishte i njëjtë - kredia mund të miratohet. Fedya gjithashtu do të marrë një hua, por Lesha, pavarësisht se ai merr më shumë, do të duhet të frenojë orekset e tij.
Le të vizatojmë një grafik për këtë rast.
Grafiku 2 “Klasifikimi i huamarrësve”
Kodi për vizatimin e grafikut
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 = 'Decision - Loan approved')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'],
's', color = 'red', markersize = 12, label = 'Decision - Loan refusal')
plt.xlabel('Salary', size = 16)
plt.ylabel('Payment', size = 16)
plt.legend(prop = {'size': 14})
plt.show()
Pra, vija jonë e drejtë, e ndërtuar në përputhje me funksionin , ndan huamarrësit "të këqij" nga ata "të mirë". Ata huamarrës, dëshirat e të cilëve nuk përkojnë me aftësitë e tyre janë mbi vijën (Lesha), ndërsa ata që, sipas parametrave të modelit tonë, janë në gjendje të shlyejnë kredinë janë nën vijën (Vasya dhe Fedya). Me fjalë të tjera, mund të themi këtë: linja jonë direkte i ndan huamarrësit në dy klasa. Le t'i shënojmë si më poshtë: në klasë Ne do të klasifikojmë ata huamarrës që kanë më shumë gjasa të paguajnë kredinë si ose Ne do të përfshijmë ata huamarrës që me shumë mundësi nuk do të jenë në gjendje të paguajnë kredinë.
Le të përmbledhim përfundimet nga ky shembull i thjeshtë. Le të marrim një pikë dhe, duke zëvendësuar koordinatat e pikës në ekuacionin përkatës të drejtëzës , merrni parasysh tre opsione:
- Nëse pika është nën vijë dhe ia caktojmë klasës , pastaj vlera e funksionit do të jetë pozitive nga tek . Kjo do të thotë se mund të supozojmë se probabiliteti i shlyerjes së kredisë është brenda . Sa më e madhe të jetë vlera e funksionit, aq më e lartë është probabiliteti.
- Nëse një pikë është mbi një vijë dhe ia caktojmë klasës ose , atëherë vlera e funksionit do të jetë negative nga tek . Atëherë do të supozojmë se probabiliteti i shlyerjes së borxhit është brenda dhe, sa më e madhe të jetë vlera absolute e funksionit, aq më i lartë është besimi ynë.
- Pika është në një vijë të drejtë, në kufirin midis dy klasave. Në këtë rast, vlera e funksionit do të jetë i barabartë dhe probabiliteti i shlyerjes së kredisë është i barabartë me .
Tani, le të imagjinojmë se nuk kemi dy faktorë, por dhjetëra, dhe jo tre, por mijëra huamarrës. Atëherë në vend të një vije të drejtë do të kemi m-dimensionale plani dhe koeficientët ne nuk do të na nxjerrin nga ajri, por do të nxjerrim sipas të gjitha rregullave dhe në bazë të të dhënave të grumbulluara për huamarrësit që kanë ose nuk kanë shlyer kredinë. Dhe në të vërtetë, vini re se ne tani po zgjedhim huamarrës duke përdorur koeficientët e njohur tashmë . Në fakt, detyra e modelit të regresionit logjistik është pikërisht përcaktimi i parametrave , në të cilën funksioni i vlerës së humbjes Humbje logjistike do të priren në minimum. Por për mënyrën se si llogaritet vektori , do të mësojmë më shumë në seksionin e 5-të të artikullit. Ndërkohë, ne kthehemi në tokën e premtuar - te bankieri ynë dhe tre klientët e tij.
Falë funksionit ne e dimë se kujt mund t'i jepet një hua dhe kujt duhet të refuzohet. Por nuk mund të shkosh te drejtori me një informacion të tillë, sepse donin të merrnin nga ne probabilitetin e shlyerjes së kredisë nga secili huamarrës. Çfarë duhet bërë? Përgjigja është e thjeshtë - ne duhet ta transformojmë disi funksionin , vlerat e të cilit qëndrojnë në rangun në një funksion, vlerat e të cilit do të qëndrojnë në intervalin . Dhe një funksion i tillë ekziston, quhet funksioni i përgjigjes logjistike ose transformimi invers-logit. Takohen:
Le të shohim hap pas hapi se si funksionon funksioni i përgjigjes logjistike. Vini re se ne do të ecim në drejtim të kundërt, d.m.th. do të supozojmë se e dimë vlerën e probabilitetit, e cila qëndron në diapazonin nga tek dhe më pas ne do ta "zhbëjmë" këtë vlerë në të gjithë gamën e numrave nga tek .
03. Ne nxjerrim funksionin e përgjigjes logjistike
Hapi 1. Konvertoni vlerat e probabilitetit në një interval
Gjatë transformimit të funksionit в funksioni i përgjigjes logjistike Ne do ta lëmë vetëm analistin tonë të kreditit dhe në vend të kësaj do të bëjmë një turne nëpër librari. Jo, sigurisht, ne nuk do të vendosim baste, gjithçka që na intereson atje është kuptimi i shprehjes, për shembull, shansi është 4 me 1. Shanset, të njohura për të gjithë bastorët, janë raporti i "sukseseve" me " dështimet”. Në terma të probabilitetit, shanset janë probabiliteti që një ngjarje të ndodhë e ndarë me probabilitetin që ngjarja të mos ndodhë. Le të shkruajmë formulën për mundësinë e ndodhjes së një ngjarjeje :
Ku - probabiliteti i ndodhjes së një ngjarjeje, — probabiliteti që një ngjarje NUK të ndodhë
Për shembull, nëse probabiliteti që një kal i ri, i fortë dhe lozonjar me nofkën "Veterok" të mundë një plakë të vjetër dhe të dobët të quajtur "Matilda" në një garë është e barabartë me , atëherë shanset për sukses për “Veterok” do të jenë к dhe anasjelltas, duke ditur shanset, nuk do të jetë e vështirë për ne të llogarisim probabilitetin :
Kështu, ne kemi mësuar të "përkthejmë" probabilitetin në shanse, të cilat marrin vlera nga tek . Le të bëjmë një hap më shumë dhe të mësojmë të "përkthejmë" probabilitetin në të gjithë rreshtin numerik nga tek .
Hapi 2. Konvertoni vlerat e probabilitetit në një interval
Ky hap është shumë i thjeshtë - le të marrim logaritmin e gjasave në bazën e numrit të Euler-it dhe marrim:
Tani e dimë se nëse , pastaj llogarisni vlerën do të jetë shumë e thjeshtë dhe, për më tepër, duhet të jetë pozitive: . Kjo eshte e vertetë.
Nga kurioziteti, le të kontrollojmë çfarë nëse , atëherë presim të shohim një vlerë negative . Ne kontrollojmë: . Kjo është e drejtë.
Tani ne e dimë se si të konvertojmë vlerën e probabilitetit nga tek përgjatë gjithë vijës numerike nga tek . Në hapin tjetër do të bëjmë të kundërtën.
Tani për tani, vërejmë se në përputhje me rregullat e logaritmit, duke ditur vlerën e funksionit , mund të llogaritni shanset:
Kjo metodë e përcaktimit të gjasave do të jetë e dobishme për ne në hapin tjetër.
Hapi 3. Le të nxjerrim një formulë për të përcaktuar
Kështu që ne mësuam, duke ditur , gjeni vlerat e funksionit . Sidoqoftë, në fakt, na duhet pikërisht e kundërta - të dimë vlerën për të gjetur . Për ta bërë këtë, le t'i drejtohemi një koncepti të tillë si funksioni i kuotave të kundërta, sipas të cilit:
Në artikull nuk do të nxjerrim formulën e mësipërme, por do ta kontrollojmë duke përdorur numrat nga shembulli i mësipërm. Ne e dimë se me shanset 4 me 1 (), probabiliteti që ngjarja të ndodhë është 0.8 (). Le të bëjmë një zëvendësim: . Kjo përkon me llogaritjet tona të bëra më herët. Le të vazhdojmë.
Në hapin e fundit ne konkluduam se , që do të thotë se mund të bëni një zëvendësim në funksionin e koeficientit të kundërt. Ne marrim:
Ndani numëruesin dhe emëruesin me , Pastaj:
Për çdo rast, për t'u siguruar që nuk kemi gabuar askund, do të bëjmë edhe një kontroll të vogël. Në hapin 2, ne për përcaktoi se . Pastaj, duke zëvendësuar vlerën ne presim të futemi në funksionin e përgjigjes logjistike . Ne zëvendësojmë dhe marrim:
Urime, i dashur lexues, sapo kemi nxjerrë dhe testuar funksionin e përgjigjes logjistike. Le të shohim grafikun e funksionit.
Grafiku 3 “Funksioni i përgjigjes logjistike”
Kodi për vizatimin e grafikut
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ë gjeni edhe emrin e këtij funksioni si funksioni sigmoid. Grafiku tregon qartë se ndryshimi kryesor në probabilitetin e një objekti që i përket një klase ndodh brenda një intervali relativisht të vogël , diku nga tek .
Unë sugjeroj të ktheheni te analisti ynë i kreditit dhe ta ndihmojmë atë të llogarisë probabilitetin e shlyerjes së kredisë, përndryshe ai rrezikon të mbetet pa bonus :)
Tabela 2 "Huamarrësit e mundshëm"
Kodi për krijimin e tabelës
proba = []
for i in df['f(w,x)']:
proba.append(round(logit(i),2))
df['Probability'] = proba
df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision', 'Probability']]
Pra, ne kemi përcaktuar probabilitetin e shlyerjes së kredisë. Në përgjithësi, kjo duket të jetë e vërtetë.
Në të vërtetë, probabiliteti që Vasya, me një pagë prej 120.000 RUR, do të jetë në gjendje t'i japë bankës 3.000 RUR çdo muaj është afër 100%. Nga rruga, duhet të kuptojmë që një bankë mund t'i lëshojë një kredi Lesha nëse politika e bankës parashikon, për shembull, huadhënie për klientët me një probabilitet të shlyerjes së kredisë prej më shumë se, të themi, 0.3. Vetëm se në këtë rast banka do të krijojë një rezervë më të madhe për humbjet e mundshme.
Duhet të theksohet gjithashtu se raporti pagë ndaj pagesës së paku 3 dhe me një diferencë prej 5.000 RUR u hoq nga tavani. Prandaj, ne nuk mund ta përdorim vektorin e peshave në formën e tij origjinale . Ne duhej të reduktonim shumë koeficientët, dhe në këtë rast ne e ndamë secilin koeficient me 25.000, domethënë, në thelb, rregulluam rezultatin. Por kjo u bë posaçërisht për të thjeshtuar kuptimin e materialit në fazën fillestare. Në jetë, nuk do të kemi nevojë të shpikim dhe rregullojmë koeficientët, por t'i gjejmë ato. Në seksionet vijuese të artikullit do të nxjerrim ekuacionet me të cilat përzgjidhen parametrat .
04. Metoda e katrorëve më të vegjël për përcaktimin e vektorit të peshave në funksionin e përgjigjes logjistike
Ne tashmë e dimë këtë metodë për zgjedhjen e një vektori të peshave Si Metoda e katrorëve më të vegjël (LSM) dhe në fakt, pse nuk e përdorim atë në problemet e klasifikimit binar? Në të vërtetë, asgjë nuk ju pengon të përdorni MNC, vetëm kjo metodë në problemet e klasifikimit jep rezultate që janë më pak të sakta se Humbje logjistike. Ekziston një bazë teorike për këtë. Le të shohim së pari një shembull të thjeshtë.
Le të supozojmë se modelet tona (duke përdorur MSE и Humbje logjistike) kanë filluar tashmë përzgjedhjen e vektorit të peshave dhe ne e ndaluam llogaritjen në një hap. Nuk ka rëndësi nëse në mes, në fund apo në fillim, gjëja kryesore ë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 dallime. Më pas merrni peshat që rezultojnë dhe zëvendësojini ato funksioni i përgjigjes logjistike () për ndonjë objekt që i përket klasës . Ne shqyrtojmë dy raste kur, në përputhje me vektorin e zgjedhur të peshave, modeli ynë është shumë i gabuar dhe anasjelltas - modeli është shumë i sigurt se objekti i përket klasës . Le të shohim se çfarë gjoba do të lëshohen gjatë përdorimit MNC и Humbje logjistike.
Kodi për llogaritjen e gjobave 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_2
Një rast gabimi — modeli i cakton një objekt një klase me probabilitet 0,01
Dënim në përdorim MNC do të jetë:
Dënim në përdorim Humbje logjistike do të jetë:
Një rast i besimit të fortë — modeli i cakton një objekt një klase me probabilitet 0,99
Dënim në përdorim MNC do të jetë:
Dënim në përdorim Humbje logjistike do të jetë:
Ky shembull ilustron mirë se në rast të një gabimi të madh funksioni i humbjes Humbja e regjistrit e penalizon modelin dukshëm më shumë se MSE. Le të kuptojmë tani se cili është sfondi teorik për përdorimin e funksionit të humbjes Humbja e regjistrit në problemet e klasifikimit.
05. Metoda e gjasave maksimale dhe regresioni logjistik
Siç u premtua në fillim, artikulli është i mbushur me shembuj të thjeshtë. Në studio ka një shembull tjetër dhe të ftuar të vjetër - huamarrës bankarë: Vasya, Fedya dhe Lesha.
Për çdo rast, para se të zhvilloj shembullin, më lejoni t'ju kujtoj se në jetë kemi të bëjmë me një kampion trajnimi prej mijëra ose miliona objektesh me dhjetëra ose qindra karakteristika. Sidoqoftë, këtu numrat merren në mënyrë që ato të përshtaten lehtësisht në kokën e një shkencëtari fillestar të të dhënave.
Le të kthehemi te shembulli. Le të imagjinojmë që drejtori i bankës vendosi të lëshojë një kredi për të gjithë ata që kanë nevojë, pavarësisht se algoritmi i tha atij të mos e lëshonte atë te Lesha. Dhe tani ka kaluar mjaft kohë dhe ne e dimë se cili nga tre heronjtë e ka shlyer kredinë dhe cili jo. Çfarë pritej: Vasya dhe Fedya e shlyenin kredinë, por Lesha jo. Tani le të imagjinojmë se ky rezultat do të jetë një mostër e re trajnimi për ne dhe, në të njëjtën kohë, sikur të gjitha të dhënat mbi faktorët që ndikojnë në mundësinë e shlyerjes së kredisë (paga e huamarrësit, madhësia e pagesës mujore) janë zhdukur. Atëherë, në mënyrë intuitive, mund të supozojmë se çdo huamarrës i tretë nuk e shlyen kredinë në bankë, ose me fjalë të tjera, probabiliteti që huamarrësi tjetër të shlyejë kredinë. . Ky supozim intuitiv ka konfirmim teorik dhe bazohet në metoda e gjasave maksimale, shpesh në literaturë quhet parimi i gjasave maksimale.
Së pari, le të njihemi me aparatin konceptual.
Mundësia e marrjes së mostrave është probabiliteti për të përftuar pikërisht një kampion të tillë, duke marrë pikërisht vëzhgime/rezultate të tilla, d.m.th. produkti i probabiliteteve të marrjes së secilit prej rezultateve të mostrës (për shembull, nëse kredia e Vasya, Fedya dhe Lesha është shlyer ose jo në të njëjtën kohë).
Funksioni i gjasave lidh mundësinë e një kampioni me vlerat e parametrave të shpërndarjes.
Në rastin tonë, kampioni i trajnimit është një skemë e përgjithësuar Bernoulli, në të cilën ndryshorja e rastësishme merr vetëm dy vlera: ose . Prandaj, probabiliteti i mostrës mund të shkruhet si funksion i gjasave të parametrit si më poshtë:
Hyrja e mësipërme mund të interpretohet si më poshtë. Probabiliteti i përbashkët që Vasya dhe Fedya do të paguajnë kredinë është i barabartë me , probabiliteti që Lesha NUK do të shlyejë kredinë është i barabartë me (meqenëse NUK ka qenë shlyerja e kredisë), prandaj probabiliteti i përbashkët i të tre ngjarjeve është i barabartë .
Metoda e gjasave maksimale është një metodë për vlerësimin e një parametri të panjohur duke maksimizuar funksionet e gjasave. Në rastin tonë, ne duhet të gjejmë një vlerë të tillë në të cilën arrin maksimumin e saj.
Nga vjen ideja aktuale - kërkimi i vlerës së një parametri të panjohur në të cilin funksioni i gjasave arrin maksimumin? Origjina e idesë buron nga ideja se një kampion është i vetmi burim i njohurive të disponueshme për popullsinë. Gjithçka që dimë për popullatën është e përfaqësuar në kampion. Prandaj, gjithçka që mund të themi është se një mostër është pasqyrimi më i saktë i popullatës që kemi në dispozicion. Prandaj, ne duhet të gjejmë një parametër në të cilin mostra e disponueshme bëhet më e mundshme.
Natyrisht, kemi të bëjmë me një problem optimizimi në të cilin duhet të gjejmë pikën ekstreme të një funksioni. Për të gjetur pikën ekstreme, është e nevojshme të merret parasysh kushti i rendit të parë, domethënë të barazohet derivati i funksionit në zero dhe të zgjidhet ekuacioni në lidhje me parametrin e dëshiruar. Sidoqoftë, kërkimi i derivatit të një produkti të një numri të madh faktorësh mund të jetë një detyrë e gjatë; për të shmangur këtë, ekziston një teknikë e veçantë - kalimi në logaritëm funksionet e gjasave. Pse është i mundur një tranzicion i tillë? Le t'i kushtojmë vëmendje faktit që nuk po kërkojmë ekstremin e vetë funksionit, dhe pika ekstreme, pra vlera e parametrit të panjohur në të cilën arrin maksimumin e saj. Kur kaloni në një logaritëm, pika ekstreme nuk ndryshon (edhe pse vetë ekstremi do të ndryshojë), pasi logaritmi është një funksion monoton.
Le të vazhdojmë, në përputhje me sa më sipër, të zhvillojmë shembullin tonë me kredi nga Vasya, Fedya dhe Lesha. Së pari le të kalojmë te logaritmi i funksionit të gjasave:
Tani mund ta dallojmë lehtësisht shprehjen nga :
Dhe së fundi, merrni parasysh kushtin e rendit të parë - ne barazojmë derivatin e funksionit me zero:
Kështu, vlerësimi ynë intuitiv i probabilitetit të shlyerjes së kredisë ishte teorikisht i justifikuar.
E shkëlqyeshme, por çfarë duhet të bëjmë me këtë informacion tani? Nëse supozojmë se çdo huamarrës i tretë nuk i kthen paratë në bankë, atëherë kjo e fundit në mënyrë të pashmangshme do të falimentojë. Kjo është e drejtë, por vetëm kur vlerësohet probabiliteti i shlyerjes së kredisë të barabartë me Ne nuk kemi marrë parasysh faktorët që ndikojnë në shlyerjen e kredisë: paga e huamarrësit dhe madhësia e pagesës mujore. Kujtojmë se më parë kemi llogaritur probabilitetin e shlyerjes së kredisë nga secili klient, duke marrë parasysh të njëjtët faktorë. Është logjike që kemi marrë probabilitete të ndryshme nga barazimi konstant .
Le të përcaktojmë gjasat e mostrave:
Kodi për llogaritjen e gjasave të mostrës
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 'Правдоподобие выборки при константном значении p=2/3:', round(likelihood(y,p_const),3)
print '****************************************************************************************************'
print 'Правдоподобие выборки при расчетном значении p:', round(likelihood(y,p_log_response),3)
Mundësia e mostrës me një vlerë konstante :
Mundësia e mostrës kur llogaritet probabiliteti i shlyerjes së kredisë duke marrë parasysh faktorët :
Probabiliteti i një kampioni me një probabilitet të llogaritur në varësi të faktorëve doli të jetë më i lartë se gjasat me një vlerë probabiliteti konstant. Çfarë do të thotë kjo? Kjo sugjeron se njohuritë rreth faktorëve bënë të mundur përzgjedhjen më të saktë të probabilitetit të shlyerjes së kredisë për çdo klient. Prandaj, gjatë dhënies së kredisë së radhës, do të ishte më korrekte të përdoret modeli i propozuar në fund të seksionit 3 të nenit për vlerësimin e probabilitetit të shlyerjes së borxhit.
Por atëherë, nëse duam të maksimizojmë funksioni i gjasave të mostrës, atëherë pse të mos përdorni ndonjë algoritëm që do të prodhojë probabilitete për Vasya, Fedya dhe Lesha, për shembull, të barabartë me 0.99, 0.99 dhe 0.01, respektivisht. Ndoshta një algoritëm i tillë do të funksionojë mirë në kampionin e trajnimit, pasi do ta afrojë vlerën e gjasave të mostrës më pranë , por, së pari, një algoritëm i tillë ka shumë të ngjarë të ketë vështirësi me aftësinë e përgjithësimit, dhe së dyti, ky algoritëm definitivisht nuk do të jetë linear. Dhe nëse metodat e luftimit të mbistërvitjes (aftësia po aq e dobët e përgjithësimit) nuk përfshihen qartë në planin e këtij artikulli, atëherë le të kalojmë në pikën e dytë më në detaje. Për ta bërë këtë, thjesht përgjigjuni një pyetjeje të thjeshtë. A mund të jetë e njëjtë probabiliteti që Vasya dhe Fedya të shlyejnë kredinë, duke marrë parasysh faktorët e njohur për ne? Nga pikëpamja e logjikës së shëndoshë, sigurisht që jo, nuk mundet. Pra, Vasya do të paguajë 2.5% të pagës së tij në muaj për të shlyer kredinë, dhe Fedya - pothuajse 27,8%. Gjithashtu në grafikun 2 "Klasifikimi i klientit" shohim se Vasya është shumë më larg nga linja që ndan klasat sesa Fedya. Dhe së fundi, ne e dimë se funksioni për Vasya dhe Fedya merr vlera të ndryshme: 4.24 për Vasya dhe 1.0 për Fedya. Tani, nëse Fedya, për shembull, do të fitonte një rend të madhësisë më shumë ose do të kërkonte një hua më të vogël, atëherë probabilitetet e shlyerjes së kredisë për Vasya dhe Fedya do të ishin të ngjashme. Me fjalë të tjera, varësia lineare nuk mund të mashtrohet. Dhe nëse do të llogarisnim shanset , dhe nuk i hoqëm nga ajri, mund të themi me siguri se vlerat tona më së miri na lejon të vlerësojmë probabilitetin e shlyerjes së huasë nga secili huamarrës, por meqenëse ne ramë dakord të supozojmë se përcaktimi i koeficientëve u krye sipas të gjitha rregullave, atëherë ne do të supozojmë kështu - koeficientët tanë na lejojnë të japim një vlerësim më të mirë të probabilitetit :)
Megjithatë, ne largohemi. Në këtë pjesë duhet të kuptojmë se si përcaktohet vektori i peshave , e cila është e nevojshme për të vlerësuar probabilitetin e shlyerjes së kredisë nga secili huamarrës.
Le të përmbledhim shkurtimisht se me çfarë arsenali kërkojmë shanse :
1. Supozojmë se marrëdhënia ndërmjet ndryshores së synuar (vlera e parashikimit) dhe faktorit që ndikon në rezultat është lineare. Për këtë arsye përdoret funksioni i regresionit linear speciet , linja e së cilës ndan objektet (klientët) në klasa и ose (klientët që janë në gjendje të shlyejnë kredinë dhe ata që nuk janë). Në rastin tonë, ekuacioni ka formën .
2. Ne përdorim funksion logit invers speciet për të përcaktuar probabilitetin e një objekti që i përket një klase .
3. Ne e konsiderojmë grupin tonë të trajnimit si një zbatim të një të përgjithësuar Skemat Bernoulli, pra për çdo objekt krijohet një ndryshore e rastësishme, e cila me probabilitet (e tij për çdo objekt) merr vlerën 1 dhe me probabilitet - 0.
4. Ne e dimë se çfarë duhet të maksimizojmë funksioni i gjasave të mostrës duke marrë parasysh faktorët e pranuar në mënyrë që mostra e disponueshme të bëhet më e besueshme. Me fjalë të tjera, ne duhet të zgjedhim parametrat në të cilët mostra do të jetë më e besueshme. Në rastin tonë, parametri i zgjedhur është probabiliteti i shlyerjes së kredisë , e cila nga ana tjetër varet nga koeficientë të panjohur . Pra, ne duhet të gjejmë një vektor të tillë peshash , në të cilën gjasat e mostrës do të jenë maksimale.
5. Ne e dimë se çfarë të maksimizojmë mostra e funksioneve të gjasave mund të përdorin metoda e gjasave maksimale. Dhe ne i dimë të gjitha truket e ndërlikuara për të punuar me këtë metodë.
Kështu rezulton të jetë një lëvizje me shumë hapa :)
Tani mbani mend që në fillim të artikullit ne donim të nxjerrim dy lloje të funksioneve të humbjes Humbje logjistike varësisht se si caktohen klasat e objekteve. Kështu ndodhi që në problemet e klasifikimit me dy klasa, klasat shënohen si и ose . Në varësi të shënimit, dalja do të ketë funksionin përkatës të humbjes.
Rasti 1. Klasifikimi i objekteve në и
Më parë, kur përcaktohej probabiliteti i një kampioni, në të cilin probabiliteti i shlyerjes së borxhit nga huamarrësi u llogarit në bazë të faktorëve dhe koeficientëve të dhënë , kemi aplikuar formulën:
Në të vërtetë është kuptimi funksionet e reagimit logjistik për një vektor të caktuar peshash
Atëherë asgjë nuk na pengon të shkruajmë funksionin e gjasave të mostrës si më poshtë:
Ndodh që ndonjëherë është e vështirë për disa analistë fillestarë të kuptojnë menjëherë se si funksionon ky funksion. Le të shohim 4 shembuj të shkurtër që do t'i qartësojnë gjërat:
1. Nëse (d.m.th., sipas mostrës së trajnimit, objekti i përket klasës +1), dhe algoritmit tonë përcakton probabilitetin e klasifikimit të një objekti në një klasë e barabartë me 0.9, atëherë kjo pjesë e gjasave të mostrës do të llogaritet si më poshtë:
2. Nëse Dhe , atëherë llogaritja do të jetë si kjo:
3. Nëse Dhe , atëherë llogaritja do të jetë si kjo:
4. Nëse Dhe , atëherë llogaritja do të jetë si kjo:
Është e qartë se funksioni i gjasave do të maksimizohet në rastet 1 dhe 3 ose në rastin e përgjithshëm - me vlera të hamendësuara saktë të probabiliteteve të caktimit të një objekti në një klasë. .
Për faktin se gjatë përcaktimit të probabilitetit të caktimit të një objekti në një klasë Ne nuk i dimë vetëm koeficientët , atëherë do t'i kërkojmë. Siç u përmend më lart, ky është një problem optimizimi në të cilin fillimisht duhet të gjejmë derivatin e funksionit të gjasave në lidhje me vektorin e peshave . Sidoqoftë, së pari ka kuptim të thjeshtojmë detyrën për veten tonë: do të kërkojmë derivatin e logaritmit funksionet e gjasave.
Pse pas logaritmit, në funksionet e gabimit logjistik, ndryshuam shenjën nga mbi . Gjithçka është e thjeshtë, pasi në problemet e vlerësimit të cilësisë së një modeli është zakon të minimizohet vlera e një funksioni, ne shumëzuam anën e djathtë të shprehjes me dhe në përputhje me rrethanat, në vend që të maksimizojmë, tani ne minimizojmë funksionin.
Në fakt, pikërisht tani, para syve tuaj, funksioni i humbjes u përftua me kujdes - Humbje logjistike për një grup trajnimi me dy klasa: и .
Tani, për të gjetur koeficientët, ne vetëm duhet të gjejmë derivatin funksionet e gabimit logjistik dhe më pas, duke përdorur metodat e optimizimit numerik, të tilla si zbritja e gradientit ose zbritja stokastike e gradientit, zgjidhni koeficientët më optimalë . Por, duke pasur parasysh vëllimin e konsiderueshëm të artikullit, propozohet të bëni vetë diferencimin, ose ndoshta kjo do të jetë një temë për artikullin tjetër me shumë aritmetikë pa shembuj kaq të detajuar.
Rasti 2. Klasifikimi i objekteve në и
Qasja këtu do të jetë e njëjtë si me klasat и , por vetë shtegu drejt daljes së funksionit të humbjes Humbje logjistike, do të jetë më i zbukuruar. Le të fillojmë. Për funksionin e gjasave do të përdorim operatorin "nese atehere..."... Kjo është, nëse Objekti i th i përket klasës , pastaj për të llogaritur gjasat e mostrës përdorim probabilitetin , nëse objekti i përket klasës , atëherë ne zëvendësojmë në gjasat . Kështu duket funksioni i gjasave:
Le të përshkruajmë me gishta se si funksionon. Le të shqyrtojmë 4 raste:
1. Nëse и , atëherë gjasat e kampionimit do të "shkojnë"
2. Nëse и , atëherë gjasat e kampionimit do të "shkojnë"
3. Nëse и , atëherë gjasat e kampionimit do të "shkojnë"
4. Nëse и , atëherë gjasat e kampionimit do të "shkojnë"
Është e qartë se në rastet 1 dhe 3, kur probabilitetet janë përcaktuar saktë nga algoritmi, funksioni i gjasave do të maksimizohet, domethënë, kjo është pikërisht ajo që ne donim të merrnim. Sidoqoftë, kjo qasje është mjaft e rëndë dhe më pas do të shqyrtojmë një shënim më kompakt. Por së pari, le të logaritmojmë funksionin e gjasave me një ndryshim të shenjës, pasi tani do ta minimizojmë atë.
Le të zëvendësojmë në vend shprehje :
Le të thjeshtojmë termin e duhur nën logaritëm duke përdorur teknika të thjeshta aritmetike dhe të marrim:
Tani është koha për të hequr qafe operatorin "nese atehere...". Vini re se kur një objekt i përket klasës , pastaj në shprehjen nën logaritëm, në emërues, ngritur në pushtet , nëse objekti i përket klasës , atëherë $e$ ngrihet në fuqi . Prandaj, shënimi për shkallën mund të thjeshtohet duke i kombinuar të dyja rastet në një: . atëherë funksioni i gabimit logjistik do të marrë formën:
Në përputhje me rregullat e logaritmit, ne e kthejmë thyesën dhe nxjerrim shenjën "" (minus) për logaritmin, marrim:
Këtu është funksioni i humbjes humbje logjistike, i cili përdoret në grupin e trajnimit me objekte të caktuara për klasa: и .
Epo, në këtë pikë unë marr lejen time dhe e mbyllim artikullin.
Materiale ndihmëse
1. letërsi
1) Analiza e aplikuar e regresionit / N. Draper, G. Smith - 2nd ed. – M.: Financa dhe statistika, 1986 (përkthim nga anglishtja)
2) Teoria e probabilitetit dhe statistikat matematikore / V.E. Gmurman - botimi i 9-të. - M.: Shkolla e Lartë, 2003
3) Teoria e probabilitetit / N.I. Chernova - Novosibirsk: Universiteti Shtetëror i Novosibirsk, 2007
4) Analitika e biznesit: nga të dhënat në njohuri / Paklin N. B., Oreshkov V. I. - 2nd ed. - Shën Petersburg: Peter, 2013
5) Shkenca e të dhënave Shkenca e të dhënave nga e para / Joel Gras - Shën Petersburg: BHV Petersburg, 2017
6) Statistikat praktike për specialistët e shkencës së të dhënave / P. Bruce, E. Bruce - Shën Petersburg: BHV Petersburg, 2018
2. Ligjërata, kurse (video)
1)
2)
3)
4)
5)
3. Burimet e internetit
1)
2)
3)
4)
5)
7)
8)
Burimi: www.habr.com