Ngumunguya sa logistic regression

Ngumunguya sa logistic regression

Sa artikulong ito, susuriin natin ang mga teoretikal na kalkulasyon ng pagbabagong-anyo mga function ng linear regression Π² inverse logit transformation function (kung hindi man ay tinatawag na logistic response function). Pagkatapos, gamit ang arsenal maximum na paraan ng posibilidad, alinsunod sa modelo ng logistic regression, nakukuha namin ang function ng pagkawala Pagkawala ng Logistic, o sa madaling salita, tutukuyin namin ang isang function kung saan ang mga parameter ng weight vector ay pinili sa modelo ng logistic regression Ngumunguya sa logistic regression.

Balangkas ng artikulo:

  1. Ulitin natin ang linear na relasyon sa pagitan ng dalawang variable
  2. Tukuyin natin ang pangangailangan para sa pagbabago mga function ng linear regression Ngumunguya sa logistic regression Π² pag-andar ng pagtugon sa logistik Ngumunguya sa logistic regression
  3. Isagawa natin ang mga pagbabago at output pag-andar ng pagtugon sa logistik
  4. Subukan nating maunawaan kung bakit masama ang paraan ng least squares kapag pumipili ng mga parameter Ngumunguya sa logistic regression Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Pagkawala ng Logistic
  5. Gumamit maximum na paraan ng posibilidad para sa pagtukoy mga function ng pagpili ng parameter Ngumunguya sa logistic regression:

    5.1. Kaso 1: function Pagkawala ng Logistic para sa mga bagay na may mga pagtatalaga ng klase 0 ΠΈ 1:

    Ngumunguya sa logistic regression

    5.2. Kaso 2: function Pagkawala ng Logistic para sa mga bagay na may mga pagtatalaga ng klase -1 ΠΈ +1:

    Ngumunguya sa logistic regression


Ang artikulo ay puno ng mga simpleng halimbawa kung saan ang lahat ng mga kalkulasyon ay madaling gawin nang pasalita o sa papel; sa ilang mga kaso, maaaring kailanganin ang isang calculator. Kaya humanda ka :)

Ang artikulong ito ay pangunahing inilaan para sa mga data scientist na may paunang antas ng kaalaman sa mga pangunahing kaalaman sa machine learning.

Magbibigay din ang artikulo ng code para sa pagguhit ng mga graph at kalkulasyon. Ang lahat ng code ay nakasulat sa wika sawa 2.7. Hayaan akong ipaliwanag nang maaga ang tungkol sa "bagong-bago" ng bersyon na ginamit - ito ay isa sa mga kondisyon para sa pagkuha ng kilalang kurso mula sa Yandex sa isang pantay na kilalang online na platform ng edukasyon Coursera, at, gaya ng maaaring ipalagay, ang materyal ay inihanda batay sa kursong ito.

01. Straight-line dependence

Medyo makatwirang magtanong - ano ang kinalaman dito ng linear dependence at logistic regression?

Ito ay simple! Ang logistic regression ay isa sa mga modelong kabilang sa linear classifier. Sa simpleng salita, ang gawain ng isang linear classifier ay hulaan ang mga target na halaga Ngumunguya sa logistic regression mula sa mga variable (regressors) Ngumunguya sa logistic regression. Ito ay pinaniniwalaan na ang pagtitiwala sa pagitan ng mga katangian Ngumunguya sa logistic regression at mga target na halaga Ngumunguya sa logistic regression linear. Samakatuwid ang pangalan ng classifier - linear. Upang ilagay ito nang halos halos, ang modelo ng logistic regression ay batay sa pagpapalagay na mayroong isang linear na relasyon sa pagitan ng mga katangian. Ngumunguya sa logistic regression at mga target na halaga Ngumunguya sa logistic regression. Ito ang koneksyon.

Mayroong unang halimbawa sa studio, at ito ay, tama, tungkol sa rectilinear dependence ng mga dami na pinag-aaralan. Sa proseso ng paghahanda ng artikulo, nakatagpo ako ng isang halimbawa na nagtakda na ng maraming tao sa gilid - ang pag-asa ng kasalukuyang sa boltahe (β€œApplied regression analysis”, N. Draper, G. Smith). Titingnan din natin dito.

Ayon sa Batas ng Ohm:

Ngumunguya sa logistic regressionSaan Ngumunguya sa logistic regression - kasalukuyang lakas, Ngumunguya sa logistic regression - Boltahe, Ngumunguya sa logistic regression - paglaban.

Kung hindi natin alam Batas ni Ohm, pagkatapos ay mahahanap natin ang pagdepende sa empirically sa pamamagitan ng pagbabago Ngumunguya sa logistic regression at pagsukat Ngumunguya sa logistic regression, habang sumusuporta Ngumunguya sa logistic regression nakapirming. Pagkatapos ay makikita natin na ang dependence graph Ngumunguya sa logistic regression mula sa Ngumunguya sa logistic regression nagbibigay ng higit o mas kaunting tuwid na linya sa pamamagitan ng pinagmulan. Sinasabi namin ang "higit pa o mas kaunti" dahil, bagama't ang relasyon ay aktwal na tumpak, ang aming mga sukat ay maaaring maglaman ng maliliit na error, at samakatuwid ang mga punto sa graph ay maaaring hindi eksaktong mahulog sa linya, ngunit magkakalat sa paligid nito nang random.

Graph 1 "Pag-asa" Ngumunguya sa logistic regression mula sa Ngumunguya sa logistic regressionΒ»

Ngumunguya sa logistic regression

Code ng pagguhit ng tsart

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. Ang pangangailangang baguhin ang linear regression equation

Tingnan natin ang isa pang halimbawa. Isipin natin na nagtatrabaho tayo sa isang bangko at ang ating gawain ay tukuyin ang posibilidad na mabayaran ng nanghihiram ang utang depende sa ilang mga kadahilanan. Upang pasimplehin ang gawain, isasaalang-alang lamang namin ang dalawang salik: ang buwanang suweldo ng nanghihiram at ang buwanang halaga ng pagbabayad ng utang.

Ang gawain ay napaka-kondisyon, ngunit sa halimbawang ito ay mauunawaan natin kung bakit hindi ito sapat na gamitin mga function ng linear regression, at alamin din kung anong mga pagbabagong may function ang kailangang isagawa.

Bumalik tayo sa halimbawa. Nauunawaan na kung mas mataas ang suweldo, mas maraming buwanang makakapaglaan ang nanghihiram para mabayaran ang utang. Kasabay nito, para sa isang tiyak na hanay ng suweldo ang relasyon na ito ay magiging medyo linear. Halimbawa, kumuha tayo ng saklaw ng suweldo mula 60.000 RUR hanggang 200.000 RUR at ipagpalagay na sa tinukoy na hanay ng suweldo, ang pag-asa sa laki ng buwanang pagbabayad sa laki ng suweldo ay linear. Sabihin natin na para sa tinukoy na hanay ng mga sahod ay inihayag na ang ratio ng suweldo-sa-bayad ay hindi maaaring mahulog sa ibaba 3 at ang nanghihiram ay dapat na mayroon pa ring 5.000 RUR na reserba. At sa kasong ito lamang, ipagpalagay natin na babayaran ng nanghihiram ang utang sa bangko. Pagkatapos, ang linear regression equation ay kukuha ng form:

Ngumunguya sa logistic regression

saan Ngumunguya sa logistic regression, Ngumunguya sa logistic regression, Ngumunguya sa logistic regression, Ngumunguya sa logistic regression - suweldo Ngumunguya sa logistic regression-ang nanghihiram, Ngumunguya sa logistic regression - pagbabayad ng utang Ngumunguya sa logistic regression-ang nanghihiram.

Ang pagpapalit ng suweldo at pagbabayad ng utang na may mga nakapirming parameter sa equation Ngumunguya sa logistic regression Maaari kang magpasya kung mag-isyu o tanggihan ang isang pautang.

Sa hinaharap, tandaan namin na, kasama ang ibinigay na mga parameter Ngumunguya sa logistic regression linear regression function, ginamit sa mga function ng pagtugon sa logistik gagawa ng malalaking halaga na magpapalubha sa mga kalkulasyon upang matukoy ang mga probabilidad ng pagbabayad ng utang. Samakatuwid, iminungkahi na bawasan ang ating mga coefficient, sabihin natin, ng 25.000 beses. Ang pagbabagong ito sa mga coefficient ay hindi magbabago sa desisyon na mag-isyu ng pautang. Tandaan natin ang puntong ito para sa hinaharap, ngunit ngayon, para mas maging malinaw ang pinag-uusapan natin, isaalang-alang natin ang sitwasyon sa tatlong potensyal na manghihiram.

Talahanayan 1 "Mga potensyal na manghihiram"

Ngumunguya sa logistic regression

Code para sa pagbuo ng talahanayan

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']]

Alinsunod sa data sa talahanayan, si Vasya, na may suweldo na 120.000 RUR, ay nais na makatanggap ng pautang upang mabayaran niya ito buwan-buwan sa 3.000 RUR. Napagpasyahan namin na upang maaprubahan ang utang, ang suweldo ni Vasya ay dapat lumampas sa tatlong beses ang halaga ng bayad, at dapat mayroon pa ring 5.000 RUR na natitira. Natutugunan ni Vasya ang kinakailangang ito: Ngumunguya sa logistic regression. Kahit na 106.000 RUR ay nananatili. Sa kabila ng katotohanan na kapag kinakalkula Ngumunguya sa logistic regression nabawasan namin ang posibilidad Ngumunguya sa logistic regression 25.000 beses, ang resulta ay pareho - ang pautang ay maaaring maaprubahan. Makakatanggap din si Fedya ng pautang, ngunit si Lesha, sa kabila ng katotohanan na siya ang pinakamarami, ay kailangang pigilan ang kanyang mga gana.

Gumuhit tayo ng graph para sa kasong ito.

Tsart 2 "Pag-uuri ng mga nanghihiram"

Ngumunguya sa logistic regression

Code para sa pagguhit ng graph

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()

Kaya, ang aming tuwid na linya, na itinayo alinsunod sa pag-andar Ngumunguya sa logistic regression, naghihiwalay sa "masamang" nanghihiram mula sa "mabubuti". Ang mga borrower na ang mga pagnanasa ay hindi nag-tutugma sa kanilang mga kakayahan ay nasa itaas ng linya (Lesha), habang ang mga, ayon sa mga parameter ng aming modelo, ay maaaring magbayad ng utang ay nasa ibaba ng linya (Vasya at Fedya). Sa madaling salita, masasabi natin ito: hinahati ng ating direktang linya ang mga nanghihiram sa dalawang klase. Ipahiwatig natin ang mga ito tulad ng sumusunod: sa klase Ngumunguya sa logistic regression Uuriin namin ang mga nanghihiram na pinakamalamang na magbabayad ng utang bilang Ngumunguya sa logistic regression o Ngumunguya sa logistic regression Isasama namin ang mga nanghihiram na malamang na hindi makabayad ng utang.

Ibuod natin ang mga konklusyon mula sa simpleng halimbawang ito. Kumuha tayo ng isang punto Ngumunguya sa logistic regression at, pinapalitan ang mga coordinate ng punto sa katumbas na equation ng linya Ngumunguya sa logistic regression, isaalang-alang ang tatlong opsyon:

  1. Kung ang punto ay nasa ilalim ng linya at itatalaga namin ito sa klase Ngumunguya sa logistic regression, pagkatapos ay ang halaga ng function Ngumunguya sa logistic regression magiging positibo mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression. Nangangahulugan ito na maaari nating ipagpalagay na nasa loob ang posibilidad na mabayaran ang utang Ngumunguya sa logistic regression. Kung mas malaki ang halaga ng function, mas mataas ang posibilidad.
  2. Kung ang isang punto ay nasa itaas ng isang linya at itinalaga namin ito sa klase Ngumunguya sa logistic regression o Ngumunguya sa logistic regression, kung gayon ang halaga ng function ay magiging negatibo mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression. Pagkatapos ay ipagpalagay namin na ang posibilidad ng pagbabayad ng utang ay nasa loob Ngumunguya sa logistic regression at, mas malaki ang ganap na halaga ng function, mas mataas ang ating kumpiyansa.
  3. Ang punto ay nasa isang tuwid na linya, sa hangganan sa pagitan ng dalawang klase. Sa kasong ito, ang halaga ng function Ngumunguya sa logistic regression magiging pantay Ngumunguya sa logistic regression at ang posibilidad na mabayaran ang utang ay katumbas ng Ngumunguya sa logistic regression.

Ngayon, isipin natin na wala tayong dalawang salik, ngunit dose-dosenang, at hindi tatlo, ngunit libu-libong nanghihiram. Pagkatapos sa halip na isang tuwid na linya ay magkakaroon tayo m-dimensional eroplano at mga coefficient Ngumunguya sa logistic regression hindi kami aalisin mula sa manipis na hangin, ngunit nakuha ayon sa lahat ng mga patakaran, at sa batayan ng naipon na data sa mga nanghihiram na mayroon o hindi pa nagbayad ng utang. At sa katunayan, tandaan na pumipili kami ngayon ng mga borrower gamit ang mga kilalang coefficient Ngumunguya sa logistic regression. Sa katunayan, ang gawain ng modelo ng logistic regression ay tiyak na matukoy ang mga parameter Ngumunguya sa logistic regression, kung saan ang halaga ng pagkawala function Pagkawala ng Logistic ay magiging pinakamababa. Ngunit tungkol sa kung paano kinakalkula ang vector Ngumunguya sa logistic regression, malalaman natin ang higit pa sa ika-5 na seksyon ng artikulo. Samantala, bumalik kami sa lupang pangako - sa aming bangkero at sa kanyang tatlong kliyente.

Salamat sa function Ngumunguya sa logistic regression alam natin kung sino ang maaaring bigyan ng pautang at kung sino ang kailangang tanggihan. Ngunit hindi ka maaaring pumunta sa direktor na may ganitong impormasyon, dahil nais nilang makuha mula sa amin ang posibilidad ng pagbabayad ng utang ng bawat nanghihiram. Anong gagawin? Ang sagot ay simple - kailangan nating baguhin ang function Ngumunguya sa logistic regression, na ang mga halaga ay nasa hanay Ngumunguya sa logistic regression sa isang function na ang mga halaga ay makikita sa hanay Ngumunguya sa logistic regression. At ang gayong pag-andar ay umiiral, ito ay tinatawag logistic response function o inverse-logit transformation. Kilalanin:

Ngumunguya sa logistic regression

Tingnan natin ang hakbang-hakbang kung paano ito gumagana pag-andar ng pagtugon sa logistik. Tandaan na lalakad tayo sa kabilang direksyon, i.e. ipagpalagay namin na alam namin ang halaga ng posibilidad, na nasa hanay mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression at pagkatapos ay "i-unwind" namin ang halagang ito sa buong hanay ng mga numero mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression.

03. Nakukuha namin ang function ng logistic response

Hakbang 1. I-convert ang mga halaga ng posibilidad sa isang hanay Ngumunguya sa logistic regression

Sa panahon ng pagbabago ng function Ngumunguya sa logistic regression Π² pag-andar ng pagtugon sa logistik Ngumunguya sa logistic regression Hahayaan namin ang aming credit analyst at sa halip ay maglibot sa mga bookmaker. Hindi, siyempre, hindi kami maglalagay ng taya, ang lahat ng interes sa amin doon ay ang kahulugan ng expression, halimbawa, ang pagkakataon ay 4 sa 1. Ang mga logro, pamilyar sa lahat ng mga bettors, ay ang ratio ng "mga tagumpay" sa " mga kabiguan”. Sa probability terms, ang odds ay ang probabilidad ng isang event na naganap na hinati sa probabilidad ng event na hindi naganap. Isulat natin ang pormula para sa pagkakataong maganap ang isang kaganapan Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression

Saan Ngumunguya sa logistic regression - posibilidad ng isang kaganapan na naganap, Ngumunguya sa logistic regression β€” probabilidad ng isang pangyayaring HINDI naganap

Halimbawa, kung ang posibilidad na matalo ng isang bata, malakas at mapaglarong kabayo na may palayaw na "Veterok" ang isang matandang matandang babae na may pangalang "Matilda" ay katumbas ng Ngumunguya sa logistic regression, pagkatapos ay ang mga pagkakataon ng tagumpay para sa "Veterok". Ngumunguya sa logistic regression ΠΊ Ngumunguya sa logistic regression Ngumunguya sa logistic regression and vice versa, knowing the odds, hindi magiging mahirap para sa atin na kalkulahin ang probability Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression

Kaya, natutunan naming "isalin" ang posibilidad sa mga pagkakataon, na kumukuha ng mga halaga mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression. Gumawa tayo ng isa pang hakbang at matutong "isalin" ang posibilidad sa buong linya ng numero mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression.

Hakbang 2. I-convert ang mga halaga ng posibilidad sa isang hanay Ngumunguya sa logistic regression

Napakasimple ng hakbang na ito - dalhin natin ang logarithm ng mga logro sa base ng numero ni Euler Ngumunguya sa logistic regression at makuha namin:

Ngumunguya sa logistic regression

Ngayon alam na natin na kung Ngumunguya sa logistic regression, pagkatapos ay kalkulahin ang halaga Ngumunguya sa logistic regression ay magiging napaka-simple at, bukod dito, dapat itong maging positibo: Ngumunguya sa logistic regression. Ito ay totoo.

Out of curiosity, tingnan natin what if Ngumunguya sa logistic regression, pagkatapos ay inaasahan naming makakita ng negatibong halaga Ngumunguya sa logistic regression. Sinusuri namin: Ngumunguya sa logistic regression. Tama iyan.

Ngayon alam namin kung paano i-convert ang halaga ng posibilidad mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression kasama ang buong linya ng numero mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression. Sa susunod na hakbang gagawin natin ang kabaligtaran.

Sa ngayon, tandaan namin na alinsunod sa mga patakaran ng logarithm, alam ang halaga ng function Ngumunguya sa logistic regression, maaari mong kalkulahin ang mga logro:

Ngumunguya sa logistic regression

Ang pamamaraang ito ng pagtukoy ng mga posibilidad ay magiging kapaki-pakinabang sa amin sa susunod na hakbang.

Hakbang 3. Bumuo tayo ng isang pormula upang matukoy Ngumunguya sa logistic regression

Kaya natuto kami, alam Ngumunguya sa logistic regression, hanapin ang mga halaga ng function Ngumunguya sa logistic regression. Gayunpaman, sa katunayan, kailangan natin ang eksaktong kabaligtaran - alam ang halaga Ngumunguya sa logistic regression upang mahanap Ngumunguya sa logistic regression. Upang gawin ito, bumaling tayo sa isang konsepto tulad ng inverse odds function, ayon sa kung saan:

Ngumunguya sa logistic regression

Sa artikulong hindi namin makukuha ang formula sa itaas, ngunit susuriin namin ito gamit ang mga numero mula sa halimbawa sa itaas. Alam natin na may posibilidad na 4 hanggang 1 (Ngumunguya sa logistic regression), ang posibilidad na mangyari ang kaganapan ay 0.8 (Ngumunguya sa logistic regression). Gumawa tayo ng pagpapalit: Ngumunguya sa logistic regression. Ito ay kasabay ng aming mga kalkulasyon na isinagawa kanina. Mag-move on na tayo.

Sa huling hakbang, nalaman namin iyon Ngumunguya sa logistic regression, na nangangahulugan na maaari kang gumawa ng pagpapalit sa inverse odds function. Nakukuha namin:

Ngumunguya sa logistic regression

Hatiin ang numerator at denominator sa pamamagitan ng Ngumunguya sa logistic regression, Pagkatapos:

Ngumunguya sa logistic regression

Kung sakali, para matiyak na hindi kami nagkamali kahit saan, gagawa kami ng isa pang maliit na pagsusuri. Sa hakbang 2, kami ay para sa Ngumunguya sa logistic regression natukoy na Ngumunguya sa logistic regression. Pagkatapos, pinapalitan ang halaga Ngumunguya sa logistic regression sa logistic response function, inaasahan naming makuha Ngumunguya sa logistic regression. Pinapalitan namin at nakuha: Ngumunguya sa logistic regression

Binabati kita, mahal na mambabasa, nakuha at nasubok namin ang function ng pagtugon sa logistik. Tingnan natin ang graph ng function.

Graph 3 "Logistic response function"

Ngumunguya sa logistic regression

Code para sa pagguhit ng graph

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()

Sa panitikan maaari mo ring mahanap ang pangalan ng function na ito bilang sigmoid function. Malinaw na ipinapakita ng graph na ang pangunahing pagbabago sa posibilidad ng isang bagay na kabilang sa isang klase ay nangyayari sa loob ng medyo maliit na saklaw. Ngumunguya sa logistic regression, saanman galing Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression.

Iminumungkahi kong bumalik sa aming credit analyst at tulungan siyang kalkulahin ang posibilidad ng pagbabayad ng utang, kung hindi man ay nanganganib siyang maiwan nang walang bonus :)

Talahanayan 2 "Mga potensyal na manghihiram"

Ngumunguya sa logistic regression

Code para sa pagbuo ng talahanayan

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']]

Kaya, natukoy namin ang posibilidad ng pagbabayad ng utang. Sa pangkalahatan, ito ay tila totoo.

Sa katunayan, ang posibilidad na si Vasya, na may suweldo na 120.000 RUR, ay makakapagbigay ng 3.000 RUR sa bangko bawat buwan ay malapit sa 100%. Sa pamamagitan ng paraan, dapat nating maunawaan na ang isang bangko ay maaaring mag-isyu ng pautang sa Lesha kung ang patakaran ng bangko ay nagbibigay, halimbawa, para sa pagpapahiram sa mga kliyente na may posibilidad ng pagbabayad ng utang na higit sa, sabihin nating, 0.3. Sa kasong ito, ang bangko ay gagawa ng mas malaking reserba para sa mga posibleng pagkalugi.

Dapat ding tandaan na ang ratio ng suweldo-sa-pagbabayad na hindi bababa sa 3 at may margin na 5.000 RUR ay kinuha mula sa kisame. Samakatuwid, hindi namin magagamit ang vector ng mga timbang sa orihinal nitong anyo Ngumunguya sa logistic regression. Kailangan naming bawasan nang husto ang mga coefficient, at sa kasong ito, hinati namin ang bawat coefficient ng 25.000, iyon ay, sa esensya, inayos namin ang resulta. Ngunit ito ay partikular na ginawa upang gawing simple ang pag-unawa sa materyal sa paunang yugto. Sa buhay, hindi natin kakailanganing mag-imbento at mag-adjust ng mga coefficient, ngunit hanapin ang mga ito. Sa susunod na mga seksyon ng artikulo ay makukuha natin ang mga equation kung saan napili ang mga parameter Ngumunguya sa logistic regression.

04. Least squares na paraan para sa pagtukoy ng vector ng mga timbang Ngumunguya sa logistic regression sa logistic response function

Alam na natin ang pamamaraang ito para sa pagpili ng vector ng mga timbang Ngumunguya sa logistic regressionBilang pamamaraan ng least squares (LSM) at sa katunayan, bakit hindi natin ito gamitin sa mga problema sa binary classification? Sa katunayan, walang pumipigil sa iyo sa paggamit MNC, tanging ang pamamaraang ito sa mga problema sa pag-uuri ay nagbibigay ng mga resulta na hindi gaanong tumpak kaysa Pagkawala ng Logistic. Mayroong isang teoretikal na batayan para dito. Tingnan muna natin ang isang simpleng halimbawa.

Ipagpalagay natin na ang ating mga modelo (gamit MSE ΠΈ Pagkawala ng Logistic) ay nagsimula na sa pagpili ng vector ng mga timbang Ngumunguya sa logistic regression at itinigil namin ang pagkalkula sa ilang hakbang. Hindi mahalaga kung sa gitna, sa dulo o sa simula, ang pangunahing bagay ay mayroon na tayong ilang mga halaga ng vector ng mga timbang at ipagpalagay natin na sa hakbang na ito, ang vector ng mga timbang. Ngumunguya sa logistic regression para sa parehong mga modelo ay walang mga pagkakaiba. Pagkatapos ay kunin ang mga nagresultang timbang at palitan ang mga ito pag-andar ng pagtugon sa logistik (Ngumunguya sa logistic regression) para sa ilang bagay na kabilang sa klase Ngumunguya sa logistic regression. Sinusuri namin ang dalawang kaso kung kailan, alinsunod sa napiling vector ng mga timbang, ang aming modelo ay napakamali at vice versa - ang modelo ay lubos na kumpiyansa na ang bagay ay kabilang sa klase Ngumunguya sa logistic regression. Tingnan natin kung anong mga multa ang ibibigay kapag gumagamit MNC ΠΈ Pagkawala ng Logistic.

Code para kalkulahin ang mga parusa depende sa loss function na ginamit

# класс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°
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

Isang kaso ng isang pagkakamali β€” ang modelo ay nagtatalaga ng isang bagay sa isang klase Ngumunguya sa logistic regression na may posibilidad na 0,01

Parusa sa paggamit MNC ay magiging:
Ngumunguya sa logistic regression

Parusa sa paggamit Pagkawala ng Logistic ay magiging:
Ngumunguya sa logistic regression

Isang kaso ng malakas na kumpiyansa β€” ang modelo ay nagtatalaga ng isang bagay sa isang klase Ngumunguya sa logistic regression na may posibilidad na 0,99

Parusa sa paggamit MNC ay magiging:
Ngumunguya sa logistic regression

Parusa sa paggamit Pagkawala ng Logistic ay magiging:
Ngumunguya sa logistic regression

Ang halimbawang ito ay naglalarawan ng mabuti na sa kaso ng isang malaking error ang pagkawala function Pagkawala ng Log mas malaki ang parusa sa modelo kaysa sa MSE. Unawain natin ngayon kung ano ang theoretical background sa paggamit ng loss function Pagkawala ng Log sa mga problema sa pag-uuri.

05. Pinakamataas na paraan ng posibilidad at logistic regression

Gaya ng ipinangako sa simula, ang artikulo ay puno ng mga simpleng halimbawa. Sa studio ay may isa pang halimbawa at mga lumang bisita - mga borrower sa bangko: Vasya, Fedya at Lesha.

Kung sakali, bago bumuo ng halimbawa, hayaan mong ipaalala ko sa iyo na sa buhay tayo ay nakikitungo sa isang sample ng pagsasanay ng libu-libo o milyon-milyong mga bagay na may sampu o daan-daang mga tampok. Gayunpaman, dito kinukuha ang mga numero upang madali silang magkasya sa pinuno ng isang baguhang data scientist.

Bumalik tayo sa halimbawa. Isipin natin na nagpasya ang direktor ng bangko na mag-isyu ng pautang sa lahat ng nangangailangan, sa kabila ng katotohanan na sinabi sa kanya ng algorithm na huwag ibigay ito kay Lesha. At ngayon sapat na ang panahon at alam natin kung sino sa tatlong bayani ang nagbayad ng utang at alin ang hindi. Ano ang dapat asahan: Binayaran nina Vasya at Fedya ang utang, ngunit hindi ginawa ni Lesha. Ngayon isipin natin na ang resultang ito ay magiging isang bagong sample ng pagsasanay para sa atin at, kasabay nito, parang nawala ang lahat ng data sa mga salik na nakakaimpluwensya sa posibilidad na mabayaran ang utang (suweldo ng borrower, laki ng buwanang bayad). Pagkatapos, intuitively, maaari nating ipagpalagay na ang bawat ikatlong borrower ay hindi nagbabayad ng utang sa bangko, o sa madaling salita, ang posibilidad ng susunod na borrower na magbayad ng utang. Ngumunguya sa logistic regression. Ang intuitive assumption na ito ay may theoretical confirmation at nakabatay sa maximum na paraan ng posibilidad, madalas sa panitikan ito ay tinatawag na prinsipyo ng maximum na posibilidad.

Una, kilalanin natin ang conceptual apparatus.

Ang posibilidad ng sampling ay ang posibilidad ng pagkuha ng eksaktong tulad ng isang sample, pagkuha ng eksakto tulad ng mga obserbasyon/mga resulta, i.e. ang produkto ng mga posibilidad na makuha ang bawat isa sa mga sample na resulta (halimbawa, kung ang utang ng Vasya, Fedya at Lesha ay binayaran o hindi binayaran sa parehong oras).

Pag-andar ng posibilidad iniuugnay ang posibilidad ng isang sample sa mga halaga ng mga parameter ng pamamahagi.

Sa aming kaso, ang sample ng pagsasanay ay isang pangkalahatang Bernoulli scheme, kung saan ang random variable ay tumatagal lamang ng dalawang halaga: Ngumunguya sa logistic regression o Ngumunguya sa logistic regression. Samakatuwid, ang sample na posibilidad ay maaaring isulat bilang isang function ng posibilidad ng parameter Ngumunguya sa logistic regression tulad ng sumusunod:

Ngumunguya sa logistic regression
Ngumunguya sa logistic regression

Ang entry sa itaas ay maaaring bigyang-kahulugan bilang mga sumusunod. Ang magkasanib na posibilidad na babayaran nina Vasya at Fedya ang utang ay katumbas ng Ngumunguya sa logistic regression, ang posibilidad na HINDI babayaran ni Lesha ang utang ay katumbas ng Ngumunguya sa logistic regression (dahil HINDI ang pagbabayad ng utang ang naganap), samakatuwid ang magkasanib na posibilidad ng lahat ng tatlong kaganapan ay pantay Ngumunguya sa logistic regression.

Paraan ng maximum na posibilidad ay isang paraan para sa pagtatantya ng hindi kilalang parameter sa pamamagitan ng pag-maximize mga function ng posibilidad. Sa aming kaso, kailangan naming makahanap ng ganoong halaga Ngumunguya sa logistic regressionkung saan Ngumunguya sa logistic regression umabot sa pinakamataas nito.

Saan nagmula ang aktwal na ideya - upang hanapin ang halaga ng isang hindi kilalang parameter kung saan umabot sa maximum ang function na posibilidad? Ang mga pinagmulan ng ideya ay nagmula sa ideya na ang isang sample ay ang tanging mapagkukunan ng kaalaman na makukuha natin tungkol sa populasyon. Ang lahat ng alam natin tungkol sa populasyon ay kinakatawan sa sample. Samakatuwid, ang masasabi lang natin ay ang isang sample ay ang pinakatumpak na pagmuni-muni ng populasyon na magagamit sa atin. Samakatuwid, kailangan nating makahanap ng isang parameter kung saan ang magagamit na sample ay nagiging pinaka-malamang.

Malinaw, nakikitungo tayo sa isang problema sa pag-optimize kung saan kailangan nating hanapin ang matinding punto ng isang function. Upang mahanap ang extremum point, kinakailangang isaalang-alang ang first-order na kondisyon, iyon ay, equate ang derivative ng function sa zero at lutasin ang equation na may paggalang sa nais na parameter. Gayunpaman, ang paghahanap para sa derivative ng isang produkto ng isang malaking bilang ng mga kadahilanan ay maaaring maging isang mahabang gawain; upang maiwasan ito, mayroong isang espesyal na pamamaraan - lumipat sa logarithm mga function ng posibilidad. Bakit posible ang gayong paglipat? Bigyang-pansin natin ang katotohanan na hindi natin hinahanap ang sukdulan ng mismong pag-andarNgumunguya sa logistic regression, at ang extremum point, iyon ay, ang halaga ng hindi kilalang parameter Ngumunguya sa logistic regressionkung saan Ngumunguya sa logistic regression umabot sa pinakamataas nito. Kapag lumipat sa isang logarithm, ang extremum point ay hindi nagbabago (bagaman ang extremum mismo ay mag-iiba), dahil ang logarithm ay isang monotonic function.

Natin, alinsunod sa nasa itaas, patuloy na bumuo ng ating halimbawa sa mga pautang mula sa Vasya, Fedya at Lesha. Una, lumipat tayo sa logarithm ng function ng posibilidad:

Ngumunguya sa logistic regression

Ngayon ay madali nating maiiba ang expression sa pamamagitan ng Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression

At sa wakas, isaalang-alang ang kondisyon ng unang pagkakasunud-sunod - tinutumbas namin ang derivative ng function sa zero:

Ngumunguya sa logistic regression

Kaya, ang aming intuitive na pagtatantya ng posibilidad ng pagbabayad ng utang Ngumunguya sa logistic regression ay theoretically justified.

Mahusay, ngunit ano ang dapat nating gawin sa impormasyong ito ngayon? Kung ipagpalagay natin na ang bawat ikatlong nanghihiram ay hindi nagbabalik ng pera sa bangko, kung gayon ang huli ay hindi maiiwasang mabangkarote. Tama iyon, ngunit kapag tinatasa lamang ang posibilidad ng pagbabayad ng utang na katumbas ng Ngumunguya sa logistic regression Hindi namin isinaalang-alang ang mga salik na nakakaimpluwensya sa pagbabayad ng utang: ang suweldo ng nanghihiram at ang laki ng buwanang pagbabayad. Tandaan natin na dati nating kinakalkula ang posibilidad ng pagbabayad ng utang ng bawat kliyente, na isinasaalang-alang ang parehong mga kadahilanan. Ito ay lohikal na nakakuha kami ng mga probabilidad na naiiba mula sa pare-parehong katumbas Ngumunguya sa logistic regression.

Tukuyin natin ang posibilidad ng mga sample:

Code para sa pagkalkula ng mga posibilidad ng sample

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)

Sample na posibilidad sa isang pare-parehong halaga Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression

Halimbawang posibilidad kapag kinakalkula ang posibilidad ng pagbabayad ng utang na isinasaalang-alang ang mga kadahilanan Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression
Ngumunguya sa logistic regression

Ang posibilidad ng isang sample na may probabilidad na kinakalkula depende sa mga salik ay naging mas mataas kaysa sa posibilidad na may pare-parehong halaga ng posibilidad. Ano ang ibig sabihin nito? Iminumungkahi nito na ang kaalaman tungkol sa mga salik ay naging posible upang mas tumpak na piliin ang posibilidad ng pagbabayad ng utang para sa bawat kliyente. Samakatuwid, kapag nag-isyu ng susunod na pautang, mas tamang gamitin ang modelong iminungkahi sa dulo ng seksyon 3 ng artikulo para sa pagtatasa ng posibilidad ng pagbabayad ng utang.

Ngunit pagkatapos, kung nais nating i-maximize sample na function ng posibilidad, kung gayon bakit hindi gumamit ng ilang algorithm na magbubunga ng mga probabilidad para sa Vasya, Fedya at Lesha, halimbawa, katumbas ng 0.99, 0.99 at 0.01, ayon sa pagkakabanggit. Marahil ay mahusay na gaganap ang gayong algorithm sa sample ng pagsasanay, dahil mas mapapalapit nito ang halaga ng posibilidad ng sample Ngumunguya sa logistic regression, ngunit, una, ang gayong algorithm ay malamang na magkakaroon ng mga paghihirap sa kakayahan sa paglalahat, at pangalawa, ang algorithm na ito ay tiyak na hindi magiging linear. At kung ang mga paraan ng paglaban sa overtraining (pantay na mahinang kakayahan sa pangkalahatan) ay malinaw na hindi kasama sa plano ng artikulong ito, pagkatapos ay dumaan tayo sa pangalawang punto nang mas detalyado. Upang gawin ito, sagutin lamang ang isang simpleng tanong. Maaari bang magkapareho ang posibilidad na mabayaran ni Vasya at Fedya ang utang, na isinasaalang-alang ang mga kadahilanan na alam natin? Mula sa punto ng view ng sound logic, siyempre hindi, hindi ito magagawa. Kaya babayaran ni Vasya ang 2.5% ng kanyang suweldo bawat buwan upang mabayaran ang utang, at si Fedya - halos 27,8%. Gayundin sa graph 2 "Pag-uuri ng kliyente" nakita namin na ang Vasya ay mas malayo sa linya na naghihiwalay sa mga klase kaysa sa Fedya. At sa wakas, alam namin na ang function Ngumunguya sa logistic regression para sa Vasya at Fedya ay tumatagal ng iba't ibang mga halaga: 4.24 para sa Vasya at 1.0 para sa Fedya. Ngayon, kung si Fedya, halimbawa, ay nakakuha ng isang order ng magnitude nang higit pa o humingi ng isang mas maliit na pautang, kung gayon ang mga probabilidad ng pagbabayad ng utang para kay Vasya at Fedya ay magkatulad. Sa madaling salita, hindi maaaring lokohin ang linear dependence. At kung talagang kinakalkula natin ang mga logro Ngumunguya sa logistic regression, at hindi inalis ang mga ito sa manipis na hangin, maaari naming ligtas na sabihin na ang aming mga halaga Ngumunguya sa logistic regression pinakamahusay na nagpapahintulot sa amin na tantyahin ang posibilidad ng pagbabayad ng utang ng bawat nanghihiram, ngunit dahil sumang-ayon kaming ipagpalagay na ang pagpapasiya ng mga coefficient Ngumunguya sa logistic regression ay isinasagawa ayon sa lahat ng mga patakaran, pagkatapos ay ipagpalagay namin ito - pinapayagan kami ng aming mga coefficient na magbigay ng isang mas mahusay na pagtatantya ng posibilidad :)

Gayunpaman, lumihis tayo. Sa seksyong ito kailangan nating maunawaan kung paano tinutukoy ang vector ng mga timbang Ngumunguya sa logistic regression, na kinakailangan upang masuri ang posibilidad ng pagbabayad ng utang ng bawat nanghihiram.

Ibigay natin sa madaling sabi kung anong arsenal ang hinahanap natin para sa mga logro Ngumunguya sa logistic regression:

1. Ipinapalagay namin na ang ugnayan sa pagitan ng target na variable (halaga ng hula) at ang salik na nakakaimpluwensya sa resulta ay linear. Para sa kadahilanang ito ito ay ginagamit linear regression function anyo Ngumunguya sa logistic regression, ang linya kung saan hinahati ang mga bagay (kliyente) sa mga klase Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression o Ngumunguya sa logistic regression (mga kliyente na kayang bayaran ang utang at ang mga hindi). Sa aming kaso, ang equation ay may anyo Ngumunguya sa logistic regression.

2. Gumagamit kami inverse logit function anyo Ngumunguya sa logistic regression upang matukoy ang posibilidad ng isang bagay na kabilang sa isang klase Ngumunguya sa logistic regression.

3. Itinuturing namin ang aming set ng pagsasanay bilang isang pagpapatupad ng isang pangkalahatan Bernoulli scheme, ibig sabihin, para sa bawat bagay ay nabuo ang isang random na variable, na may posibilidad Ngumunguya sa logistic regression (sa sarili nito para sa bawat bagay) ay tumatagal ng halaga 1 at may posibilidad Ngumunguya sa logistic regression - 0.

4. Alam natin kung ano ang kailangan nating i-maximize sample na function ng posibilidad isinasaalang-alang ang mga tinatanggap na mga salik upang ang magagamit na sample ay maging pinaka-kapani-paniwala. Sa madaling salita, kailangan nating pumili ng mga parameter kung saan ang sample ay magiging pinaka-kapani-paniwala. Sa aming kaso, ang napiling parameter ay ang posibilidad ng pagbabayad ng utang Ngumunguya sa logistic regression, na depende naman sa hindi kilalang coefficient Ngumunguya sa logistic regression. Kaya kailangan nating makahanap ng tulad ng isang vector ng mga timbang Ngumunguya sa logistic regression, kung saan ang posibilidad ng sample ay magiging maximum.

5. Alam natin kung ano ang dapat i-maximize sample na mga function ng posibilidad maaaring gamitin maximum na paraan ng posibilidad. At alam namin ang lahat ng nakakalito na trick para gumana sa paraang ito.

Ito ay kung paano ito lumalabas na isang multi-step na paglipat :)

Ngayon tandaan na sa pinakadulo simula ng artikulo gusto naming makakuha ng dalawang uri ng mga function ng pagkawala Pagkawala ng Logistic depende sa kung paano itinalaga ang mga klase ng object. Ito ay nangyari na sa mga problema sa pag-uuri na may dalawang klase, ang mga klase ay tinutukoy bilang Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression o Ngumunguya sa logistic regression. Depende sa notation, ang output ay magkakaroon ng kaukulang loss function.

Kaso 1. Pag-uuri ng mga bagay sa Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression

Mas maaga, kapag tinutukoy ang posibilidad ng isang sample, kung saan ang posibilidad ng pagbabayad ng utang ng nanghihiram ay kinakalkula batay sa mga kadahilanan at ibinigay na mga coefficient Ngumunguya sa logistic regression, inilapat namin ang formula:

Ngumunguya sa logistic regression

Talaga Ngumunguya sa logistic regression ay ang kahulugan mga function ng pagtugon sa logistik Ngumunguya sa logistic regression para sa isang naibigay na vector ng mga timbang Ngumunguya sa logistic regression

Pagkatapos ay walang pumipigil sa amin na isulat ang sample na function ng posibilidad tulad ng sumusunod:

Ngumunguya sa logistic regression

Nangyayari na kung minsan ay mahirap para sa ilang mga baguhan na analyst na agad na maunawaan kung paano gumagana ang function na ito. Tingnan natin ang 4 na maikling halimbawa na magpapalinaw sa mga bagay-bagay:

1. Kung Ngumunguya sa logistic regression (ibig sabihin, ayon sa sample ng pagsasanay, ang bagay ay kabilang sa klase +1), at ang aming algorithm Ngumunguya sa logistic regression tinutukoy ang posibilidad ng pag-uuri ng isang bagay sa isang klase Ngumunguya sa logistic regression katumbas ng 0.9, pagkatapos ang piraso ng sample na posibilidad na ito ay kakalkulahin tulad ng sumusunod:

Ngumunguya sa logistic regression

2. Kung Ngumunguya sa logistic regressionAt Ngumunguya sa logistic regression, kung gayon ang pagkalkula ay magiging ganito:

Ngumunguya sa logistic regression

3. Kung Ngumunguya sa logistic regressionAt Ngumunguya sa logistic regression, kung gayon ang pagkalkula ay magiging ganito:

Ngumunguya sa logistic regression

4. Kung Ngumunguya sa logistic regressionAt Ngumunguya sa logistic regression, kung gayon ang pagkalkula ay magiging ganito:

Ngumunguya sa logistic regression

Malinaw na ang posibilidad na pag-andar ay ma-maximize sa mga kaso 1 at 3 o sa pangkalahatang kaso - na may wastong nahulaan na mga halaga ng mga probabilidad ng pagtatalaga ng isang bagay sa isang klase Ngumunguya sa logistic regression.

Dahil sa katotohanan na kapag tinutukoy ang posibilidad ng pagtatalaga ng isang bagay sa isang klase Ngumunguya sa logistic regression Hindi lang natin alam ang mga coefficient Ngumunguya sa logistic regression, pagkatapos ay hahanapin natin sila. Tulad ng nabanggit sa itaas, ito ay isang problema sa pag-optimize kung saan kailangan muna nating hanapin ang derivative ng function ng posibilidad na may paggalang sa vector ng mga timbang. Ngumunguya sa logistic regression. Gayunpaman, makatuwiran muna na gawing simple ang gawain para sa ating sarili: hahanapin natin ang derivative ng logarithm mga function ng posibilidad.

Ngumunguya sa logistic regression

Bakit pagkatapos ng logarithm, sa mga function ng error sa logistik, pinalitan namin ang sign mula sa Ngumunguya sa logistic regression sa Ngumunguya sa logistic regression. Ang lahat ay simple, dahil sa mga problema sa pagtatasa ng kalidad ng isang modelo ay kaugalian na i-minimize ang halaga ng isang function, pinarami namin ang kanang bahagi ng expression sa pamamagitan ng Ngumunguya sa logistic regression at ayon dito, sa halip na i-maximize, ngayon ay pinaliit namin ang function.

Sa totoo lang, sa ngayon, sa harap ng iyong mga mata, ang pagkawala function ay maingat na nakuha - Pagkawala ng Logistic para sa isang set ng pagsasanay na may dalawang klase: Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression.

Ngayon, upang mahanap ang mga coefficient, kailangan lang nating hanapin ang derivative mga function ng error sa logistik at pagkatapos, gamit ang numerical optimization method, gaya ng gradient descent o stochastic gradient descent, piliin ang pinakamainam na coefficient Ngumunguya sa logistic regression. Ngunit, dahil sa malaking dami ng artikulo, iminungkahi na isagawa ang pagkita ng kaibhan sa iyong sarili, o marahil ito ay magiging paksa para sa susunod na artikulo na may maraming aritmetika nang walang ganoong detalyadong mga halimbawa.

Kaso 2. Pag-uuri ng mga bagay sa Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression

Ang diskarte dito ay magiging kapareho ng sa mga klase Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression, ngunit ang landas mismo sa output ng function ng pagkawala Pagkawala ng Logistic, ay magiging mas gayak. Magsimula na tayo. Para sa function ng posibilidad ay gagamitin namin ang operator "kung... kung gayon...". Ibig sabihin, kung Ngumunguya sa logistic regressionAng ika-isang bagay ay kabilang sa klase Ngumunguya sa logistic regression, pagkatapos ay upang kalkulahin ang posibilidad ng sample ginagamit namin ang probabilidad Ngumunguya sa logistic regression, kung ang bagay ay kabilang sa klase Ngumunguya sa logistic regression, pagkatapos ay pinapalitan natin ang posibilidad Ngumunguya sa logistic regression. Ganito ang hitsura ng function ng posibilidad:

Ngumunguya sa logistic regression

Ilarawan natin sa ating mga daliri kung paano ito gumagana. Isaalang-alang natin ang 4 na kaso:

1. Kung Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression, pagkatapos ay "pumunta" ang posibilidad ng sampling Ngumunguya sa logistic regression

2. Kung Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression, pagkatapos ay "pumunta" ang posibilidad ng sampling Ngumunguya sa logistic regression

3. Kung Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression, pagkatapos ay "pumunta" ang posibilidad ng sampling Ngumunguya sa logistic regression

4. Kung Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression, pagkatapos ay "pumunta" ang posibilidad ng sampling Ngumunguya sa logistic regression

Malinaw na sa mga kaso 1 at 3, kapag ang mga probabilidad ay wastong natukoy ng algorithm, function ng posibilidad ay ma-maximize, ibig sabihin, ito mismo ang gusto nating makuha. Gayunpaman, ang diskarte na ito ay medyo mahirap at sa susunod ay isasaalang-alang namin ang isang mas compact na notasyon. Ngunit una, let's logarithm the likelihood function with a change of sign, since now we will minimize it.

Ngumunguya sa logistic regression

Sa halip ay palitan natin Ngumunguya sa logistic regression expression Ngumunguya sa logistic regression:

Ngumunguya sa logistic regression

Pasimplehin natin ang tamang termino sa ilalim ng logarithm gamit ang mga simpleng pamamaraan ng arithmetic at makuha ang:

Ngumunguya sa logistic regression

Ngayon ay oras na upang alisin ang operator "kung... kung gayon...". Tandaan na kapag ang isang bagay Ngumunguya sa logistic regression kabilang sa klase Ngumunguya sa logistic regression, pagkatapos ay sa expression sa ilalim ng logarithm, sa denominator, Ngumunguya sa logistic regression itinaas sa kapangyarihan Ngumunguya sa logistic regression, kung ang bagay ay kabilang sa klase Ngumunguya sa logistic regression, pagkatapos ay itataas ang $e$ sa kapangyarihan Ngumunguya sa logistic regression. Samakatuwid, ang notasyon para sa degree ay maaaring gawing simple sa pamamagitan ng pagsasama-sama ng parehong mga kaso sa isa: Ngumunguya sa logistic regression. Pagkatapos pag-andar ng error sa logistik kukuha ng form:

Ngumunguya sa logistic regression

Alinsunod sa mga alituntunin ng logarithm, binabaligtad namin ang bahagi at inilabas ang tanda "Ngumunguya sa logistic regression"(minus) para sa logarithm, nakukuha namin:

Ngumunguya sa logistic regression

Narito ang function ng pagkawala pagkawala ng logistik, na ginagamit sa set ng pagsasanay na may mga bagay na nakatalaga sa mga klase: Ngumunguya sa logistic regression ΠΈ Ngumunguya sa logistic regression.

Buweno, sa puntong ito ay umalis ako at tinatapos namin ang artikulo.

Ngumunguya sa logistic regression Ang nakaraang gawain ng may-akda ay "Dalhin ang linear regression equation sa matrix form"

Mga pantulong na materyales

1. Panitikan

1) Inilapat na pagsusuri ng regression / N. Draper, G. Smith - 2nd ed. - M .: Pananalapi at mga istatistika, 1986 (isinalin mula sa Ingles)

2) Probability theory at mathematical statistics / V.E. Gmurman - ika-9 na ed. - M.: Higher School, 2003

3) Teorya ng probabilidad / N.I. Chernova - Novosibirsk: Novosibirsk State University, 2007

4) Analytics ng negosyo: mula sa data hanggang sa kaalaman / Paklin N. B., Oreshkov V. I. - 2nd ed. β€” St. Petersburg: Peter, 2013

5) Data Science Data science mula sa simula / Joel Gras - St. Petersburg: BHV Petersburg, 2017

6) Mga praktikal na istatistika para sa mga espesyalista sa Data Science / P. Bruce, E. Bruce - St. Petersburg: BHV Petersburg, 2018

2. Mga lektura, kurso (video)

1) Ang kakanyahan ng maximum na paraan ng posibilidad, Boris Demeshev

2) Pinakamataas na paraan ng posibilidad sa tuluy-tuloy na kaso, Boris Demeshev

3) Logistic regression. Buksan ang kursong ODS, Yury Kashnitsky

4) Lecture 4, Evgeny Sokolov (mula sa 47 minuto ng video)

5) Logistic regression, Vyacheslav Vorontsov

3. Mga mapagkukunan sa Internet

1) Linear classification at regression na mga modelo

2) Paano Madaling Maunawaan ang Logistic Regression

3) Logistic error function

4) Mga independiyenteng pagsubok at Bernoulli formula

5) Balada ng MMP

6) Paraan ng maximum na posibilidad

7) Mga formula at katangian ng logarithms

8) Bakit numero Ngumunguya sa logistic regression?

9) Linear classifier

Pinagmulan: www.habr.com

Magdagdag ng komento