Å ajÄ rakstÄ mÄs analizÄsim transformÄcijas teorÄtiskos aprÄÄ·inus lineÄrÄs regresijas funkcijas Š² apgrieztÄs logit transformÄcijas funkcija (citÄdi saukta par loÄ£istikas atbildes funkciju). PÄc tam, izmantojot arsenÄlu maksimÄlÄs varbÅ«tÄ«bas metode, saskaÅÄ ar loÄ£istikas regresijas modeli mÄs atvasinÄm zaudÄjumu funkciju LoÄ£istikas zaudÄjumijeb citiem vÄrdiem, definÄsim funkciju, ar kuru loÄ£istikas regresijas modelÄ« tiek atlasÄ«ti svara vektora parametri .
Raksta izklÄsts:
- AtkÄrtosim lineÄro attiecÄ«bu starp diviem mainÄ«gajiem
- Noskaidrosim transformÄcijas nepiecieÅ”amÄ«bu lineÄrÄs regresijas funkcijas Š² loÄ£istikas atbildes funkcija
- Veiksim transformÄcijas un izvadi loÄ£istikas atbildes funkcija
- MÄÄ£inÄsim saprast, kÄpÄc mazÄko kvadrÄtu metode ir slikta, izvÄloties parametrus ŃŃŠ½ŠŗŃŠøŠø LoÄ£istikas zaudÄjumi
- MÄs izmantojam maksimÄlÄs varbÅ«tÄ«bas metode noteikÅ”anai parametru izvÄles funkcijas :
5.1. 1. gadÄ«jums: funkcija LoÄ£istikas zaudÄjumi objektiem ar klaÅ”u apzÄ«mÄjumiem 0 Šø 1:
5.2. 2. gadÄ«jums: funkcija LoÄ£istikas zaudÄjumi objektiem ar klaÅ”u apzÄ«mÄjumiem -1 Šø +1:
RakstÄ ir daudz vienkÄrÅ”u piemÄru, kuros visus aprÄÄ·inus ir viegli veikt mutiski vai uz papÄ«ra; dažos gadÄ«jumos var bÅ«t nepiecieÅ”ams kalkulators. TÄpÄc sagatavojies :)
Å is raksts galvenokÄrt ir paredzÄts datu zinÄtniekiem ar sÄkotnÄjo zinÄÅ”anu lÄ«meni maŔīnmÄcÄ«bas pamatos.
RakstÄ bÅ«s arÄ« kods grafiku zÄ«mÄÅ”anai un aprÄÄ·iniem. Viss kods ir rakstÄ«ts valodÄ python 2.7. Ä»aujiet man iepriekÅ” paskaidrot par izmantotÄs versijas "novitÄti" - tas ir viens no nosacÄ«jumiem, lai apgÅ«tu labi zinÄmo kursu no plkst. Yandex tikpat labi zinÄmÄ tieÅ”saistes izglÄ«tÄ«bas platformÄ Coursera, un, kÄ varÄtu pieÅemt, materiÄls tika sagatavots, pamatojoties uz Å”o kursu.
01. TaisnÄs lÄ«nijas atkarÄ«ba
Diezgan pamatoti ir uzdot jautÄjumu ā kÄds ar to sakars lineÄrajai atkarÄ«bai un loÄ£istiskai regresijai?
Tas ir vienkÄrÅ”i! LoÄ£istiskÄ regresija ir viens no modeļiem, kas pieder lineÄrajam klasifikatoram. VienkÄrÅ”iem vÄrdiem sakot, lineÄrÄ klasifikatora uzdevums ir paredzÄt mÄrÄ·a vÄrtÄ«bas no mainÄ«gajiem (regresoriem) . Tiek uzskatÄ«ts, ka atkarÄ«ba starp Ä«paŔībÄm un mÄrÄ·a vÄrtÄ«bas lineÄrs. LÄ«dz ar to klasifikatora nosaukums - lineÄrs. Ä»oti rupji izsakoties, loÄ£istikas regresijas modelis ir balstÄ«ts uz pieÅÄmumu, ka starp raksturlielumiem pastÄv lineÄra sakarÄ«ba. un mÄrÄ·a vÄrtÄ«bas . Å is ir savienojums.
StudijÄ ir pirmais piemÄrs, un tas, pareizi, ir par pÄtÄmo daudzumu taisnvirziena atkarÄ«bu. Raksta sagatavoÅ”anas procesÄ es saskÄros ar piemÄru, kas jau daudzus cilvÄkus ir satraucis - strÄvas atkarÄ«ba no sprieguma (āLietiÅ”Ä·Ä regresijas analÄ«zeā, N. Drapers, G. Smits). ApskatÄ«sim to arÄ« Å”eit.
SaskaÅÄ ar Oma likums:
Kur - strÄvas stiprums, - spriegums, - pretestÄ«ba.
Ja mÄs nezinÄtu Oma likums, tad mÄs varÄtu atrast atkarÄ«bu empÄ«riski, mainot un mÄrÄ«Å”ana , vienlaikus atbalstot fiksÄts. Tad mÄs redzÄtu, ka atkarÄ«bas grafiks no dod vairÄk vai mazÄk taisnu lÄ«niju caur izcelsmi. MÄs sakÄm āvairÄk vai mazÄkā, jo, lai gan attiecÄ«bas patiesÄ«bÄ ir precÄ«zas, mÅ«su mÄrÄ«jumos var bÅ«t nelielas kļūdas, un tÄpÄc punkti diagrammÄ var nenokrist tieÅ”i uz lÄ«nijas, bet tiks izkaisÄ«ti ap to nejauÅ”i.
1. diagramma āAtkarÄ«baā no Ā»
Diagrammas zÄ«mÄÅ”anas kods
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. LineÄrÄs regresijas vienÄdojuma pÄrveidoÅ”anas nepiecieÅ”amÄ«ba
ApskatÄ«sim citu piemÄru. IedomÄsimies, ka strÄdÄjam bankÄ un mÅ«su uzdevums ir atkarÄ«bÄ no noteiktiem faktoriem noteikt kredÄ«ta ÅÄmÄja kredÄ«ta atmaksas iespÄjamÄ«bu. Lai vienkÄrÅ”otu uzdevumu, Åemsim vÄrÄ tikai divus faktorus: aizÅÄmÄja mÄneÅ”algu un ikmÄneÅ”a kredÄ«ta atmaksas summu.
Uzdevums ir ļoti nosacÄ«ts, taÄu ar Å”o piemÄru varam saprast, kÄpÄc nepietiek ar to izmantoÅ”anu lineÄrÄs regresijas funkcijas, kÄ arÄ« uzziniet, kÄdas transformÄcijas ir jÄveic ar funkciju.
AtgriezÄ«simies pie piemÄra. Saprotams, ka jo lielÄka alga, jo vairÄk kredÄ«ta ÅÄmÄjs ik mÄnesi varÄs atvÄlÄt kredÄ«ta atmaksai. TajÄ paÅ”Ä laikÄ noteiktam algu diapazonam Ŕīs attiecÄ«bas bÅ«s diezgan lineÄras. PiemÄram, Åemsim algas diapazonu no 60.000 200.000 lÄ«dz 3 5.000 RUR un pieÅemsim, ka norÄdÄ«tajÄ algu diapazonÄ ikmÄneÅ”a maksÄjuma lieluma atkarÄ«ba no algas lieluma ir lineÄra. PieÅemsim, ka noteiktajam algu diapazonam atklÄjÄs, ka algas attiecÄ«ba pret maksÄjumu nevar bÅ«t zemÄka par XNUMX un kredÄ«tÅÄmÄjam vÄl ir jÄbÅ«t XNUMX RUR rezervÄ. Un tikai Å”ajÄ gadÄ«jumÄ mÄs pieÅemsim, ka aizÅÄmÄjs atmaksÄs kredÄ«tu bankai. Tad lineÄrÄs regresijas vienÄdojums bÅ«s Å”Äds:
kur , , , SÄkot no alga - aizÅÄmÄjs, SÄkot no kredÄ«ta maksÄjums - aizÅÄmÄjs.
Algas un kredÄ«ta maksÄjuma aizstÄÅ”ana ar fiksÄtiem parametriem vienÄdojumÄ JÅ«s varat izlemt, izsniegt vai atteikt aizdevumu.
Raugoties nÄkotnÄ, mÄs to atzÄ«mÄjam ar dotajiem parametriem lineÄrÄs regresijas funkcija, lietots loÄ£istikas atbildes funkcijas radÄ«s lielas vÄrtÄ«bas, kas sarežģīs aprÄÄ·inus, lai noteiktu aizdevuma atmaksas varbÅ«tÄ«bu. TÄpÄc tiek piedÄvÄts samazinÄt mÅ«su koeficientus, teiksim, 25.000 XNUMX reižu. Å Ä« koeficientu transformÄcija lÄmumu par aizdevuma izsniegÅ”anu nemainÄ«s. AtcerÄsimies Å”o punktu nÄkotnei, bet tagad, lai bÅ«tu vÄl skaidrÄk, par ko ir runa, apskatÄ«sim situÄciju ar trim potenciÄlajiem aizÅÄmÄjiem.
1. tabula āPotenciÄlie aizÅÄmÄjiā
Kods tabulas Ä£enerÄÅ”anai
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']]
SaskaÅÄ ar tabulas datiem Vasja ar algu 120.000 3.000 RUR vÄlas saÅemt aizdevumu, lai varÄtu to atmaksÄt katru mÄnesi 5.000 RUR apmÄrÄ. NoteicÄm, ka, lai apstiprinÄtu aizdevumu, Vasjas algai ir jÄpÄrsniedz trÄ«s reizes maksÄjuma summa, un vÄl jÄpaliek XNUMX RUR. Vasja apmierina Å”o prasÄ«bu: . PalikuÅ”i pat 106.000 XNUMX RUR. Neskatoties uz to, ka, aprÄÄ·inot mÄs esam samazinÄjuÅ”i izredzes 25.000 XNUMX reižu, rezultÄts bija tÄds pats ā kredÄ«tu var apstiprinÄt. Fedja saÅems arÄ« aizdevumu, bet LeÅ”a, neskatoties uz to, ka viÅÅ” saÅem visvairÄk, bÅ«s jÄierobežo apetÄ«te.
UzzÄ«mÄsim grafiku Å”im gadÄ«jumam.
2. diagramma āAizÅÄmÄju klasifikÄcijaā
Kods grafika zÄ«mÄÅ”anai
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()
TÄtad, mÅ«su taisne, kas konstruÄta saskaÅÄ ar funkciju , atdala āsliktosā aizÅÄmÄjus no ālabajiemā. Tie aizÅÄmÄji, kuru vÄlmes nesakrÄ«t ar iespÄjÄm, atrodas virs lÄ«nijas (Lesha), savukÄrt tie, kuri pÄc mÅ«su modeļa parametriem spÄj atmaksÄt aizdevumu, atrodas zem lÄ«nijas (Vasja un Fedja). Citiem vÄrdiem sakot, mÄs varam teikt tÄ: mÅ«su tieÅ”Ä lÄ«nija sadala aizÅÄmÄjus divÄs kategorijÄs. ApzÄ«mÄsim tos Å”Ädi: uz klasi Tos aizÅÄmÄjus, kuri, visticamÄk, kredÄ«tu atdos, klasificÄsim kÄ vai MÄs iekļausim tos kredÄ«tÅÄmÄjus, kuri, visticamÄk, nespÄs atmaksÄt kredÄ«tu.
Apkoposim secinÄjumus no Ŕī vienkÄrÅ”Ä piemÄra. PieÅemsim punktu un, aizstÄjot punkta koordinÄtas ar atbilstoÅ”o taisnes vienÄdojumu , apsveriet trÄ«s iespÄjas:
- Ja punkts atrodas zem lÄ«nijas un mÄs to pieŔķiram klasei , tad funkcijas vÄrtÄ«ba bÅ«s pozitÄ«vs no lÄ«dz . Tas nozÄ«mÄ, ka varam pieÅemt, ka aizdevuma atmaksas varbÅ«tÄ«ba ir robežÄs . Jo lielÄka ir funkcijas vÄrtÄ«ba, jo lielÄka ir varbÅ«tÄ«ba.
- Ja punkts atrodas virs lÄ«nijas un mÄs to pieŔķiram klasei vai , tad funkcijas vÄrtÄ«ba bÅ«s negatÄ«va no lÄ«dz . Tad pieÅemsim, ka parÄda atmaksas varbÅ«tÄ«ba ir robežÄs un, jo lielÄka ir funkcijas absolÅ«tÄ vÄrtÄ«ba, jo lielÄka ir mÅ«su pÄrliecÄ«ba.
- Punkts atrodas uz taisnas lÄ«nijas, uz robežas starp divÄm klasÄm. Å ajÄ gadÄ«jumÄ funkcijas vÄrtÄ«ba bÅ«s vienÄdi un kredÄ«ta atmaksas varbÅ«tÄ«ba ir vienÄda ar .
Tagad iedomÄsimies, ka mums ir nevis divi faktori, bet desmitiem un nevis trÄ«s, bet tÅ«kstoÅ”iem aizÅÄmÄju. Tad taisnas lÄ«nijas vietÄ mums bÅ«s m-dimensionÄls plakne un koeficienti mÄs netiksim izÅemti no zila gaisa, bet atvasinÄti pÄc visiem noteikumiem, un uz uzkrÄtajiem datiem par kredÄ«tÅÄmÄjiem, kuri ir vai nav atmaksÄjuÅ”i kredÄ«tu. Un patieÅ”Äm, Åemiet vÄrÄ, ka mÄs tagad atlasÄm aizÅÄmÄjus, izmantojot jau zinÄmos koeficientus . Faktiski loÄ£istikas regresijas modeļa uzdevums ir precÄ«zi noteikt parametrus , pie kuras zaudÄjuma funkcijas vÄrtÄ«ba LoÄ£istikas zaudÄjumi tiecas uz minimumu. Bet par to, kÄ tiek aprÄÄ·inÄts vektors , vairÄk uzzinÄsim raksta 5. sadaļÄ. Pa to laiku atgriežamies apsolÄ«tajÄ zemÄ ā pie sava baÅÄ·iera un viÅa trim klientiem.
Pateicoties funkcijai mÄs zinÄm, kam var dot kredÄ«tu un kam atteikt. Bet ar Å”Ädu informÄciju pie direktora iet nevar, jo viÅi gribÄja no mums uzzinÄt varbÅ«tÄ«bu, ka katrs aizÅÄmÄjs atmaksÄs kredÄ«tu. Ko darÄ«t? Atbilde ir vienkÄrÅ”a - mums ir kaut kÄ jÄpÄrveido funkcija , kuru vÄrtÄ«bas atrodas diapazonÄ uz funkciju, kuras vÄrtÄ«bas atradÄ«sies diapazonÄ . Un tÄda funkcija pastÄv, to sauc loÄ£istikas atbildes funkcija vai apgrieztÄ logit transformÄcija. IepazÄ«stieties:
ApskatÄ«sim soli pa solim, kÄ tas darbojas loÄ£istikas atbildes funkcija. Å emiet vÄrÄ, ka mÄs iesim pretÄjÄ virzienÄ, t.i. pieÅemsim, ka zinÄm varbÅ«tÄ«bas vÄrtÄ«bu, kas atrodas diapazonÄ no lÄ«dz un tad mÄs āatritinÄsimā Å”o vÄrtÄ«bu uz visu skaitļu diapazonu no lÄ«dz .
03. MÄs iegÅ«stam loÄ£istikas atbildes funkciju
1. darbÄ«ba. PÄrveidojiet varbÅ«tÄ«bas vÄrtÄ«bas diapazonÄ
Funkcijas transformÄcijas laikÄ Š² loÄ£istikas atbildes funkcija MÄs atstÄsim savu kredÄ«ta analÄ«tiÄ·i mierÄ un tÄ vietÄ apskatÄ«sim bukmeikeru pakalpojumus. NÄ, protams, mÄs neliksim likmes, viss, kas mÅ«s interesÄ, ir izteiciena nozÄ«me, piemÄram, iespÄja ir 4 pret 1. Koeficients, kas zinÄms visiem derÄ«bu slÄdzÄjiem, ir āveiksmesā attiecÄ«ba pret ā neveiksmesā. VarbÅ«tÄ«bas izteiksmÄ izredzes ir notikuma iespÄjamÄ«ba, kas dalÄ«ta ar varbÅ«tÄ«bu, ka notikums nenotiks. PierakstÄ«sim notikuma iespÄjamÄ«bas formulu :
Kur - notikuma varbÅ«tÄ«ba, ā varbÅ«tÄ«ba, ka kÄds notikums nenotiks
PiemÄram, ja varbÅ«tÄ«ba, ka jauns, spÄcÄ«gs un rotaļīgs zirgs ar iesauku āVeteroksā sacÄ«kstÄs pÄrspÄs vecu un ļenganu vecu sievieti vÄrdÄ āMatildaā, ir vienÄda ar , tad āVeterokā izredzes uz panÄkumu bÅ«s Šŗ un otrÄdi, zinot izredzes, mums nebÅ«s grÅ«ti aprÄÄ·inÄt varbÅ«tÄ«bu :
TÄdÄjÄdi mÄs esam iemÄcÄ«juÅ”ies āpÄrtulkotā varbÅ«tÄ«bu par iespÄjÄm, kas Åem vÄrtÄ«bas no lÄ«dz . Spersim vÄl vienu soli un iemÄcÄ«simies ātulkotā varbÅ«tÄ«bu uz visu skaitļu lÄ«niju no lÄ«dz .
2. darbÄ«ba. PÄrveidojiet varbÅ«tÄ«bas vÄrtÄ«bas diapazonÄ
Å is solis ir ļoti vienkÄrÅ”s - pieÅemsim koeficientu logaritmu uz Eilera skaitļa bÄzi un mÄs iegÅ«stam:
Tagad mÄs zinÄm, ka, ja , pÄc tam aprÄÄ·iniet vÄrtÄ«bu bÅ«s ļoti vienkÄrÅ”i, un turklÄt tam vajadzÄtu bÅ«t pozitÄ«vam: . TÄ ir patiesÄ«ba.
ZiÅkÄrÄ«bas dÄļ pÄrbaudÄ«sim, kÄ bÅ«tu, ja , tad mÄs sagaidÄm negatÄ«vu vÄrtÄ«bu . MÄs pÄrbaudÄm: . Pareizi.
Tagad mÄs zinÄm, kÄ konvertÄt varbÅ«tÄ«bas vÄrtÄ«bu no lÄ«dz pa visu skaitļu lÄ«niju no lÄ«dz . NÄkamajÄ solÄ« mÄs darÄ«sim pretÄjo.
PagaidÄm atzÄ«mÄjam, ka saskaÅÄ ar logaritma noteikumiem, zinot funkcijas vÄrtÄ«bu , jÅ«s varat aprÄÄ·inÄt izredzes:
Å Ä« koeficientu noteikÅ”anas metode mums noderÄs nÄkamajÄ darbÄ«bÄ.
3. solis. AtvasinÄsim formulu, lai noteiktu
TÄ mÄs mÄcÄ«jÄmies, zinÄdami , atrodiet funkciju vÄrtÄ«bas . TaÄu patiesÄ«bÄ mums vajag tieÅ”i pretÄjo ā zinot vÄrtÄ«bu atrast . Lai to izdarÄ«tu, pievÄrsÄ«simies tÄdam jÄdzienam kÄ apgriezto koeficientu funkcija, saskaÅÄ ar kuru:
RakstÄ mÄs neatvasinÄsim iepriekÅ” minÄto formulu, bet mÄs to pÄrbaudÄ«sim, izmantojot skaitļus no iepriekÅ” minÄtÄ piemÄra. MÄs zinÄm, ka ar koeficientu 4 pret 1 (), notikuma iespÄjamÄ«ba ir 0.8 (). Veiksim aizstÄÅ”anu: . Tas sakrÄ«t ar mÅ«su iepriekÅ” veiktajiem aprÄÄ·iniem. Ejam tÄlÄk.
PÄdÄjÄ solÄ« mÄs to secinÄjÄm , kas nozÄ«mÄ, ka varat veikt aizstÄÅ”anu apgriezto koeficientu funkcijÄ. MÄs iegÅ«stam:
Sadaliet gan skaitÄ«tÄju, gan saucÄju ar , Tad:
Katram gadÄ«jumam, lai pÄrliecinÄtos, ka nekur neesam kļūdÄ«juÅ”ies, veiksim vÄl vienu nelielu pÄrbaudi. 2. darbÄ«bÄ mÄs par noteica, ka . PÄc tam vÄrtÄ«bu aizstÄjot loÄ£istikas atbildes funkcijÄ, mÄs ceram iegÅ«t . MÄs aizstÄjam un iegÅ«stam:
Apsveicam, dÄrgais lasÄ«tÄj, mÄs tikko esam ieguvuÅ”i un pÄrbaudÄ«juÅ”i loÄ£istikas atbildes funkciju. ApskatÄ«sim funkcijas grafiku.
3. grafiks āLoÄ£istiskÄs atbildes funkcijaā
Kods grafika zÄ«mÄÅ”anai
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()
LiteratÅ«rÄ var atrast arÄ« Ŕīs funkcijas nosaukumu kÄ sigmoÄ«dÄ funkcija. GrafikÄ skaidri redzams, ka galvenÄs izmaiÅas kÄdai klasei piederoÅ”a objekta varbÅ«tÄ«bÄ notiek salÄ«dzinoÅ”i nelielÄ diapazonÄ , kaut kur no lÄ«dz .
Iesaku atgriezties pie mÅ«su kredÄ«tanalÄ«tiÄ·a un palÄ«dzÄt viÅam aprÄÄ·inÄt kredÄ«ta atmaksas varbÅ«tÄ«bu, pretÄjÄ gadÄ«jumÄ viÅÅ” riskÄ palikt bez bonusa :)
2. tabula āPotenciÄlie aizÅÄmÄjiā
Kods tabulas Ä£enerÄÅ”anai
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']]
TÄtad, esam noteikuÅ”i kredÄ«ta atmaksas varbÅ«tÄ«bu. KopumÄ Å”Ä·iet, ka tÄ ir taisnÄ«ba.
PatieÅ”Äm, varbÅ«tÄ«ba, ka Vasja ar 120.000 3.000 RUR lielu algu katru mÄnesi bankai varÄs dot 100 RUR, ir tuvu 0.3%. Starp citu, mums ir jÄsaprot, ka banka var izsniegt Lesha aizdevumu, ja bankas politika paredz, piemÄram, kreditÄt klientus ar aizdevuma atmaksas varbÅ«tÄ«bu, kas lielÄka par, piemÄram, XNUMX. VienkÄrÅ”i Å”ajÄ gadÄ«jumÄ banka izveidos lielÄku rezervi iespÄjamiem zaudÄjumiem.
JÄÅem vÄrÄ arÄ« tas, ka no griestiem tika Åemta algas attiecÄ«ba pret maksÄjumu vismaz 3 un ar rezervi 5.000 RUR. TÄpÄc mÄs nevarÄjÄm izmantot svaru vektoru tÄ sÄkotnÄjÄ formÄ . Mums vajadzÄja stipri samazinÄt koeficientus, un Å”ajÄ gadÄ«jumÄ mÄs katru koeficientu sadalÄ«jÄm ar 25.000 XNUMX, tas ir, pÄc bÅ«tÄ«bas mÄs koriÄ£ÄjÄm rezultÄtu. Bet tas tika darÄ«ts Ä«paÅ”i, lai sÄkotnÄjÄ posmÄ vienkÄrÅ”otu materiÄla izpratni. DzÄ«vÄ mums nevajadzÄs izdomÄt un pielÄgot koeficientus, bet gan tos atrast. NÄkamajÄs raksta sadaļÄs mÄs atvasinÄsim vienÄdojumus, ar kuriem tiek atlasÄ«ti parametri .
04. MazÄko kvadrÄtu metode svaru vektora noteikÅ”anai loÄ£istikas atbildes funkcijÄ
MÄs jau zinÄm Å”o svaru vektora izvÄles metodi KÄ mazÄko kvadrÄtu metode (LSM) un patiesÄ«bÄ, kÄpÄc mÄs to neizmantojam binÄrÄs klasifikÄcijas problÄmÄs? PatieÅ”Äm, nekas neliedz jums to izmantot MNC, tikai Ŕī metode klasifikÄcijas problÄmÄs dod rezultÄtus, kas ir mazÄk precÄ«zi nekÄ LoÄ£istikas zaudÄjumi. Tam ir teorÄtisks pamats. Vispirms apskatÄ«sim vienu vienkÄrÅ”u piemÄru.
PieÅemsim, ka mÅ«su modeļi (izmantojot MSE Šø LoÄ£istikas zaudÄjumi) jau ir sÄkuÅ”i atlasÄ«t svaru vektoru un mÄs kÄdÄ solÄ« aprÄÄ·inu pÄrtraucÄm. Nav svarÄ«gi, vai vidÅ«, beigÄs vai sÄkumÄ, galvenais, ka mums jau ir dažas svaru vektora vÄrtÄ«bas un pieÅemsim, ka Å”ajÄ solÄ« svaru vektors abiem modeļiem nav atŔķirÄ«bu. PÄc tam paÅemiet iegÅ«tos svarus un nomainiet tos loÄ£istikas atbildes funkcija () kÄdam objektam, kas pieder klasei . MÄs pÄrbaudÄm divus gadÄ«jumus, kad saskaÅÄ ar izvÄlÄto svaru vektoru mÅ«su modelis ir ļoti kļūdÄ«jies un otrÄdi - modelis ir ļoti pÄrliecinÄts, ka objekts pieder klasei . PaskatÄ«simies, kÄdi naudas sodi tiks izrakstÄ«ti, lietojot MNC Šø LoÄ£istikas zaudÄjumi.
Kods soda aprÄÄ·inÄÅ”anai atkarÄ«bÄ no izmantotÄs zaudÄjuma funkcijas
# ŠŗŠ»Š°ŃŃ Š¾Š±ŃŠµŠŗŃŠ°
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
Kļūdas gadÄ«jums ā modelis pieŔķir klasei objektu ar varbÅ«tÄ«bu 0,01
Sods par lietoŔanu MNC būs:
Sods par lietoÅ”anu LoÄ£istikas zaudÄjumi bÅ«s:
SpÄcÄ«gas pÄrliecÄ«bas gadÄ«jums ā modelis pieŔķir klasei objektu ar varbÅ«tÄ«bu 0,99
Sods par lietoŔanu MNC būs:
Sods par lietoÅ”anu LoÄ£istikas zaudÄjumi bÅ«s:
Å is piemÄrs labi ilustrÄ, ka rupjas kļūdas gadÄ«jumÄ zaudÄjumu funkcija Baļķu zudums soda modeli ievÄrojami vairÄk nekÄ MSE. Tagad sapratÄ«sim, kÄds ir zaudÄjuma funkcijas izmantoÅ”anas teorÄtiskais pamatojums Baļķu zudums klasifikÄcijas problÄmÄs.
05. MaksimÄlÄs varbÅ«tÄ«bas metode un loÄ£istiskÄ regresija
KÄ solÄ«ts sÄkumÄ, raksts ir pilns ar vienkÄrÅ”iem piemÄriem. StudijÄ ir vÄl viens piemÄrs un vecie viesi - bankas aizÅÄmÄji: Vasja, Fedja un LeÅ”a.
Katram gadÄ«jumam pirms piemÄra izstrÄdes atgÄdinÄÅ”u, ka dzÄ«vÄ mums ir darÄ«Å”ana ar tÅ«kstoÅ”iem vai miljonu objektu apmÄcÄ«bu paraugu ar desmitiem vai simtiem pazÄ«mju. TomÄr Å”eit skaitļi tiek Åemti tÄ, lai tie viegli ietilptu iesÄcÄju datu zinÄtnieka galvÄ.
AtgriezÄ«simies pie piemÄra. IedomÄsimies, ka bankas direktors nolÄma izsniegt aizdevumu visiem, kam tas ir nepiecieÅ”ams, neskatoties uz to, ka algoritms ieteica to neizsniegt LeÅ”ai. Un tagad ir pagÄjis pietiekami daudz laika, un mÄs zinÄm, kurÅ” no trim varoÅiem atmaksÄja aizdevumu un kurÅ” ne. Kas bija gaidÄms: Vasja un Fedja atmaksÄja aizdevumu, bet LeÅ”a to nedarÄ«ja. Tagad iedomÄsimies, ka Å”is rezultÄts mums bÅ«s jauns treniÅu paraugs un tajÄ paÅ”Ä laikÄ it kÄ bÅ«tu pazuduÅ”i visi dati par kredÄ«ta atmaksas varbÅ«tÄ«bu ietekmÄjoÅ”iem faktoriem (aizÅÄmÄja alga, ikmÄneÅ”a maksÄjuma lielums). Tad intuitÄ«vi varam pieÅemt, ka katrs treÅ”ais aizÅÄmÄjs neatmaksÄ kredÄ«tu bankai jeb, citiem vÄrdiem sakot, varbÅ«tÄ«ba, ka kredÄ«tu atmaksÄs nÄkamais aizÅÄmÄjs. . Å im intuitÄ«vajam pieÅÄmumam ir teorÄtisks apstiprinÄjums, un tas ir balstÄ«ts uz maksimÄlÄs varbÅ«tÄ«bas metode, bieži literatÅ«rÄ to sauc maksimÄlÄs varbÅ«tÄ«bas princips.
Vispirms iepazÄ«simies ar konceptuÄlo aparÄtu.
Izlases iespÄjamÄ«ba ir iespÄjamÄ«ba iegÅ«t tieÅ”i Å”Ädu paraugu, iegÅ«stot tieÅ”i tÄdus novÄrojumus/rezultÄtus, t.i. katra izlases rezultÄta iegÅ«Å”anas varbÅ«tÄ«bu reizinÄjums (piemÄram, vai Vasjas, Fedjas un LeÅ”as aizdevums tika atmaksÄts vai netika atmaksÄts vienlaikus).
VarbÅ«tÄ«bas funkcija saista parauga iespÄjamÄ«bu ar sadalÄ«juma parametru vÄrtÄ«bÄm.
MÅ«su gadÄ«jumÄ apmÄcÄ«bas paraugs ir vispÄrinÄta Bernulli shÄma, kurÄ nejauÅ”ajam mainÄ«gajam ir tikai divas vÄrtÄ«bas: vai . TÄpÄc izlases iespÄjamÄ«bu var uzrakstÄ«t kÄ parametra varbÅ«tÄ«bas funkciju Å”Ädi:
IepriekÅ” minÄto ierakstu var interpretÄt Å”Ädi. KopÄjÄ varbÅ«tÄ«ba, ka Vasja un Fedja atmaksÄs aizdevumu, ir vienÄda ar , varbÅ«tÄ«ba, ka Lesha NEatmaksÄs aizdevumu, ir vienÄda ar (jo tÄ NAV notikusi kredÄ«ta atmaksa), tÄpÄc visu trÄ«s notikumu kopÄjÄ iespÄjamÄ«ba ir vienÄda .
MaksimÄlÄs varbÅ«tÄ«bas metode ir metode nezinÄma parametra novÄrtÄÅ”anai, palielinot varbÅ«tÄ«bas funkcijas. MÅ«su gadÄ«jumÄ mums ir jÄatrod Å”Äda vÄrtÄ«ba , kurÄ sasniedz maksimumu.
No kurienes rodas Ä«stÄ ideja - meklÄt nezinÄma parametra vÄrtÄ«bu, pie kuras varbÅ«tÄ«bas funkcija sasniedz maksimumu? Idejas pirmsÄkumi izriet no domas, ka izlase ir vienÄ«gais mums pieejamais zinÄÅ”anu avots par iedzÄ«votÄjiem. IzlasÄ ir pÄrstÄvÄts viss, ko mÄs zinÄm par populÄciju. TÄpÄc mÄs varam teikt tikai to, ka izlase ir visprecÄ«zÄkais mums pieejamÄs populÄcijas atspoguļojums. TÄpÄc mums ir jÄatrod parametrs, pie kura pieejamais paraugs kļūst par visticamÄko.
AcÄ«mredzot mums ir darÄ«Å”ana ar optimizÄcijas problÄmu, kurÄ mums jÄatrod funkcijas galÄjais punkts. Lai atrastu galÄjÄ«bas punktu, ir jÄÅem vÄrÄ pirmÄs kÄrtas nosacÄ«jums, tas ir, jÄpielÄ«dzina funkcijas atvasinÄjums nullei un jÄatrisina vienÄdojums attiecÄ«bÄ uz vÄlamo parametru. TomÄr daudzu faktoru reizinÄjuma atvasinÄjuma meklÄÅ”ana var bÅ«t ilgstoÅ”s uzdevums, lai no tÄ izvairÄ«tos, ir Ä«paÅ”s paÅÄmiens - pÄreja uz logaritmu. varbÅ«tÄ«bas funkcijas. KÄpÄc Å”Äda pÄreja ir iespÄjama? PievÄrsÄ«sim uzmanÄ«bu tam, ka mÄs nemeklÄjam paÅ”as funkcijas galÄjÄ«bu, un galÄjais punkts, tas ir, nezinÄmÄ parametra vÄrtÄ«ba , kurÄ sasniedz maksimumu. PÄrejot uz logaritmu, ekstrÄma punkts nemainÄs (lai gan pats ekstrÄmums atŔķirsies), jo logaritms ir monotona funkcija.
SaskaÅÄ ar iepriekÅ” minÄto, turpinÄsim attÄ«stÄ«t savu piemÄru ar aizdevumiem no Vasya, Fedya un Lesha. Vispirms pÄriesim pie varbÅ«tÄ«bas funkcijas logaritms:
Tagad mÄs varam viegli atŔķirt izteiksmi pÄc :
Visbeidzot, apsveriet pirmÄs kÄrtas nosacÄ«jumu - funkcijas atvasinÄjumu pielÄ«dzinÄm nullei:
TÄdÄjÄdi mÅ«su intuitÄ«vÄ aplÄse par aizdevuma atmaksas varbÅ«tÄ«bu bija teorÄtiski pamatots.
Lieliski, bet ko mums tagad darÄ«t ar Å”o informÄciju? Ja pieÅemam, ka katrs treÅ”ais aizÅÄmÄjs naudu bankai neatdod, tad pÄdÄjÄ neizbÄgami bankrotÄs. Tas ir pareizi, bet tikai tad, ja tiek novÄrtÄta aizdevuma atmaksas varbÅ«tÄ«ba, kas vienÄda ar MÄs neÅÄmÄm vÄrÄ faktorus, kas ietekmÄ kredÄ«ta atmaksu: aizÅÄmÄja algu un ikmÄneÅ”a maksÄjuma lielumu. AtcerÄsimies, ka iepriekÅ” aprÄÄ·inÄjÄm katra klienta kredÄ«ta atmaksas varbÅ«tÄ«bu, Åemot vÄrÄ Å”os paÅ”us faktorus. Ir loÄ£iski, ka mÄs ieguvÄm varbÅ«tÄ«bas, kas atŔķiras no konstantes vienÄdÄ«bas .
DefinÄsim paraugu iespÄjamÄ«bu:
Kods izlases varbÅ«tÄ«bas aprÄÄ·inÄÅ”anai
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)
Izlases iespÄjamÄ«ba nemainÄ«gÄ vÄrtÄ«bÄ :
IespÄjamÄ«bas paraugs, aprÄÄ·inot kredÄ«ta atmaksas varbÅ«tÄ«bu, Åemot vÄrÄ faktorus :
Izlases iespÄjamÄ«ba ar varbÅ«tÄ«bu, kas aprÄÄ·inÄta atkarÄ«bÄ no faktoriem, izrÄdÄ«jÄs lielÄka nekÄ iespÄjamÄ«ba ar nemainÄ«gu varbÅ«tÄ«bas vÄrtÄ«bu. Ko tas nozÄ«mÄ? Tas liecina, ka zinÄÅ”anas par faktoriem ļÄva precÄ«zÄk atlasÄ«t kredÄ«ta atmaksas varbÅ«tÄ«bu katram klientam. TÄpÄc, izsniedzot nÄkamo kredÄ«tu, parÄda atmaksas iespÄjamÄ«bas novÄrtÄÅ”anai pareizÄk bÅ«tu izmantot raksta 3. sadaļas beigÄs piedÄvÄto modeli.
Bet tad, ja mÄs vÄlamies palielinÄt parauga varbÅ«tÄ«bas funkcija, tad kÄpÄc gan neizmantot kÄdu algoritmu, kas, piemÄram, Vasja, Fedja un LeÅ”a radÄ«s varbÅ«tÄ«bas, kas ir vienÄdas ar attiecÄ«gi 0.99, 0.99 un 0.01. IespÄjams, Å”Äds algoritms labi darbosies apmÄcÄ«bas paraugÄ, jo tas tuvinÄs izlases iespÄjamÄ«bas vÄrtÄ«bu , bet, pirmkÄrt, Å”Ädam algoritmam visticamÄk bÅ«s grÅ«tÄ«bas ar vispÄrinÄÅ”anas spÄju, otrkÄrt, Å”is algoritms noteikti nebÅ«s lineÄrs. Un, ja Ŕī raksta plÄnÄ nepÄrprotami nav iekļautas pÄrtrenÄÅ”anÄs apkaroÅ”anas metodes (tikpat vÄjas vispÄrinÄÅ”anas spÄjas), tad sÄ«kÄk aplÅ«kosim otro punktu. Lai to izdarÄ«tu, vienkÄrÅ”i atbildiet uz vienkÄrÅ”u jautÄjumu. Vai varbÅ«tÄ«ba, ka Vasja un Fedja atmaksÄs aizdevumu, var bÅ«t vienÄda, Åemot vÄrÄ mums zinÄmos faktorus? No skaÅas loÄ£ikas viedokļa, protams, nÄ, tÄ nevar. TÄtad Vasja aizdevuma atmaksai maksÄs 2.5% no savas algas mÄnesÄ«, bet Fedja - gandrÄ«z 27,8%. ArÄ« 2. grafikÄ āKlientu klasifikÄcijaā redzam, ka Vasja atrodas daudz tÄlÄk no klases atdaloÅ”Äs lÄ«nijas nekÄ Fedja. Un visbeidzot, mÄs zinÄm, ka funkcija Vasjai un Fedjai ir dažÄdas vÄrtÄ«bas: 4.24 Vasjai un 1.0 Fedjai. Tagad, ja, piemÄram, Fedja nopelnÄ«tu par kÄrtu vairÄk vai lÅ«gtu mazÄku kredÄ«tu, tad Vasjai un Fedjai kredÄ«ta atmaksas varbÅ«tÄ«ba bÅ«tu lÄ«dzÄ«ga. Citiem vÄrdiem sakot, lineÄro atkarÄ«bu nevar apmÄnÄ«t. Un ja mÄs faktiski aprÄÄ·inÄm izredzes , un neÅÄma tos no zila gaisa, varÄtu droÅ”i teikt, ka mÅ«su vÄrtÄ«bas vislabÄk ļauj novÄrtÄt katra aizÅÄmÄja kredÄ«ta atmaksas varbÅ«tÄ«bu, bet tÄ kÄ mÄs vienojÄmies pieÅemt, ka koeficientu noteikÅ”ana tika veikta saskaÅÄ ar visiem noteikumiem, tad mÄs tÄ pieÅemsim - mÅ«su koeficienti ļauj mums labÄk novÄrtÄt varbÅ«tÄ«bu :)
TomÄr mÄs novirzÄmies. Å ajÄ sadaÄ¼Ä mums ir jÄsaprot, kÄ tiek noteikts svaru vektors , kas nepiecieÅ”ams, lai novÄrtÄtu katra aizÅÄmÄja kredÄ«ta atmaksas varbÅ«tÄ«bu.
ÄŖsi apkoposim, ar kÄdu arsenÄlu mÄs meklÄjam izredzes :
1. PieÅemam, ka sakarÄ«ba starp mÄrÄ·a mainÄ«go (prognozes vÄrtÄ«bu) un rezultÄtu ietekmÄjoÅ”o faktoru ir lineÄra. Å Ä« iemesla dÄļ tas tiek izmantots lineÄrÄs regresijas funkcija suga , kuras rinda sadala objektus (klientus) klasÄs Šø vai (klienti, kuri spÄj atmaksÄt kredÄ«tu, un tie, kuri nespÄj). MÅ«su gadÄ«jumÄ vienÄdojumam ir forma .
2. MÄs izmantojam apgrieztÄ logit funkcija suga lai noteiktu kÄdai klasei piederoÅ”a objekta varbÅ«tÄ«bu .
3. MÄs uzskatÄm, ka mÅ«su apmÄcÄ«bas komplekts ir vispÄrinÄta ievieÅ”ana Bernulli shÄmas, tas ir, katram objektam tiek Ä£enerÄts nejauÅ”s mainÄ«gais, kas ar varbÅ«tÄ«bu (katram objektam sava) Åem vÄrtÄ«bu 1 un ar varbÅ«tÄ«bu - 0.
4. MÄs zinÄm, kas mums jÄpalielina parauga varbÅ«tÄ«bas funkcija Åemot vÄrÄ pieÅemtos faktorus, lai pieejamÄ izlase kļūtu ticamÄkÄ. Citiem vÄrdiem sakot, mums ir jÄizvÄlas parametri, pÄc kuriem izlase bÅ«s ticamÄkÄ. MÅ«su gadÄ«jumÄ izvÄlÄtais parametrs ir aizdevuma atmaksas varbÅ«tÄ«ba , kas savukÄrt ir atkarÄ«gs no nezinÄmiem koeficientiem . TÄtad mums ir jÄatrod Å”Äds svaru vektors , pie kura izlases iespÄjamÄ«ba bÅ«s maksimÄla.
5. MÄs zinÄm, ko maksimÄli palielinÄt iespÄjamÄ«bas funkciju paraugs jÅ«s varat izmantot maksimÄlÄs varbÅ«tÄ«bas metode. Un mÄs zinÄm visus viltÄ«gos trikus, lai strÄdÄtu ar Å”o metodi.
LÅ«k, kÄ tas izrÄdÄs daudzpakÄpju gÄjiens :)
Tagad atcerieties, ka paÅ”Ä raksta sÄkumÄ mÄs vÄlÄjÄmies atvasinÄt divu veidu zaudÄjumu funkcijas LoÄ£istikas zaudÄjumi atkarÄ«bÄ no tÄ, kÄ tiek apzÄ«mÄtas objektu klases. TÄ notika, ka klasifikÄcijas uzdevumos ar divÄm klasÄm klases tiek apzÄ«mÄtas kÄ Šø vai . AtkarÄ«bÄ no apzÄ«mÄjuma izvadei bÅ«s atbilstoÅ”a zuduma funkcija.
1. gadÄ«jums. Objektu klasifikÄcija Šø
AgrÄk, nosakot parauga iespÄjamÄ«bu, kurÄ aizÅÄmÄja parÄda atmaksas varbÅ«tÄ«ba tika aprÄÄ·inÄta, pamatojoties uz faktoriem un dotajiem koeficientiem. , mÄs izmantojÄm formulu:
Faktiski ir jÄga loÄ£istikas atbildes funkcijas dotajam svaru vektoram
Tad nekas neliedz mums uzrakstÄ«t parauga iespÄjamÄ«bas funkciju Å”Ädi:
GadÄs, ka dažkÄrt dažiem iesÄcÄju analÄ«tiÄ·iem ir grÅ«ti uzreiz saprast, kÄ Å”Ä« funkcija darbojas. ApskatÄ«sim 4 Ä«sus piemÄrus, kas noskaidros lietas:
1. Ja (t.i., pÄc apmÄcÄ«bas parauga objekts pieder klasei +1), un mÅ«su algoritms nosaka varbÅ«tÄ«bu objektu klasificÄt klasÄ vienÄds ar 0.9, tad Ŕī izlases iespÄjamÄ«ba tiks aprÄÄ·inÄta Å”Ädi:
2. Ja Un , tad aprÄÄ·ins bÅ«s Å”Äds:
3. Ja Un , tad aprÄÄ·ins bÅ«s Å”Äds:
4. Ja Un , tad aprÄÄ·ins bÅ«s Å”Äds:
Ir skaidrs, ka iespÄjamÄ«bas funkcija tiks maksimÄli palielinÄta 1. un 3. gadÄ«jumÄ vai vispÄrÄjÄ gadÄ«jumÄ - ar pareizi uzminÄtÄm varbÅ«tÄ«bu vÄrtÄ«bÄm objekta pieŔķirÅ”anai klasei .
SakarÄ ar to, ka, nosakot varbÅ«tÄ«bu objekta pieŔķirÅ”anai klasei MÄs nezinÄm tikai koeficientus , tad mÄs tos meklÄsim. KÄ minÄts iepriekÅ”, Ŕī ir optimizÄcijas problÄma, kurÄ vispirms jÄatrod iespÄjamÄ«bas funkcijas atvasinÄjums attiecÄ«bÄ pret svaru vektoru . TomÄr vispirms ir jÄga vienkÄrÅ”ot uzdevumu sev: mÄs meklÄsim logaritma atvasinÄjumu varbÅ«tÄ«bas funkcijas.
KÄpÄc pÄc logaritma, in loÄ£istikas kļūdu funkcijas, mÄs mainÄ«jÄm zÄ«mi no par . Viss ir vienkÄrÅ”i, jo modeļa kvalitÄtes novÄrtÄÅ”anas problÄmÄs ir ierasts samazinÄt funkcijas vÄrtÄ«bu, mÄs reizinÄjÄm izteiksmes labo pusi ar un attiecÄ«gi, tÄ vietÄ, lai palielinÄtu, tagad mÄs minimizÄjam funkciju.
PatiesÄ«bÄ tieÅ”i tagad, jÅ«su acu priekÅ”Ä, zaudÄjumu funkcija tika rÅ«pÄ«gi iegÅ«ta - LoÄ£istikas zaudÄjumi mÄcÄ«bu komplektam ar divÄm nodarbÄ«bÄm: Šø .
Tagad, lai atrastu koeficientus, mums vienkÄrÅ”i jÄatrod atvasinÄjums loÄ£istikas kļūdu funkcijas un pÄc tam, izmantojot skaitliskÄs optimizÄcijas metodes, piemÄram, gradienta nolaiÅ”anos vai stohastisko gradienta nolaiÅ”anos, atlasiet optimÄlÄkos koeficientus . Bet, Åemot vÄrÄ raksta ievÄrojamo apjomu, ir ierosinÄts diferencÄÅ”anu veikt patstÄvÄ«gi, vai varbÅ«t Ŕī bÅ«s nÄkamÄ raksta tÄma ar daudz aritmÄtikas bez tik detalizÄtiem piemÄriem.
2. gadÄ«jums. Objektu klasifikÄcija Šø
Å eit pieeja bÅ«s tÄda pati kÄ nodarbÄ«bÄs Šø , bet pats ceļŔ uz zaudÄjumu funkcijas izvadi LoÄ£istikas zaudÄjumi, bÅ«s greznÄks. SÄksim. IespÄjamÄ«bas funkcijai mÄs izmantosim operatoru "ja tad...". Tas ir, ja th objekts pieder klasei , tad, lai aprÄÄ·inÄtu izlases iespÄjamÄ«bu, mÄs izmantojam varbÅ«tÄ«bu , ja objekts pieder klasei , tad mÄs aizstÄjam ar varbÅ«tÄ«bu . Å Ädi izskatÄs varbÅ«tÄ«bas funkcija:
AprakstÄ«sim ar pirkstiem, kÄ tas darbojas. ApskatÄ«sim 4 gadÄ«jumus:
1. Ja Šø , tad paraugu ÅemÅ”anas iespÄjamÄ«ba "beigsies"
2. Ja Šø , tad paraugu ÅemÅ”anas iespÄjamÄ«ba "beigsies"
3. Ja Šø , tad paraugu ÅemÅ”anas iespÄjamÄ«ba "beigsies"
4. Ja Šø , tad paraugu ÅemÅ”anas iespÄjamÄ«ba "beigsies"
Ir skaidrs, ka 1. un 3. gadÄ«jumÄ, kad varbÅ«tÄ«bas ir pareizi noteiktas ar algoritmu, varbÅ«tÄ«bas funkcija tiks maksimÄli palielinÄts, tas ir, tieÅ”i to mÄs vÄlÄjÄmies iegÅ«t. TomÄr Ŕī pieeja ir diezgan apgrÅ«tinoÅ”a, un turpmÄk mÄs apsvÄrsim kompaktÄku apzÄ«mÄjumu. Bet vispirms logaritÄsim varbÅ«tÄ«bas funkciju ar zÄ«mes maiÅu, jo tagad mÄs to samazinÄsim.
TÄ vietÄ aizstÄsim izteiksme :
VienkÄrÅ”osim pareizo terminu saskaÅÄ ar logaritmu, izmantojot vienkÄrÅ”as aritmÄtikas metodes, un iegÅ«sim:
Tagad ir pienÄcis laiks atbrÄ«voties no operatora "ja tad...". Å emiet vÄrÄ, ka tad, kad objekts pieder klasei , tad izteiksmÄ zem logaritma, saucÄjÄ, pacelts pie varas , ja objekts pieder klasei , tad $e$ tiek pacelts pakÄpÄ . TÄpÄc grÄda apzÄ«mÄjumu var vienkÄrÅ”ot, apvienojot abus gadÄ«jumus vienÄ: . Tad loÄ£istikas kļūdu funkcija bÅ«s Å”ÄdÄ formÄ:
SaskaÅÄ ar logaritma noteikumiem mÄs apgriežam daļu un izliekam zÄ«mi "" (mÄ«nus) logaritmam mÄs iegÅ«stam:
Å eit ir zaudÄjumu funkcija loÄ£istikas zaudÄjumi, kas tiek izmantots mÄcÄ«bu komplektÄ ar klasÄm pieŔķirtajiem objektiem: Šø .
Nu, Å”ajÄ brÄ«dÄ« es paÅemu atvaļinÄjumu un mÄs pabeidzam rakstu.
PalÄ«gmateriÄli
1. Literatūra
1) LietiÅ”Ä·Ä regresijas analÄ«ze / N. Draper, G. Smith - 2nd ed. ā M.: Finanses un statistika, 1986 (tulkojums no angļu valodas)
2) VarbÅ«tÄ«bu teorija un matemÄtiskÄ statistika / V.E. Gmurman ā 9. izd. - M.: Augstskola, 2003.g
3) VarbÅ«tÄ«bu teorija / N.I. Äernova - Novosibirska: Novosibirskas Valsts universitÄte, 2007
4) Biznesa analÄ«tika: no datiem lÄ«dz zinÄÅ”anÄm / Paklin N. B., Oreshkov V. I. - 2nd ed. ā SanktpÄterburga: PÄteris, 2013. gads
5) Datu zinÄtne Datu zinÄtne no nulles / Joel Gras - SanktpÄterburga: BHV Petersburg, 2017
6) PraktiskÄ statistika datu zinÄtnes speciÄlistiem / P. Bruce, E. Bruce - St. Petersburg: BHV Petersburg, 2018
2. Lekcijas, kursi (video)
1)
2)
3)
4)
5)
3. Interneta avoti
1)
2)
3)
4)
6)