Rūpīgi pārdomājot loģistikas regresiju

Rūpīgi pārdomājot loģistikas regresiju

Šajā rakstā mēs apspriedīsim teorētiskos skaitļošanas aspektus lineārās regresijas funkcijas par apgrieztā logit pārvēršanas funkciju (cits to sauc par loģistiskās reakcijas funkciju). Pēc tam, izmantojot maksimālās iespējamības metodi, saskaņā ar loģistiskās regresijas modeli, mēs izstrādāsim zaudējumu funkciju Logistic Loss, citiem vārdiem sakot, mēs noteiksim funkciju, ar kuru loģistiskajā regresijas modelī tiek pielāgoti svaru vektora parametri Rūpīgi pārdomājot loģistikas regresiju.

Raksta plāns:

  1. Atgādināsim par tiešo atkarību starp divām mainīgajām
  2. Noskaidrosim nepieciešamību pēc pārvēršanas lineārās regresijas funkcijas Rūpīgi pārdomājot loģistikas regresiju par loģistiskās reakcijas funkcijas Rūpīgi pārdomājot loģistikas regresiju
  3. Veiksim pārvēršanas un izstrādāsim loģistiskās reakcijas funkcijas
  4. Mēģināsim saprast, kādēļ vismazāko kvadrātu metode nav piemērota parametru pielāgošanai Rūpīgi pārdomājot loģistikas regresiju funkcijas Logistic Loss
  5. Izmantojam maksimālās iespējamības metode lai noteiktu parametru pielāgošanas funkcijas Rūpīgi pārdomājot loģistikas regresiju:

    5.1. Gadījums 1: funkcija Logistic Loss klasificējamiem objektiem 0 un 1:

    Rūpīgi pārdomājot loģistikas regresiju

    5.2. Gadījums 2: funkcija Logistic Loss klasificējamiem objektiem -1 un +1:

    Rūpīgi pārdomājot loģistikas regresiju


Raksts ir bagāts ar vienkāršiem piemēriem, kuros visus aprēķinus ir viegli veikt mutvārdu vai uz papīra, dažos gadījumos var būt nepieciešama kalkulatora ievietošanās. Tātad, sagatavojieties 🙂

Šis raksts ir galvenokārt paredzēts datu zinātniekiem ar pamatzināšanām par mašīnmācīšanās pamatiem.

Rakstā tiks sniegts arī kods grafiku uzzīmēšanai un aprēķiniem. Visi kodi ir rakstīti valodā python 2.7. Iepriekš paskaidrošu par izmantotās versijas "jaunumu" — tas ir viens no nosacījumiem, lai izietu slaveno kursu no Yandex kādā no pazīstamākajām tiešsaistes izglītības platformām Coursera, un, kā var nojaust, materiāls tika sagatavots, balstoties uz šo kursu.

01. Tiešā atkarība

Ir pilnīgi saprotami uzdot jautājumu — kāda sakara ir tiešajai atkarībai un loģistiskajai regresijai?

Viss ir vienkārši! Loģistiskā regresija ir viens no modeļiem, kas pieder pie lineārā klasifikatora. Vārdiem sakot, lineārā klasifikatora uzdevums ir prognozēt mērķa vērtības Rūpīgi pārdomājot loģistikas regresiju no mainīgajiem (regresoriem) Rūpīgi pārdomājot loģistikas regresiju. Pieņemot, ka attiecības starp pazīmēm Rūpīgi pārdomājot loģistikas regresiju un mērķa vērtībām Rūpīgi pārdomājot loģistikas regresiju ir lineāras. No šejienes, protams, radies klasifikatora nosaukums — lineārs. Ja ļoti rupji vispārināsim, loģistiskās regresijas modeļa pamatā ir pieņēmums par lineārajām attiecībām starp pazīmēm. Rūpīgi pārdomājot loģistikas regresiju un mērķa vērtībām Rūpīgi pārdomājot loģistikas regresijuŠeit ir tā — saistība.

Studijā ir pirmais piemērs, un tas, pareizi, ir par tiešu atkarību starp pētītajām vērtībām. Raksta sagatavošanas procesā es uzdūros piemēram, kas daudziem jau ir nogurdinošs — atkarība starp strāvu un spriegumu. («Pielietojamā regresijas analīze», N.Dreiperis, G.Smita). Šeit mēs to arī apsvērsim.

Saskaņā ar Oma likums:

Rūpīgi pārdomājot loģistikas regresiju, kur Rūpīgi pārdomājot loģistikas regresiju — strāva, Rūpīgi pārdomājot loģistikas regresiju — spriegums, Rūpīgi pārdomājot loģistikas regresiju — pretestība.

Ja mēs nezinātu Oma likumu, mēs varētu atrast atkarību empīriski, mainot Rūpīgi pārdomājot loģistikas regresiju un mērījot Rūpīgi pārdomājot loģistikas regresiju, saglabājot Rūpīgi pārdomājot loģistikas regresiju fiksētu. Tad mēs redzētu, ka atkarības grafiks Rūpīgi pārdomājot loģistikas regresiju no Rūpīgi pārdomājot loģistikas regresiju dod vairāk vai mazāk taisnu līniju, kas iet cauri koordinātu sākumam. Mēs teicām «vairāk vai mazāk», jo, lai arī atkarība faktiski ir precīza, mūsu mērījumiem var būt nelielas kļūdas, tāpēc punkti grafikā, iespējams, nesanāks stingri uz līnijas, bet būs izkaisīti ap to gadījuma kārtībā.

Grafiks 1 «Atkarība Rūpīgi pārdomājot loģistikas regresiju no Rūpīgi pārdomājot loģistikas regresiju»

Rūpīgi pārdomājot loģistikas regresiju

Grafika uzzī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 = 'Reālie rezultāti')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

02. Nepieciešamība pārvērst vienādojuma lineāro regresiju

Apskatīsim nākamo piemēru. Pieņemsim, ka strādājam bankā un mums ir uzdevums noteikt aizdevuma atgūšanas iespējamību aizņēmējam atkarībā no dažādiem faktoriem. Lai uzdevumu vienkāršotu, apskatīsim tikai divus faktorus: aizņēmēja mēneša algu un mēneša maksājumu par aizdevuma atmaksu.

Uzdevums ir ļoti nosacīts, bet šajā piemērā mēs varam saprast, kāpēc šī uzdevuma risināšanai nepietiek ar lineārās regresijas funkcijas, kā arī uzzināsim, kādas pārvēršanas ar funkciju ir jāveic.

Atgriežamies pie piemēra. Ir skaidrs, ka jo augstāka ir alga, jo vairāk aizņēmējs varēs mēnesī novirzīt uz kredīta dzēšanu. Tomēr noteiktā algu diapazonā šai atkarībai būs diezgan lineāra forma. Piemēram, ņemsim algu diapazonu no 60.000R līdz 200.000R un pieņemsim, ka šajā diapazonā atkarība starp mēneša maksājumu un algu ir lineāra. Pieņemsim, ka tika noskaidrots, ka attiecība starp algu un maksājumu nedrīkst būt mazāka par 3 un aizņēmējam ir jāpaliek vēl 5.000R. Tikai šajā gadījumā mēs uzskatīsim, ka aizņēmējs atgriezīs kredītu bankā. Tādējādi lineārās regresijas vienādojums ņems šādu formu:

Rūpīgi pārdomājot loģistikas regresiju

kur Rūpīgi pārdomājot loģistikas regresiju, Rūpīgi pārdomājot loģistikas regresiju, Rūpīgi pārdomājot loģistikas regresiju, Rūpīgi pārdomājot loģistikas regresiju — aizņēmēja alga, Rūpīgi pārdomājot loģistikas regresijuaizņēmēja maksājums Rūpīgi pārdomājot loģistikas regresiju — aizņēmēja maksājums. Rūpīgi pārdomājot loģistikas regresijuIevietojot vienādojumā algu un kredīta maksājumu ar fiksētām parametru vērtībām

var pieņemt lēmumu par kredīta piešķiršanu vai noraidīšanu. Rūpīgi pārdomājot loģistikas regresiju Pāragri atzīmēsim, ka, ņemot vērā dotos parametrus

lineārās regresijas funkcija Rūpīgi pārdomājot loģistikas regresiju , kas tiek pielietotaloģistiskās atbildes funkcijā , dos lielas vērtības, kas apgrūtinās kredīta atmaksas varbūtību aprēķinus. Tāpēc tiek piedāvāts samazināt mūsu koeficientus, teiksim, par 25.000 reizēm. No šīs transformācijas koeficientos lēmums par kredīta piešķiršanu nemainīsies. Atcerēsimies šo punktu nākotnē, bet šobrīd, lai būtu vēl skaidrāk, par ko ir runa, aplūkosim situāciju ar trim potenciālajiem aizņēmējiem. Tabula 1 „Potenciālie aizņēmēji”

Kods tabulas veidošanai

Rūpīgi pārdomājot loģistikas regresiju

import pandas as pdr = 25000.0 w_0 = -5000.0/r w_1 = 1.0/r w_2 = -3.0/rdata = {'Aizņēmējs':np.array(['Vasja', 'Fedja', 'Leša']), 'Alga':np.array([120000,180000,210000]), 'Maksājums':np.array([3000,50000,70000])}df = pd.DataFrame(data)df['f(w,x)'] = w_0 + df['Alga']*w_1 + df['Maksājums']*w_2decision = [] for i in df['f(w,x)']: if i > 0: dec = 'Apstiprināts' decision.append(dec) else: dec = 'Noraidīts' decision.append(dec) df['Lēmums'] = decisiondf[['Aizņēmējs', 'Alga', 'Maksājums', 'f(w,x)', 'Lēmums']]

Atbilstoši tabulas datiem, Vasja ar algu 120.000R vēlas saņemt tādu kredītu, lai ik mēnesi spētu to dzēst ar 3.000R. Mēs esam noteikuši, ka kredīta apstiprināšanai Vasja alga jāpārsniedz trīs reizes maksājuma apmēram, un, lai vēl paliktu 5.000R. Šim nosacījumam Vasja atbilst:

{ Rūpīgi pārdomājot loģistikas regresiju. Paliek pat 106.000R. Neskatoties uz to, ka mēs aprēķināšanā Rūpīgi pārdomājot loģistikas regresiju samazinājām koeficientus Rūpīgi pārdomājot loģistikas regresiju 25.000 reizes, rezultāts palika tas pats — kredīts var tikt apstiprināts. Fedja arī saņems kredītu, bet Lešam, neskatoties uz to, ka viņš pelna visvairāk, būs jāsaprot savas vēlmes.

Uzzīmēsim grafiku šādā gadījumā.

Grafiks 2 «Aizņēmēju klasifikācija»

Rūpīgi pārdomājot loģistikas regresiju

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 = 'Lēmums - Kredīta apstiprināšana')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'], 
         's', color = 'red', markersize = 12, label = 'Lēmums - Kredīta atteikšana')
plt.xlabel('Alga', size = 16)
plt.ylabel('Maksājums', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

Tātad, mūsu taisne, uzbūvēta saskaņā ar funkciju Rūpīgi pārdomājot loģistikas regresiju, atdala «sliktos» aizņēmējus no «labajiem». Aizņēmēji, kuru vēlmes nesakrīt ar iespējām, atrodas virs taisnes (Leša), bet tie, kuri spēj atbilstoši mūsu modeļa parametriem atmaksāt kredītu, atrodas zem taisnes (Vasja un Fedja). Citiem vārdiem sakot — mūsu taisne dala aizņēmējus divās klasēs. Apzīmēsim tās šādi: kā klase Rūpīgi pārdomājot loģistikas regresiju iekļausim tos aizņēmējus, kuri, visticamāk, atgriezīs kredītu, bet kā klase Rūpīgi pārdomājot loģistikas regresiju vai Rūpīgi pārdomājot loģistikas regresiju iekļausim tos aizņēmējus, kuri, visticamāk, nespēs atgriezt kredītu.

Generalizēsim secinājumus no šī vienkāršā piemēra. Ņemsim punktu Rūpīgi pārdomājot loģistikas regresiju un, aizvietojot punkta koordinātas attiecīgajā taisnes vienādojumā Rūpīgi pārdomājot loģistikas regresiju, izskatīsim trīs variantus:

  1. Ja punkts atrodas zem taisnes, un mēs to attiecinām uz klasi Rūpīgi pārdomājot loģistikas regresiju, tad funkcijas vērtība Rūpīgi pārdomājot loģistikas regresiju būs pozitīva no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju. Tātad mēs varam uzskatīt, ka kredīta izpildes varbūtība atrodas robežās Rūpīgi pārdomājot loģistikas regresiju. Jo lielāka ir funkcijas vērtība, jo augstāka ir varbūtība.
  2. Ja punkts atrodas virs taisnes un mēs to attiecinām uz klasi Rūpīgi pārdomājot loģistikas regresiju vai Rūpīgi pārdomājot loģistikas regresiju, tad funkcijas vērtība būs negatīva no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju. Tādā gadījumā mēs uzskatīsim, ka parādsaistību izpildes varbūtība atrodas robežās Rūpīgi pārdomājot loģistikas regresiju un, jo lielāka ir funkcijas vērtība pēc moduļa, jo lielāka ir mūsu pārliecība.
  3. Punkts atrodas uz taisnes, uz robežas starp abām klasēm. Šādā gadījumā funkcijas vērtība Rūpīgi pārdomājot loģistikas regresiju būs vienāda ar Rūpīgi pārdomājot loģistikas regresiju un kredīta izpildes varbūtība ir vienāda ar Rūpīgi pārdomājot loģistikas regresiju.

Tagad, iedomāsimies, ka mums nav divu faktoru, bet desmitiem, aizņēmēju nav trīs, bet tūkstošiem. Tad vietā taisnes mums būs m-mēra plakne un koeficienti Rūpīgi pārdomājot loģistikas regresiju mēs ņemsim ne no griestiem, bet izstrādāsim pēc visiem noteikumiem, balstoties uz uzkrātiem datiem par aizņēmējiem, kuri atgrieza vai neatgrieza kredītu. Un patiešām, ievērojiet, šobrīd mēs izvēlamies aizņēmējus, pamatojoties uz jau zināmiem koeficientiem Rūpīgi pārdomājot loģistikas regresiju. Patiesībā, loģistiskās regresijas modeļa uzdevums ir noteikt parametrus Rūpīgi pārdomājot loģistikas regresiju, pie kuriem zaudējumu funkcijas vērtība Logistic Loss tiks tendēta uz minimālo. Bet par to, kā tiek aprēķināts vektors Rūpīgi pārdomājot loģistikas regresiju, mēs vēl uzzināsim 5. nodaļā. Bet pagaidām atgriežamies solītajā zemē — pie mūsu bankiera un trim viņa klientiem.

Pateicoties funkcijai Rūpīgi pārdomājot loģistikas regresiju mēs zinām, kam var dot kredītu, bet kam ir jāatsakās. Bet ar šādu informāciju pie direktora iet nevar, jo mēs gribējām saņemt katra aizņēmēja atgriešanās iespējamību. Ko darīt? Atbilde ir vienkārša — mums ir jāizdara kaut kāda transformācija funkcijai Rūpīgi pārdomājot loģistikas regresiju, kuras vērtības atrodas diapazonā Rūpīgi pārdomājot loģistikas regresiju uz funkciju, kuras vērtības būs diapazonā Rūpīgi pārdomājot loģistikas regresiju. Un tāda funkcija pastāv, to sauc par loģistiskās atbildes funkciju vai apgrieztā-logit transformāciju. Iepazīstieties:

Rūpīgi pārdomājot loģistikas regresiju

Apskatīsim pa soli, kā iegūst loģistiskās atbildes funkciju. Piezīmēsim, ka mēs dosimies atpakaļ, t.i., mēs pieņemsim, ka zinām varbūtības vērtību, kas atrodas diapazonā no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju un tālāk mēs "izvēršam" šo vērtību uz visu skaitļu jomu no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju.

03. Izvada loģistiskās atbildes funkciju

Step 1. Pārvēršam varbūtību vērtības diapazonā Rūpīgi pārdomājot loģistikas regresiju

Transfomācijas funkcijas laikā Rūpīgi pārdomājot loģistikas regresiju par loģistiskās reakcijas funkcijas Rūpīgi pārdomājot loģistikas regresiju mēs atstās mūsu kredītu analītiķi mierā un tā vietā aplūkosim bukmeikeru kontus. Nē, protams, mēs neskatīsimies uz likmēm, viss, kas mūs tur interesē, ir izteikuma nozīme, piemēram, izredzes 4 pret 1. Izredzes, kas ir pazīstamas visiem, kas veic likmes, ir attiecība starp "panākumiem" un "nepanākumiem". Ievērojot varbūtības, izredzes ir notikuma iestāšanās varbūtība, dalīta ar to, ka notikums nenotiek. Pierakstīsim notikuma iestāšanās izredžu formulu Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju

, kur Rūpīgi pārdomājot loģistikas regresiju — notikuma iestāšanās varbūtība, Rūpīgi pārdomājot loģistikas regresiju — notikuma NE-iestāšanās varbūtība

Piemēram, ja varbūtība, ka jauns, stiprs un dzīvotspējīgs zirdziņš ar nosaukumu "Vēteris" apsteigs sacensībās veco un vājo vecenīti ar vārdu "Matilda", ir Rūpīgi pārdomājot loģistikas regresiju, tad veiksmes izredzes «Veterka» būs Rūpīgi pārdomājot loģistikas regresiju uz Rūpīgi pārdomājot loģistikas regresiju Rūpīgi pārdomājot loģistikas regresiju , un, zinot izredzes, nebūs grūti aprēķināt varbūtību Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju

Tādējādi mēs esam iemācījušies «tulkot» varbūtību izredzēs, kas pieņem vērtības no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju. Veiksim vēl vienu soli un iemācīsimies «tulkot» varbūtību visā skaitļu taisnē no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju.

Sol 2. Tulkosim varbūtības vērtības diapazonā Rūpīgi pārdomājot loģistikas regresiju

Šis solis ir ļoti vienkāršs – mēs paņemam logaritmu no izredzēm, pamatojoties uz Eilera skaitli Rūpīgi pārdomājot loģistikas regresiju un iegūsim:

Rūpīgi pārdomājot loģistikas regresiju

Tagad mēs zinām, ka ja Rūpīgi pārdomājot loģistikas regresiju, tad aprēķināt vērtību Rūpīgi pārdomājot loģistikas regresiju būs ļoti vienkārši un, turklāt, tādai jābūt pozitīvai: Rūpīgi pārdomājot loģistikas regresiju. Tā tam jābūt.

Savam ziņkārīgumam pārbaudīsim, ka ja Rūpīgi pārdomājot loģistikas regresiju, tad mēs gaidām redzēt negatīvu vērtību Rūpīgi pārdomājot loģistikas regresiju. Pārbaudām: Rūpīgi pārdomājot loģistikas regresiju. Viss ir pareizi.

Tagad mēs zinām, kā pārveidot varbūtības vērtību no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju uz visu skaitļu taisni no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju. Nākamajā solī darīsim visu pretēji.

Bet pagaidām, atzīmēsim, ka saskaņā ar logaritmēšanas noteikumiem, zinot funkcijas vērtību Rūpīgi pārdomājot loģistikas regresiju, var aprēķināt izredzes:

Rūpīgi pārdomājot loģistikas regresiju

Šī metode, kā noteikt izredzes, būs noderīga nākamajā solī.

Sol 3. Izveidosim formulu izredžu noteikšanai Rūpīgi pārdomājot loģistikas regresiju

Tātad, mēs esam iemācījušies, zinot Rūpīgi pārdomājot loģistikas regresiju, atrast funkcijas vērtības Rūpīgi pārdomājot loģistikas regresiju. Tomēr, patiesībā mums nepieciešams viss tieši pretēji – zinot vērtību Rūpīgi pārdomājot loģistikas regresiju atrast Rūpīgi pārdomājot loģistikas regresiju. Tādēļ mēs pievērsīsimies tādam konceptam kā izredžu inversā funkcija, saskaņā ar kuru:

Rūpīgi pārdomājot loģistikas regresiju

Šajā rakstā mēs neizstrādāsim iepriekš minēto formulu, bet pārbaudīsim ar cipariem no iepriekšējā piemēra. Mēs zinām, ka, ja izredzes ir 4 pret 1 (Rūpīgi pārdomājot loģistikas regresiju), tad notikuma varbūtība ir 0.8 (Rūpīgi pārdomājot loģistikas regresiju). Veiksim aizvietojumu: Rūpīgi pārdomājot loģistikas regresiju. Tas sakrīt ar mūsu iepriekšējiem aprēķiniem. Turpināsim.

Iepriekšējā solī mēs izstrādājām, ka Rūpīgi pārdomājot loģistikas regresiju, tādēļ mēs varam veikt aizvietojumu inversajā izredžu funkcijā. Iegūsim:

Rūpīgi pārdomājot loģistikas regresiju

Sadalīsim gan skaitītāju, gan saucēju uz Rūpīgi pārdomājot loģistikas regresiju, tad:

Rūpīgi pārdomājot loģistikas regresiju

Par katru gadījumu, lai pārliecinātos, ka mēs neesam kļūdījušies, veiksim vēl vienu nelielu pārbaudi. 2. solī mēs noteicām, ka Rūpīgi pārdomājot loģistikas regresiju . Tad, aizvietojot vērtību Rūpīgi pārdomājot loģistikas regresijuloģistiskās reakcijas funkcijā, mēs gaidām, ka iegūsim Rūpīgi pārdomājot loģistikas regresiju . Aizvietojam un iegūstam: Rūpīgi pārdomājot loģistikas regresijuApsveicu jūs, cienījamais lasītāj, mēs tikko izstrādājām un pārbaudījām loģistiskās reakcijas funkciju. Apskatīsim funkcijas grafiku. Rūpīgi pārdomājot loģistikas regresiju

Grafiks 3 «Loģistiskās reakcijas funkcija»

Grafiks 3 „Loģistiskās atbildes funkcija“

Rūpīgi pārdomājot loģistikas regresiju

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ā šo funkciju dažkārt sauc arī par sigmoidālo funkciju. No diagrammas skaidri redzams, ka galvenās izmaiņas objekta piederības klasei varbūtība notiek relatīvi šaurā diapazonā Rūpīgi pārdomājot loģistikas regresiju, aptuveni no Rūpīgi pārdomājot loģistikas regresiju līdz Rūpīgi pārdomājot loģistikas regresiju.

Piedāvāju atgriezties pie mūsu kredītu analītiķa un palīdzēt viņam aprēķināt kredītu atmaksas varbūtību, citādi viņš riskē palikt bez prēmijas 🙂

Tabula 2 "Potenciālie aizņēmēji"

Rūpīgi pārdomājot loģistikas regresiju

import pandas as pdr = 25000.0 w_0 = -5000.0/r w_1 = 1.0/r w_2 = -3.0/rdata = {'Aizņēmējs':np.array(['Vasja', 'Fedja', 'Leša']), 'Alga':np.array([120000,180000,210000]), 'Maksājums':np.array([3000,50000,70000])}df = pd.DataFrame(data)df['f(w,x)'] = w_0 + df['Alga']*w_1 + df['Maksājums']*w_2decision = [] for i in df['f(w,x)']: if i > 0: dec = 'Apstiprināts' decision.append(dec) else: dec = 'Noraidīts' decision.append(dec) df['Lēmums'] = decisiondf[['Aizņēmējs', 'Alga', 'Maksājums', 'f(w,x)', 'Lēmums']]

proba = []
for i in df['f(w,x)']:
    proba.append(round(logit(i),2))
    
df['Probability'] = proba

df[['Aizņēmējs', 'Alga', 'Maksājums', 'f(w,x)', 'Lēmums', 'Varbūtība']]

Tātad, mēs esam noteikuši kredīta atgriešanas varbūtību. Kopumā tas izskatās ticami.

Patiesi, varbūtība, ka Vāsa ar 120.000 R algu spēs katru mēnesi atdot bankā 3.000 R, ir tuvu 100%. Starp citu, mums jāizprot, ka banka var izsniegt kredītu arī Lešai, ja bankas politika paredz, piemēram, kredītu izsniegšanu klientiem ar kredīta atgriešanas varbūtību virs 0.3. Vienkārši šādā gadījumā banka veidos lielāku rezervi, lai segtu iespējamos zaudējumus.

Tāpat ir jāatzīmē, ka algas attiecība pret maksājumu nav mazāka par 3 un ar rezervi 5.000 R tika ņemta no gaisa. Tāpēc mēs nevarējām izmantot sākotnējo svaru vektoru Rūpīgi pārdomājot loģistikas regresiju. Mums bija nepieciešams ievērojami samazināt koeficientus, un šajā gadījumā mēs katru koeficientu dalījām ar 25.000, tādējādi, būtībā, mēs pielāgojām rezultātu. Bet tas tika darīts speciāli, lai atvieglotu materiāla sapratni sākumposmā. Reālajā dzīvē, mums nevajadzētu izdomāt un pielāgot koeficientus, bet gan atrast tos. Tieši nākamajās raksta daļās mēs izstrādāsim vienādojumus, ar kuru palīdzību tiek atlasīti parametri Rūpīgi pārdomājot loģistikas regresiju.

04. Mazāko kvadrātu metode svaru vektora noteikšanā Rūpīgi pārdomājot loģistikas regresiju loģistiskā atbildes funkcijā

Mums jau ir zināma šāda svaru vektora saskaņošanas metode Rūpīgi pārdomājot loģistikas regresiju, kā mazāko kvadrātu metode (MKM) un kāpēc gan mēs to neizmantotu binārās klasifikācijas uzdevumos? Patiesībā, nekas netraucē to izmantot MKM, tomēr šī pieeja klasifikācijas uzdevumos sniedz mazāk precīzus rezultātus nekā Logistic Loss. Tam ir teorētisks pamatojums. Sāksim ar vienkāršu piemēru.

Pieņemsim, ka mūsu modeļi (izmantojot MSE un Logistic Loss) jau ir uzsākuši svaru vektora meklēšanu Rūpīgi pārdomājot loģistikas regresiju un mēs esam apstādinājuši aprēķinu kādā posmā. Nav svarīgi, vai tā ir vidū, beigās vai sākumā, galvenais ir tas, ka mums jau ir daži svaru vektora vērtības un pieņemsim, ka šajā posmā svaru vektori Rūpīgi pārdomājot loģistikas regresiju abiem modeļiem nav atšķirību. Tādējādi ņemsim iegūtos svarus un ievietosim tos loģistiskās reakcijas funkcijas (Rūpīgi pārdomājot loģistikas regresiju) kādam objektam, kas pieder klasei Rūpīgi pārdomājot loģistikas regresiju. Izpētīsim divus gadījumus, kad atbilstoši izvēlētajam svaru vektoram mūsu modelis būtiski kļūdās un otrādi – modelis ir ļoti pārliecināts, ka objekts pieder klasei Rūpīgi pārdomājot loģistikas regresiju. Apskatīsim, kādi sodi tiks "izrakstīti" izmantojot MKM un Logistic Loss.

Kods sodu aprēķināšanai atkarībā no izmantotās zaudējumu 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

Grozījuma kļūdas gadījums – modelis klasificē objektu kā piederīgu klasei Rūpīgi pārdomājot loģistikas regresiju ar varbūtību 0,01

Sods, izmantojot MKM , būs:
Rūpīgi pārdomājot loģistikas regresiju

Sods, izmantojot Logistic Loss , būs:
Rūpīgi pārdomājot loģistikas regresiju

Skaidras pārliecības gadījums – modelis klasificē objektu kā piederīgu klasei Rūpīgi pārdomājot loģistikas regresiju ar varbūtību 0,99

Sods, izmantojot MKM , būs:
Rūpīgi pārdomājot loģistikas regresiju

Sods, izmantojot Logistic Loss , būs:
Rūpīgi pārdomājot loģistikas regresiju

Šis piemērs labi ilustrē, ka pie rupjām kļūdām zaudējumu funkcija Log Loss soda modeli ievērojami spēcīgāk nekā MSE. Tagad izskatīsim teorētiskās priekšnoteikumu izmantošanas saistībā ar zaudējumu funkciju Log Loss klasifikācijas uzdevumos.

05. Maksimālās varbūtības metode un loģistiskā regresija

Kā tika solīts sākumā, raksts ir bagātināts ar vienkāršiem piemēriem. Studijā jauns piemērs un vecie viesi – bankas aizņēmēji: Vaša, Fēda un Leša.

Pirms attīstām piemēru, atgādināšu, ka reālajā dzīvē mēs saskaramies ar apmācību datu kopu no tūkstošiem vai miljoniem objektu ar desmitiem vai simtiem pazīmju. Tomēr šeit skaitļi ir ņemti tā, lai tie viegli iederētos sākuma datu zinātnieka prātā.

Atgriežamies pie piemēra. Iedomāsimies, ka bankas direktors nolēma izsniegt kredītu visiem, kam tas nepieciešams, neskatoties uz to, ka algoritms ieteica to neizsniegt Lešam. Un tā ir pagājusi pietiekami ilga laika, un mēs uzzinājām, kurš no trim varoņiem atgrieza kredītu, bet kurš ne. Kā arī bija gaidāms: Vasilijs un Fēlijs atgrieza kredītu, bet Leša - nē. Tagad iedomāsimies, ka šis rezultāts būs mums jauna mācību datu izlase, un, pie tam, kā būtu izzuduši visi dati par faktoriem, kas ietekmē kredīta atgriešanas iespēju (aizņēmēja alga, ikmēneša maksājuma apmērs). Tādējādi intuitīvi mēs varam uzskatīt, ka katrs trešais aizņēmējs neatzīst kredītu bankā, vai citiem vārdiem sakot, kredīta atgriešanas varbūtība nākamajam aizņēmējam Rūpīgi pārdomājot loģistikas regresiju. Šim intuitīvajam pieņēmumam ir teorētisks apstiprinājums un tas balstās uz maksimālās varbūtības metodi, ko bieži literatūrā sauc par maksimālās varbūtības principu.

Sāksim ar jēdzienu izpēti.

Paraugu varbūtība — tā ir varbūtība, ka tiek iegūts tieši tāds paraugs, tieši tādi novērojumi / rezultāti, t.i., visu varbūtību reizinājums attiecībā uz katru no parauga rezultātiem (piemēram, kredīts, ko atgriež Vasilijs, Fēlijs un Leša vienlaikus).

Varbūtības funkcija saista parauga varbūtību ar sadalījuma parametru vērtībām.

Mūsu gadījumā mācību izlase ir vispārināta Bernuļa shēma, kurā nejaušā lieluma pieņem tikai divas vērtības: Rūpīgi pārdomājot loģistikas regresiju vai Rūpīgi pārdomājot loģistikas regresiju. Tāpēc parauga varbūtību var izteikt kā varbūtības funkciju attiecībā uz parametru Rūpīgi pārdomājot loģistikas regresiju šeit:

Rūpīgi pārdomājot loģistikas regresiju
Rūpīgi pārdomājot loģistikas regresiju

Augstāk minētā ieraksta var interpretēt šādi. Kopējā varbūtība, ka Vasilijs un Fēlijs atgriezīs kredītu, ir Rūpīgi pārdomājot loģistikas regresiju, varbūtība, ka Leša NEatgriezīs kredītu, ir Rūpīgi pārdomājot loģistikas regresiju (jo patiešām norisinājās tieši NEatgriešana), tāpēc visu triju notikumu kopējā varbūtība ir Rūpīgi pārdomājot loģistikas regresiju.

Maksimālās varbūtības metode — tā ir nezināma parametra novērtēšanas metode, maksimizējot varbūtības funkciju. Mūsu gadījumā ir jāatrod tāda vērtība Rūpīgi pārdomājot loģistikas regresiju, pie kuras Rūpīgi pārdomājot loģistikas regresiju sasniedz maksimumu.

No no tā ideja – meklēt nezināmā parametra vērtību, pie kuras maksimālizējas varbūtības funkcija? Idejas saknes izriet no uzskata, ka izlase ir vienīgais pieejamais zināšanu avots par populāciju. Viss, ko mēs zinām par populāciju, ir atspoguļots izlasē. Tāpēc viss, ko mēs varam teikt, ir tas, ka izlase ir visprecīzākais populācijas atspoguļojums, kas mums pieejams. Tādējādi mums ir jāatrod tāds parametrs, pie kura esošā izlase kļūst visvarbūtīgāka.

Acīmredzot, mēs saskaramies ar optimizācijas uzdevumu, kurā ir jāatrod funkcijas ekstrema punkts. Lai atrastu ekstrema punktu, ir jāizskata pirmā kārtas nosacījums, proti, jāvienādina funkcijas atvasinājums ar nulli un jāatrisina vienādojums attiecībā uz meklējamo parametru. Tomēr meklējumi, kas saistīti ar atvasinājuma atrašanu daudzu faktoru reizinājuma kontekstā, var būt ilga, tālab, lai to izvairītos, pastāv īpaša pieeja — pāreja pie logaritma. varbūtības funkciju. Kāpēc šāda pāreja ir iespējama? Pievērsīsim uzmanību tam, ka mēs meklējam nevis pašu funkcijas ekstrema.Rūpīgi pārdomājot loģistikas regresiju, bet gan ekstrema punktu, proti, to nezināmā parametra vērtību. Rūpīgi pārdomājot loģistikas regresiju, pie kuras Rūpīgi pārdomājot loģistikas regresiju kas sasniedz maksimumu. Pārejot pie logaritma, ekstrema punkts nemainās (lai arī pats ekstrema var atšķirties), jo logaritms ir monotoniska funkcija.

Pamatojoties uz iepriekšminēto, turpināsim attīstīt mūsu piemēru ar kredītiem pie Vasi, Fēda un Lejas. Sāksim ar logaritma pāreju uz varbūtības funkciju.:

Rūpīgi pārdomājot loģistikas regresiju

Tagad mēs varam viegli izdarīt atvasinājumu attiecībā uz Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju

Un visbeidzot, apskatīsim pirmā kārtas nosacījumu — vienādīsim funkcijas atvasinājumu ar nulli:

Rūpīgi pārdomājot loģistikas regresiju

Tādējādi mūsu intuitīvā novērtējuma par kredīta atmaksas varbūtību Rūpīgi pārdomājot loģistikas regresiju bija teorētiski pamatota.

Lieliski, bet ko mums tagad darīt ar šādu informāciju? Ja mēs uzskatīsim, ka katrs trešais aizņēmējs neatdos naudu bankai, tad pēdējais neizbēgami bankrotēs. Tā tas ir, taču, izmantojot kredīta atmaksas varbūtības novērtējumu, kas ir vienāds ar Rūpīgi pārdomājot loģistikas regresiju Mēs neesam ņēmuši vērā faktorus, kas ietekmē kredīta atmaksu: aizņēmēja alga un ikmēneša maksājuma apmērs. Atcerēsimies, ka iepriekš mēs aprēķinājām katra klienta kredīta atmaksas varbūtību, ņemot vērā šos faktorus. Ir loģiski, ka mūsu varbūtības izgaismojas savādāk nekā konstanta vērtība, Rūpīgi pārdomājot loģistikas regresiju.

Definēsim paraugļu ticamību:

Kods paraugļu ticamības aprēķiniem

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 'Parauga ticamība pie konstanta p=2/3:', round(likelihood(y,p_const),3)

print '****************************************************************************************************'

print 'Parauga ticamība pie aprēķināta p vērtības:', round(likelihood(y,p_log_response),3)

Parauga ticamība pie konstanta vērtības Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju

Parauga ticamība, aprēķinot kredīta atmaksas varbūtību, ņemot vērā faktorus Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju
Rūpīgi pārdomājot loģistikas regresiju

Parauga ticamība ar varbūtību, kas aprēķināta atbilstoši faktoriem, izrādījās augstāka nekā ticamība pie konstantas varbūtības vērtības. Ko tas nozīmē? Tas nozīmē, ka zināšanas par faktoriem ļāva precīzāk noteikt kredīta atmaksas varbūtību katram klientam. Tāpēc, izsniedzot nākamo kredītu, pareizāk būtu izmantot modeli, kas piedāvāts 3. nodaļas beigās, lai novērtētu parādsaistību atmaksas varbūtību.

Bet tad, ja mums ir jāmaksimizē parauga ticamības funkcija, tad kāpēc neizmantot kādu algoritmu, kas dos varbūtības Vasijai, Fedijai un Lešai, piemēram, 0.99, 0.99 un 0.01 attiecīgi. Iespējams, šāds algoritms labi rādīs rezultātus mācību paraugā, jo tuvinās parauga ticamības vērtību. Rūpīgi pārdomājot loģistikas regresiju, bet, vispirms, šādam algoritmam, visticamāk, būtu grūtības ar vispārināšanas spēju, otrkārt, šis algoritms noteikti nebūs lineārs. Un, ja metodes, kā cīnīties ar pārmācīšanos (t.i., vāja vispārināšanas spēja) acīmredzami nav šī raksta plānā, tad par otro punktu ļaujiet mums runāt sīkāk. Tam ir pietiekami atbildēt uz vienkāršu jautājumu. Vai varbūtība, ka kredītu atmaksās Vasiņš un Fēliks, var būt vienāda ņemot vērā mums zināmos faktorus? Veselā saprāta skatījumā, protams, nē, tas nav iespējams. Tātad kredīta atmaksai Vasiņš mēnesī atdos 2.5% no savas algas, bet Fēliks — gandrīz 27,8%. Arī 2. grafikā “Klientu klasifikācija” mēs redzam, ka Vasiņš ir ievērojami tālāk no līnijas, kas šķir klasus, nekā Fēliks. Un visbeidzot, mēs zinām, ka funkcija Rūpīgi pārdomājot loģistikas regresiju Vasiņam un Fēlikam pieņem dažādas vērtības: 4.24 Vasiņam un 1.0 Fēlikam. Ja, piemēram, Fēliks pelnītu daudz vairāk vai lūgtu mazāku kredītu, tad kredīta atmaksāšanas varbūtības Vasiņam un Fēlikam būtu līdzīgas. Citiem vārdiem sakot, lineāro atkarību nevar apmānīt. Un, ja mēs tiešām aprēķinātu koeficientus Rūpīgi pārdomājot loģistikas regresiju, nevis ņemtu tos no gaisa, tad varētu droši apgalvot, ka mūsu vērtības Rūpīgi pārdomājot loģistikas regresiju vislabāk novērtē kredīta atmaksāšanas varbūtību katram aizņēmējam, taču, tā kā mēs vienojāmies uzskatīt, ka koeficientu noteikšana Rūpīgi pārdomājot loģistikas regresiju tika veikta saskaņā ar visām prasībām, tad mēs tā arī uzskatīsim — mūsu koeficienti ļauj sniegt labāku novērtējumu par varbūtību 🙂

Tomēr mēs novirzījāmies no tēmas. Šajā nodaļā mums jāizpēta, kā tiek noteikts svaru vektors Rūpīgi pārdomājot loģistikas regresiju, kas nepieciešams, lai novērtētu katra aizņēmēja kredīta atgriešanas varbūtību.

Īsi rezumējot, ar kādu arsenālu mēs dodamies meklēt koeficientus Rūpīgi pārdomājot loģistikas regresiju:

1. Mēs pieņemam, ka atkarība starp mērķa mainīgo (prognozējamā vērtība) un faktoru, kas ietekmē rezultātu, ir lineāra. Šī iemesla dēļ tiek izmantots , kas tiek pielietota veids Rūpīgi pārdomājot loģistikas regresiju, kuras līnija dalīja objektus (klientus) klasēs Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju vai Rūpīgi pārdomājot loģistikas regresiju (klienti, kas spēj atmaksāt kredītu, un ne spēj). Mūsu gadījumā vienādojumam ir šāda forma Rūpīgi pārdomājot loģistikas regresiju.

2. Mēs izmantojam atgriezeniskās logita transformācijas funkciju veids Rūpīgi pārdomājot loģistikas regresiju lai noteiktu varbūtību, ka objekts pieder pie klases Rūpīgi pārdomājot loģistikas regresiju.

3. Mēs apsveram mūsu mācību paraugu kā ģeneralizētā Bernoulli shēmas, tas ir, katram objektam tiek ģenerēta nejauša mainīgā lieluma vērtība, kura ar iespējamību Rūpīgi pārdomājot loģistikas regresiju (katram objektam tā ir sava) pieņem vērtību 1 un ar iespējamību Rūpīgi pārdomājot loģistikas regresiju – 0.

4. Mēs zinām, ka mums ir jāmaksimizē parauga ticamības funkcija ņemot vērā pieņemtos faktorus, lai esošā izlase būtu vispārliecinošākā. Citiem vārdiem sakot, mums jāizvēlas tādi parametri, pie kuriem izlase būs vispārliecinošākā. Mūsu gadījumā izvēlētais parameters ir kredīta dzēšanas iespējamība Rūpīgi pārdomājot loģistikas regresiju, kas savukārt ir atkarīga no nezināmiem koeficientiem Rūpīgi pārdomājot loģistikas regresiju. Tādējādi mums ir jāatrod tāds svaru vektors Rūpīgi pārdomājot loģistikas regresiju, pie kā izlases iespējamība būs maksimāla.

5. Mēs zinām, ka, lai maksimizētu izlases iespējamības funkciju var izmantot maksimālās iespējamības metode. Un mēs zinām visus gudros paņēmienus, kā strādāt ar šo metodi.

Tāda daudzsolīga situācija sanāk 🙂

Un tagad atcerēsimies, ka raksta sākumā mēs vēlējāmies izvest divus zaudējumu funkciju veidus Logistic Loss atkarībā no tā, kā tiek apzīmēti objektu klasīši. Ir ierasts, ka klasifikācijas uzdevumos ar divām klasēm, klases tiek apzīmētas kā Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju vai Rūpīgi pārdomājot loģistikas regresiju. Atkarībā no apzīmējuma, izejā būs atbilstošā zaudējumu funkcija.

Gadījums 1. Objektu klasifikācija uz Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju

Iepriekš, nosakot izlases iespējamību, kurā kredīta dzēšanas iespējamība tika aprēķināta, pamatojoties uz faktoriem un dotajiem koeficientiem Rūpīgi pārdomājot loģistikas regresiju, mēs izmantojām formulu:

Rūpīgi pārdomājot loģistikas regresiju

Patiesībā Rūpīgi pārdomājot loģistikas regresiju — tā ir loģistiskās atbildes funkcijas vērtība Rūpīgi pārdomājot loģistikas regresiju dotajā svaru vektorā Rūpīgi pārdomājot loģistikas regresiju

Tad nekas mūs neattur reģistrēt izlases iespējamības funkciju šādi:

Rūpīgi pārdomājot loģistikas regresiju

Ir gadījumi, kad dažiem jaunajiem analītiķiem ir grūti uzreiz saprast, kā šī funkcija darbojas. Apskatīsim 4 īsus piemērus, kas viss izskaidros:

1. Ja Rūpīgi pārdomājot loģistikas regresiju (t.i., atbilstoši mācību izlasei objekts pieder klasei +1), un mūsu algoritms Rūpīgi pārdomājot loģistikas regresiju nosaka objekta piederības iespējamību klasei Rūpīgi pārdomājot loģistikas regresiju kas ir 0.9, tad šī izlases iespējamības daļa tiks aprēķināta šādi:

Rūpīgi pārdomājot loģistikas regresiju

2. Ja Rūpīgi pārdomājot loģistikas regresiju, bet Rūpīgi pārdomājot loģistikas regresiju, tad aprēķins būs šāds:

Rūpīgi pārdomājot loģistikas regresiju

3. Ja Rūpīgi pārdomājot loģistikas regresiju, bet Rūpīgi pārdomājot loģistikas regresiju, tad aprēķins būs šāds:

Rūpīgi pārdomājot loģistikas regresiju

4. Ja Rūpīgi pārdomājot loģistikas regresiju, bet Rūpīgi pārdomājot loģistikas regresiju, tad aprēķins būs šāds:

Rūpīgi pārdomājot loģistikas regresiju

Acīmredzot izlases iespējamības funkcija tiks maksimizēta gadījumos 1 un 3 vai vispārīgā gadījumā — pie pareizi uzminētām objekta piederības iespējamībām klasei Rūpīgi pārdomājot loģistikas regresiju.

Tā kā pie iespējamības noteikšanas, ka objekts pieder klasei Rūpīgi pārdomājot loģistikas regresiju mums nav zināmi tikai koeficienti Rūpīgi pārdomājot loģistikas regresiju, tāpēc mēs tos arī meklēsim. Kā tika minēts iepriekš, tas ir optimizācijas uzdevums, kuram vispirms mums ir nepieciešams atrast funkcijas ticamības atvasinājumu pēc svaru vektora Rūpīgi pārdomājot loģistikas regresiju. Tomēr pirms tam ir jēga atvieglot uzdevumu: atvasinājumu meklēsim no logaritma varbūtības funkciju.

Rūpīgi pārdomājot loģistikas regresiju

Kāpēc pēc logaritmēšanas, loģistiskās kļūdas funkcijā, mēs nomainījām zīmi uz Rūpīgi pārdomājot loģistikas regresiju uz Rūpīgi pārdomājot loģistikas regresiju. Viss ir vienkārši, jo modeļa kvalitātes novērtēšanas uzdevumos parasti tiek minimizēta funkcijas vērtība, tāpēc mēs reizinājām izteiksmes labo pusi ar Rūpīgi pārdomājot loģistikas regresiju un attiecīgi, tagad mēs minimizējam funkciju, nevis maksimizējam.

Faktiski, šobrīd, priekšā jūsu acīm, tika ilgstoši izveidota zaudējumu funkcija — Logistic Loss mācību datu kopa ar divām klasēm: Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju.

Tagad, lai atrastu koeficientus, mums tikai jāatrod atvasinājums loģistiskās kļūdas funkcijā un pēc tam, izmantojot skaitliskās optimizācijas metodes, piemēram, gradienta nolaišanos vai stohastisko gradienta nolaišanos, jāizvēlas visoptimālākie koeficienti Rūpīgi pārdomājot loģistikas regresiju. Taču ņemot vērā, ka raksts jau ir samērā garš, tiek ieteikts veikt diferencēšanu pašam vai varbūt tas būs nākamā raksta tēma ar daudz matemātikas un bez tik detalizētiem piemēriem.

Gadījums 2. Objektu klasifikācija Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju

Pieeja būs tāda pati kā ar klasēm Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju, bet pati ceļš uz zaudējumu funkcijas izrēķināšanu Logistic Loss, būs sarežģītāks. Sāksim. Mēs izmantosim operatoru „ja..., tad...”. Proti, ja Rūpīgi pārdomājot loģistikas regresiju-ais objekts pieder klasei Rūpīgi pārdomājot loģistikas regresiju, tad, lai aprēķinātu izlases ticamību, izmantojam varbūtību Rūpīgi pārdomājot loģistikas regresiju, ja objekts pieder klasei Rūpīgi pārdomājot loģistikas regresiju, tad ticamībā ievietojam Rūpīgi pārdomājot loģistikas regresiju. Šādi izskatās ticamības funkcija:

Rūpīgi pārdomājot loģistikas regresiju

Ieskicēsim, kā tas darbojas. Apskatīsim 4 gadījumus:

1. Ja Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju, tad ticamības izlasei „nāks” Rūpīgi pārdomājot loģistikas regresiju

2. Ja Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju, tad ticamības izlasei „nāks” Rūpīgi pārdomājot loģistikas regresiju

3. Ja Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju, tad ticamības izlasei „nāks” Rūpīgi pārdomājot loģistikas regresiju

4. Ja Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju, tad ticamības izlasei „nāks” Rūpīgi pārdomājot loģistikas regresiju

Acīmredzami, ka 1. un 3. gadījumā, kad varbūtības tika pareizi noteiktas ar algoritmu, ticamības funkcija tiks maksimizēta, tātad tieši to mēs vēlējāmies iegūt. Tomēr šāda pieeja ir diezgan smagnēja un tālāk mēs izskatīsim kompaktāku pierakstu. Bet sākumā, logaritmēsim ticamības funkciju, aizvietojot zīmi, jo tagad mēs to minimizēsim.

Rūpīgi pārdomājot loģistikas regresiju

Ievietosim vietā Rūpīgi pārdomājot loģistikas regresiju izteiksmi Rūpīgi pārdomājot loģistikas regresiju:

Rūpīgi pārdomājot loģistikas regresiju

Vienkāršosim logaritma labo papildinājumu, izmantojot vienkāršas aritmētiskas metodes, un iegūsim:

Rūpīgi pārdomājot loģistikas regresiju

Tagad ir pienācis laiks atbrīvoties no operators „ja..., tad...”. Pamanām, ka, kad objekts Rūpīgi pārdomājot loģistikas regresiju pieder klasei Rūpīgi pārdomājot loģistikas regresiju, tad izteiksmē zem logaritma, saucējā, Rūpīgi pārdomājot loģistikas regresiju tiek paaugstināts pakāpē Rūpīgi pārdomājot loģistikas regresiju, ja objekts pieder klasei Rūpīgi pārdomājot loģistikas regresiju, tad $e$ tiek paaugstināts pakāpē Rūpīgi pārdomājot loģistikas regresiju. Tādējādi pakāpes ierakstu var vienkāršot — apvienojot abus gadījumus vienā: Rūpīgi pārdomājot loģistikas regresiju. Tādējādi loģistiskās kļūdas funkcija iegūst šādu formu:

Rūpīgi pārdomājot loģistikas regresiju

Saskaņā ar logaritmēšanas noteikumiem, apgriezīsim daļu un iznesīsim zīmi "Rūpīgi pārdomājot loģistikas regresiju" (mīnuss) ārā no logaritma, iegūstot:

Rūpīgi pārdomājot loģistikas regresiju

Jums priekšā ir zaudējumu funkcija logistic Loss, kas tiek pielietota mācību paraugā ar objektiem, kas pieder klasēm: Rūpīgi pārdomājot loģistikas regresiju un Rūpīgi pārdomājot loģistikas regresiju.

Nu, šajā brīdī es atvados un mēs noslēdzam rakstu.

Rūpīgi pārdomājot loģistikas regresiju Iepriekšējais autora darbs — "Pārvēršam lineārās regresijas vienādojumu matricas formā"

Palīgmateriāli

1. Literatūra

1) Lietišķā regresijas analīze / N. Dreiperis, G. Smits – 2. izdevums – M.: Finanses un statistika, 1986 (tulkojums no angļu valodas)

2) Iespēju teorija un matemātiskā statistika / V.E. Gmurmans — 9. izdevums — M.: Augstskola, 2003

3) Iespēju teorija / N.I. Černova — Novosibirska: Novosibirskas valsts universitāte, 2007

4) Biznesa analītika: no datiem uz zināšanām / Paklins N. B., Orekhovs V. I. — 2. izdevums — Sanktpēterburga: Piter, 2013

5) Data Science – Datu zinātne no nulles / Džoels Grāss — Sanktpēterburga: BHV Pēterburga, 2017

6) Praktiskā statistika datu zinātniekiem / P. Brūss, E. Brūss — Sanktpēterburga: BHV Pēterburga, 2018

2. Lekcijas, kursi (video)

1) Maksimālās varbūtības metode, Boris Demeševs

2) Maksimālās varbūtības metode nepārtrauktā gadījumā, Boris Demeševs

3) Loģistiskā regresija. Atvērtais kurss ODS, Jūrijs Kašnitskis

4) Lekcija 4, Jevgeņijs Sokolovs (sākot no 47. minūtes video)

5) Loģistiskā regresija, Viaceslavs Voroncovs

3. Interneta avoti

1) Līnijas klasifikācijas un regresijas modeļi

2) Kā viegli saprast loģistisko regresiju

3) Loģistiskās kļūdas funkcija

4) Neatkarīgie eksperimenti un Bernu formulu

5) Balāde par MMP

6) Maksimālās varbūtības metode

7) Logaritmu formulas un īpašības

8) Kāpēc skaitlis Rūpīgi pārdomājot loģistikas regresiju?

9) Līnijveida klasifikators

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster