Logistik regressiyani chaynash

Logistik regressiyani chaynash

Ushbu maqolada biz transformatsiyaning nazariy hisoblarini tahlil qilamiz chiziqli regressiya funktsiyalari Π² teskari logit transformatsiyasi funktsiyasi (aks holda logistik javob funktsiyasi deb ataladi). Keyin, arsenaldan foydalanish maksimal ehtimollik usuli, logistik regressiya modeliga muvofiq, biz yo'qotish funktsiyasini olamiz Logistik yo'qotish, yoki boshqacha qilib aytganda, logistik regressiya modelida vazn vektorining parametrlari tanlangan funktsiyani aniqlaymiz. Logistik regressiyani chaynash.

Maqola tavsifi:

  1. Keling, ikkita o'zgaruvchi o'rtasidagi chiziqli munosabatni takrorlaymiz
  2. Keling, transformatsiya zarurligini aniqlaylik chiziqli regressiya funktsiyalari Logistik regressiyani chaynash Π² logistik javob funksiyasi Logistik regressiyani chaynash
  3. Keling, transformatsiyalarni va chiqishni amalga oshiramiz logistik javob funksiyasi
  4. Parametrlarni tanlashda nima uchun eng kichik kvadratlar usuli yomon ekanligini tushunishga harakat qilaylik Logistik regressiyani chaynash vazifalari Logistik yo'qotish
  5. Biz foydalanamiz maksimal ehtimollik usuli aniqlash uchun parametrlarni tanlash funktsiyalari Logistik regressiyani chaynash:

    5.1. 1-holat: funktsiya Logistik yo'qotish sinf belgilariga ega ob'ektlar uchun 0 ΠΈ 1:

    Logistik regressiyani chaynash

    5.2. 2-holat: funktsiya Logistik yo'qotish sinf belgilariga ega ob'ektlar uchun -1 ΠΈ +1:

    Logistik regressiyani chaynash


Maqola oddiy misollar bilan to'ldirilgan bo'lib, unda barcha hisob-kitoblarni og'zaki yoki qog'ozda qilish oson, ba'zi hollarda kalkulyator talab qilinishi mumkin. Shunday ekan, tayyorlaning :)

Ushbu maqola, birinchi navbatda, mashinani o'rganish asoslari bo'yicha boshlang'ich bilim darajasiga ega bo'lgan ma'lumotlar olimlari uchun mo'ljallangan.

Maqolada grafik va hisob-kitoblarni chizish uchun kod ham taqdim etiladi. Barcha kodlar tilda yozilgan piton 2.7. Ishlatilgan versiyaning "yangiligi" haqida oldindan tushuntirib beraman - bu taniqli kursni o'tash shartlaridan biridir. Yandex teng darajada taniqli onlayn ta'lim platformasida Coursera, va, taxmin qilish mumkinki, material ushbu kurs asosida tayyorlangan.

01. To'g'ri chiziqli bog'liqlik

Savol berish juda o'rinli - chiziqli qaramlik va logistik regressiya bunga qanday aloqasi bor?

Hammasi oddiy! Logistik regressiya chiziqli tasniflagichga tegishli modellardan biridir. Oddiy so'zlar bilan aytganda, chiziqli tasniflagichning vazifasi maqsadli qiymatlarni bashorat qilishdir Logistik regressiyani chaynash o'zgaruvchilardan (regressorlar) Logistik regressiyani chaynash. Xususiyatlari o'rtasidagi bog'liqlik deb ishoniladi Logistik regressiyani chaynash va maqsadli qiymatlar Logistik regressiyani chaynash chiziqli. Shu sababli klassifikatorning nomi - chiziqli. Taxminan aytganda, logistik regressiya modeli xarakteristikalar o'rtasida chiziqli bog'liqlik mavjud degan taxminga asoslanadi. Logistik regressiyani chaynash va maqsadli qiymatlar Logistik regressiyani chaynash. Bu aloqa.

Studiyada birinchi misol bor va u to'g'ri, o'rganilayotgan miqdorlarning to'g'ri chiziqli bog'liqligi haqida. Maqolani tayyorlash jarayonida men ko'p odamlarni chetga surgan misolga duch keldim - oqimning kuchlanishga bog'liqligi (β€œAmaliy regressiya tahlili”, N. Draper, G. Smit). Bu erda ham ko'rib chiqamiz.

muvofiq Ohm qonuni:

Logistik regressiyani chaynashqayerda Logistik regressiyani chaynash - joriy quvvat, Logistik regressiyani chaynash - Kuchlanishi, Logistik regressiyani chaynash - qarshilik.

Agar bilmaganimizda Ohm qonuni, keyin o'zgartirish orqali bog'liqlikni empirik tarzda topishimiz mumkin Logistik regressiyani chaynash va o'lchash Logistik regressiyani chaynash, qo'llab-quvvatlash paytida Logistik regressiyani chaynash belgilangan. Keyin biz qaramlik grafigini ko'ramiz Logistik regressiyani chaynash ΠΎΡ‚ Logistik regressiyani chaynash boshi orqali ozmi-koβ€˜pmi toβ€˜gβ€˜ri chiziq beradi. Biz "ko'proq yoki kamroq" deymiz, chunki munosabatlar haqiqatda to'g'ri bo'lsa-da, bizning o'lchovlarimiz kichik xatolarni o'z ichiga olishi mumkin va shuning uchun grafikdagi nuqtalar to'liq chiziqqa tushmasligi mumkin, lekin tasodifiy ravishda uning atrofida tarqalib ketadi.

1-chizma β€œTobelik” Logistik regressiyani chaynash ΠΎΡ‚ Logistik regressiyani chaynashΒ»

Logistik regressiyani chaynash

Diagramma chizish kodi

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. Chiziqli regressiya tenglamasini o'zgartirish zarurati

Keling, yana bir misolni ko'rib chiqaylik. Tasavvur qilaylik, biz bankda ishlaymiz va bizning vazifamiz muayyan omillarga qarab qarz oluvchining kreditni qaytarish ehtimolini aniqlashdir. Vazifani soddalashtirish uchun biz faqat ikkita omilni ko'rib chiqamiz: qarz oluvchining oylik maoshi va oylik kredit to'lovi miqdori.

Vazifa juda shartli, ammo bu misol bilan nima uchun uni ishlatish etarli emasligini tushunishimiz mumkin chiziqli regressiya funktsiyalari, shuningdek, funktsiya bilan qanday o'zgarishlarni amalga oshirish kerakligini bilib oling.

Keling, misolga qaytaylik. Ma'lumki, ish haqi qanchalik yuqori bo'lsa, qarz oluvchi kreditni to'lash uchun har oyda ko'proq mablag' ajratishi mumkin. Shu bilan birga, ma'lum bir ish haqi oralig'i uchun bu munosabatlar juda chiziqli bo'ladi. Masalan, 60.000 200.000 rubldan 3 5.000 rublgacha bo'lgan ish haqi oralig'ini olaylik va belgilangan ish haqi oralig'ida oylik to'lov hajmining ish haqi miqdoriga bog'liqligi chiziqli deb faraz qilaylik. Aytaylik, ish haqining belgilangan diapazoni uchun ish haqining to'lovga nisbati XNUMX dan past bo'lishi mumkin emasligi va qarz oluvchining zaxirasida hali ham XNUMX rubl bo'lishi kerakligi aniqlandi. Va faqat bu holatda, biz qarz oluvchining bankka kreditni to'lashini taxmin qilamiz. Keyin chiziqli regressiya tenglamasi quyidagi shaklni oladi:

Logistik regressiyani chaynash

qayerda Logistik regressiyani chaynash, Logistik regressiyani chaynash, Logistik regressiyani chaynash, Logistik regressiyani chaynash - ish haqi Logistik regressiyani chaynash- qarz oluvchi, Logistik regressiyani chaynash - kredit to'lovi Logistik regressiyani chaynash- qarz oluvchi.

Ish haqi va kredit to'lovini belgilangan parametrlar bilan tenglamaga almashtirish Logistik regressiyani chaynash Siz kredit berish yoki rad etish to'g'risida qaror qabul qilishingiz mumkin.

Oldinga qarab, biz berilgan parametrlar bilan shuni ta'kidlaymiz Logistik regressiyani chaynash chiziqli regressiya funktsiyasi, ichida ishlatilgan logistika javob funksiyalari kreditni qaytarish ehtimolini aniqlash uchun hisob-kitoblarni murakkablashtiradigan katta qiymatlarni keltirib chiqaradi. Shuning uchun koeffitsientlarimizni, aytaylik, 25.000 ming barobarga kamaytirish taklif qilinmoqda. Koeffitsientlarning bunday o'zgarishi kredit berish to'g'risidagi qarorni o'zgartirmaydi. Kelajakda bu nuqtani eslaylik, ammo hozir nima haqida gapirayotganimizni yanada aniqroq qilish uchun keling, uchta potentsial qarz oluvchi bilan vaziyatni ko'rib chiqaylik.

1-jadval β€œPotentsial qarz oluvchilar”

Logistik regressiyani chaynash

Jadvalni yaratish uchun kod

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

Jadvaldagi ma'lumotlarga ko'ra, Vasya 120.000 3.000 rubl maoshi bilan har oy 5.000 XNUMX rubl to'lashi uchun kredit olishni xohlaydi. Biz kreditni tasdiqlash uchun Vasyaning ish haqi to'lov miqdoridan uch baravar ko'p bo'lishi kerakligini va hali ham XNUMX rubl qolishi kerakligini aniqladik. Vasya bu talabni qondiradi: Logistik regressiyani chaynash. Hatto 106.000 XNUMX rubl ham qoladi. Hisoblashda shunga qaramay Logistik regressiyani chaynash imkoniyatlarni kamaytirdik Logistik regressiyani chaynash 25.000 XNUMX marta, natija bir xil bo'ldi - kreditni tasdiqlash mumkin. Fedya ham qarz oladi, lekin Lesha, eng ko'p olganiga qaramay, ishtahasini jilovlashi kerak.

Keling, bu holat uchun grafik chizamiz.

2-chizma β€œQarz oluvchilarning tasnifi”

Logistik regressiyani chaynash

Grafik chizish uchun kod

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

Shunday qilib, funktsiyaga muvofiq qurilgan bizning to'g'ri chiziq Logistik regressiyani chaynash, "yomon" qarz oluvchilarni "yaxshi"lardan ajratib turadi. Istaklari o'z imkoniyatlariga to'g'ri kelmaydigan qarz oluvchilar chiziqdan yuqori (Lesha), bizning modelimiz parametrlariga ko'ra kreditni to'lashga qodir bo'lganlar esa chiziq ostida (Vasya va Fedya). Boshqacha qilib aytganda, biz buni aytishimiz mumkin: bizning to'g'ridan-to'g'ri liniyamiz qarz oluvchilarni ikki sinfga ajratadi. Ularni quyidagicha belgilaymiz: sinfga Logistik regressiyani chaynash Biz kreditni to'lash ehtimoli yuqori bo'lgan qarz oluvchilarni tasniflaymiz Logistik regressiyani chaynash yoki Logistik regressiyani chaynash Biz kreditni to'lay olmaydigan qarz oluvchilarni o'z ichiga olamiz.

Keling, ushbu oddiy misoldan xulosalarni umumlashtiramiz. Keling, bir fikrni olaylik Logistik regressiyani chaynash va nuqtaning koordinatalarini chiziqning tegishli tenglamasiga almashtirish Logistik regressiyani chaynash, uchta variantni ko'rib chiqing:

  1. Agar nuqta chiziq ostida bo'lsa va biz uni sinfga tayinlaymiz Logistik regressiyani chaynash, keyin funksiya qiymati Logistik regressiyani chaynash dan ijobiy bo'ladi Logistik regressiyani chaynash uchun Logistik regressiyani chaynash. Bu shuni anglatadiki, biz kreditni to'lash ehtimoli ichida deb taxmin qilishimiz mumkin Logistik regressiyani chaynash. Funktsiya qiymati qanchalik katta bo'lsa, ehtimollik shunchalik yuqori bo'ladi.
  2. Agar nuqta chiziqdan yuqori bo'lsa va biz uni sinfga tayinlaymiz Logistik regressiyani chaynash yoki Logistik regressiyani chaynash, u holda funktsiyaning qiymati dan manfiy bo'ladi Logistik regressiyani chaynash uchun Logistik regressiyani chaynash. Keyin biz qarzni to'lash ehtimoli ichida deb taxmin qilamiz Logistik regressiyani chaynash va funktsiyaning mutlaq qiymati qanchalik katta bo'lsa, bizning ishonchimiz shunchalik yuqori bo'ladi.
  3. Nuqta to'g'ri chiziqda, ikki sinf o'rtasidagi chegarada. Bunday holda, funktsiyaning qiymati Logistik regressiyani chaynash teng bo'ladi Logistik regressiyani chaynash va kreditni to'lash ehtimoli teng Logistik regressiyani chaynash.

Keling, tasavvur qilaylik, bizda ikkita emas, balki o'nlab, uch emas, minglab qarz oluvchilar bor. Keyin to'g'ri chiziq o'rniga bizda bo'ladi m o'lchamli tekislik va koeffitsientlar Logistik regressiyani chaynash biz havodan tashqariga chiqarilmaydi, balki barcha qoidalarga muvofiq va kreditni to'lagan yoki to'lamagan qarz oluvchilar to'g'risidagi to'plangan ma'lumotlar asosida olinadi. Va haqiqatan ham, biz allaqachon ma'lum bo'lgan koeffitsientlardan foydalangan holda qarz oluvchilarni tanlayotganimizni unutmang Logistik regressiyani chaynash. Aslida, logistik regressiya modelining vazifasi parametrlarni aniq aniqlashdir Logistik regressiyani chaynash, bunda yo'qotish funktsiyasining qiymati Logistik yo'qotish minimal darajaga intiladi. Ammo vektor qanday hisoblanganligi haqida Logistik regressiyani chaynash, biz maqolaning 5-qismida ko'proq bilib olamiz. Bu orada biz va’da qilingan yerga – bankirimiz va uning uchta mijoziga qaytamiz.

Funksiya uchun rahmat Logistik regressiyani chaynash kimga qarz berish mumkinligini va kimga rad etish kerakligini bilamiz. Ammo siz bunday ma'lumot bilan direktorga kira olmaysiz, chunki ular bizdan har bir qarz oluvchi tomonidan kreditni qaytarish ehtimolini olishni xohlashdi. Nima qilish kerak? Javob oddiy - biz funktsiyani qandaydir tarzda o'zgartirishimiz kerak Logistik regressiyani chaynash, ularning qiymatlari diapazonda joylashgan Logistik regressiyani chaynash qiymatlari diapazonda joylashgan funksiyaga Logistik regressiyani chaynash. Va bunday funktsiya mavjud, u chaqiriladi logistik javob funksiyasi yoki teskari logit transformatsiyasi. Tanishish:

Logistik regressiyani chaynash

Keling, bu qanday ishlashini bosqichma-bosqich ko'rib chiqaylik logistik javob funksiyasi. E'tibor bering, biz teskari yo'nalishda yuramiz, ya'ni. dan oralig'ida joylashgan ehtimollik qiymatini bilamiz deb faraz qilamiz Logistik regressiyani chaynash uchun Logistik regressiyani chaynash va keyin biz bu qiymatni barcha raqamlar oralig'iga "bo'shatamiz" Logistik regressiyani chaynash uchun Logistik regressiyani chaynash.

03. Logistik javob funksiyasini olamiz

1-qadam. Ehtimollik qiymatlarini diapazonga aylantiring Logistik regressiyani chaynash

Funktsiyani o'zgartirish jarayonida Logistik regressiyani chaynash Π² logistik javob funksiyasi Logistik regressiyani chaynash Biz kredit tahlilchimizni yolgβ€˜iz qoldirib, bukmekerlar bilan tanishamiz. Yo'q, albatta, biz pul tikmaymiz, bizni qiziqtirgan narsa bu iboraning ma'nosi, masalan, imkoniyat 4 ga 1. Barcha tikish o'yinchilariga tanish bo'lgan koeffitsientlar "muvaffaqiyat" ning " muvaffaqiyatsizliklar". Ehtimollik nuqtai nazaridan, koeffitsientlar hodisaning sodir bo'lish ehtimolini voqea sodir bo'lmaslik ehtimoliga bo'linadi. Keling, voqea sodir bo'lish ehtimoli formulasini yozamiz Logistik regressiyani chaynash:

Logistik regressiyani chaynash

qayerda Logistik regressiyani chaynash - voqea sodir bo'lish ehtimoli; Logistik regressiyani chaynash - sodir bo'lmagan voqea ehtimoli

Masalan, β€œVeterok” laqabli yosh, baquvvat va oβ€˜ynoqi otning β€œMatilda” ismli keksa va nimjon kampirni poygada urish ehtimoli teng boβ€˜lsa. Logistik regressiyani chaynash, keyin "Veterok" uchun muvaffaqiyatga erishish imkoniyati bo'ladi Logistik regressiyani chaynash ΠΊ Logistik regressiyani chaynash Logistik regressiyani chaynash va aksincha, koeffitsientlarni bilgan holda, ehtimollikni hisoblash biz uchun qiyin bo'lmaydi Logistik regressiyani chaynash:

Logistik regressiyani chaynash

Shunday qilib, biz ehtimollikni qiymatlarni oladigan tasodiflarga "tarjima" qilishni o'rgandik Logistik regressiyani chaynash uchun Logistik regressiyani chaynash. Keling, yana bir qadam tashlab, ehtimollikni butun son qatoriga β€œtarjima” qilishni o'rganamiz Logistik regressiyani chaynash uchun Logistik regressiyani chaynash.

2-qadam. Ehtimollik qiymatlarini diapazonga aylantiring Logistik regressiyani chaynash

Bu qadam juda oddiy - keling, Eyler soni bazasiga koeffitsientlarning logarifmini olaylik. Logistik regressiyani chaynash va biz olamiz:

Logistik regressiyani chaynash

Endi biz buni bilamiz, agar Logistik regressiyani chaynash, keyin qiymatni hisoblang Logistik regressiyani chaynash juda oddiy bo'ladi va bundan tashqari, ijobiy bo'lishi kerak: Logistik regressiyani chaynash. Ha shunaqa.

Qiziq, keling, nima bo'lishini tekshirib ko'raylik Logistik regressiyani chaynash, keyin biz salbiy qiymatni ko'rishni kutamiz Logistik regressiyani chaynash. Biz tekshiramiz: Logistik regressiyani chaynash. Hammasi to'g'ri.

Endi biz ehtimollik qiymatini qanday o'zgartirishni bilamiz Logistik regressiyani chaynash uchun Logistik regressiyani chaynash dan butun son chizig'i bo'ylab Logistik regressiyani chaynash uchun Logistik regressiyani chaynash. Keyingi bosqichda biz buning aksini qilamiz.

Hozircha funktsiya qiymatini bilish logarifm qoidalariga muvofiq ekanligini ta'kidlaymiz Logistik regressiyani chaynash, siz koeffitsientlarni hisoblashingiz mumkin:

Logistik regressiyani chaynash

Koeffitsientlarni aniqlashning ushbu usuli biz uchun keyingi bosqichda foydali bo'ladi.

3-qadam. Aniqlash uchun formulani chiqaramiz Logistik regressiyani chaynash

Shunday qilib, biz bilib oldik Logistik regressiyani chaynash, funksiya qiymatlarini toping Logistik regressiyani chaynash. Biroq, aslida, bizga mutlaqo teskari - qiymatni bilish kerak Logistik regressiyani chaynash topmoq Logistik regressiyani chaynash. Buning uchun teskari koeffitsient funksiyasi kabi tushunchaga murojaat qilaylik, unga ko'ra:

Logistik regressiyani chaynash

Maqolada biz yuqoridagi formulani olmaymiz, lekin biz uni yuqoridagi misoldagi raqamlar yordamida tekshiramiz. Biz bilamizki, 4 ga 1 koeffitsient bilan (Logistik regressiyani chaynash), hodisaning sodir bo'lish ehtimoli 0.8 (Logistik regressiyani chaynash). Keling, almashtirishni amalga oshiramiz: Logistik regressiyani chaynash. Bu bizning oldingi hisob-kitoblarimiz bilan mos keladi. Keling, davom etaylik.

Oxirgi bosqichda biz buni aniqladik Logistik regressiyani chaynash, ya'ni siz teskari koeffitsient funksiyasida almashtirishni amalga oshirishingiz mumkin. Biz olamiz:

Logistik regressiyani chaynash

Numerator va maxrajni ikkiga bo'ling Logistik regressiyani chaynash, Keyin:

Logistik regressiyani chaynash

Hech qanday holatda xato qilmaganimizga ishonch hosil qilish uchun biz yana bitta kichik tekshiruv o'tkazamiz. 2-bosqichda biz uchun Logistik regressiyani chaynash deb belgiladi Logistik regressiyani chaynash. Keyin, qiymatni almashtiring Logistik regressiyani chaynash logistika javob funksiyasiga, biz olishni kutmoqdamiz Logistik regressiyani chaynash. Biz almashtiramiz va olamiz: Logistik regressiyani chaynash

Tabriklaymiz, aziz o'quvchi, biz hozirgina logistik javob funksiyasini yaratdik va sinab ko'rdik. Funktsiyaning grafigini ko'rib chiqamiz.

Grafik 3 β€œLogistik javob funksiyasi”

Logistik regressiyani chaynash

Grafik chizish uchun kod

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

Adabiyotda siz ushbu funktsiyaning nomini ham topishingiz mumkin sigmasimon funktsiya. Grafik aniq ko'rsatadiki, ob'ektning sinfga tegishli bo'lish ehtimolining asosiy o'zgarishi nisbatan kichik diapazonda sodir bo'ladi. Logistik regressiyani chaynash, qayerdandir Logistik regressiyani chaynash uchun Logistik regressiyani chaynash.

Men kredit tahlilchimizga qaytib, unga kreditni to'lash ehtimolini hisoblashda yordam berishni taklif qilaman, aks holda u bonussiz qolishi mumkin :)

2-jadval β€œPotentsial qarz oluvchilar”

Logistik regressiyani chaynash

Jadvalni yaratish uchun kod

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

Shunday qilib, biz kreditni qaytarish ehtimolini aniqladik. Umuman olganda, bu haqiqatga o'xshaydi.

Darhaqiqat, 120.000 3.000 rubl maoshga ega Vasya har oy bankka 100 rubl berish ehtimoli 0.3% ga yaqin. Aytgancha, agar bank siyosatida, masalan, kreditni qaytarish ehtimoli XNUMX dan ortiq bo'lgan mijozlarga kredit berish nazarda tutilgan bo'lsa, bank Leshaga kredit berishi mumkinligini tushunishimiz kerak. Shunchaki, bu holda bank mumkin bo'lgan yo'qotishlar uchun kattaroq zaxira yaratadi.

Shuni ham ta'kidlash kerakki, ish haqining to'lovga nisbati kamida 3 va 5.000 RUR marjasi bilan shiftdan olingan. Shuning uchun biz og'irliklar vektorini asl ko'rinishida ishlata olmadik Logistik regressiyani chaynash. Biz koeffitsientlarni sezilarli darajada kamaytirishimiz kerak edi va bu holda biz har bir koeffitsientni 25.000 XNUMX ga bo'ldik, ya'ni biz natijani to'g'rilab oldik. Ammo bu dastlabki bosqichda materialni tushunishni soddalashtirish uchun maxsus qilingan. Hayotda biz koeffitsientlarni ixtiro qilishimiz va sozlashimiz shart emas, balki ularni topamiz. Maqolaning keyingi bo'limlarida biz parametrlar tanlangan tenglamalarni olamiz Logistik regressiyani chaynash.

04. Og'irliklar vektorini aniqlashning eng kichik kvadratlar usuli Logistik regressiyani chaynash logistika javob funksiyasida

Biz og'irliklar vektorini tanlashning ushbu usulini allaqachon bilamiz Logistik regressiyani chaynash, deb Eng kichik kvadratlar usuli (LSM) va aslida, nega biz uni ikkilik tasniflash muammolarida ishlatmaymiz? Darhaqiqat, foydalanishga hech narsa to'sqinlik qilmaydi MNC, tasniflash masalalarida faqat ushbu usuldan kamroq aniq natijalar beradi Logistik yo'qotish. Buning nazariy asoslari mavjud. Avval bitta oddiy misolni ko'rib chiqaylik.

Faraz qilaylik, bizning modellarimiz (foydalanish MSE ΠΈ Logistik yo'qotish) allaqachon og'irliklar vektorini tanlashni boshladilar Logistik regressiyani chaynash va biz bir qadamda hisobni to'xtatdik. O'rtada, oxirida yoki boshida muhim emas, asosiysi bizda og'irliklar vektorining ba'zi qiymatlari bor va bu bosqichda og'irliklar vektori deb faraz qilaylik. Logistik regressiyani chaynash ikkala model uchun ham farqlar yo'q. Keyin olingan og'irliklarni oling va ularni o'rniga qo'ying logistik javob funksiyasi (Logistik regressiyani chaynash) sinfga tegishli bo'lgan ba'zi ob'ektlar uchun Logistik regressiyani chaynash. Biz ikkita holatni ko'rib chiqamiz, agar tanlangan og'irliklar vektoriga muvofiq, bizning modelimiz juda xato bo'lsa va aksincha - model ob'ekt sinfga tegishli ekanligiga juda ishonadi. Logistik regressiyani chaynash. Keling, foydalanishda qanday jarimalar berilishini ko'rib chiqaylik MNC ΠΈ Logistik yo'qotish.

Amaldagi yo'qotish funktsiyasiga qarab jarimalarni hisoblash uchun kod

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

Qo'pol xatolik holati β€” model obyektni sinfga tayinlaydi Logistik regressiyani chaynash 0,01 ehtimollik bilan

Foydalanish uchun jarima MNC bo'ladi:
Logistik regressiyani chaynash

Foydalanish uchun jarima Logistik yo'qotish bo'ladi:
Logistik regressiyani chaynash

Kuchli ishonch holati β€” model obyektni sinfga tayinlaydi Logistik regressiyani chaynash 0,99 ehtimollik bilan

Foydalanish uchun jarima MNC bo'ladi:
Logistik regressiyani chaynash

Foydalanish uchun jarima Logistik yo'qotish bo'ladi:
Logistik regressiyani chaynash

Ushbu misol qo'pol xatolik bo'lsa, yo'qotish funktsiyasini yaxshi ko'rsatadi Log yo'qotish dan sezilarli darajada ko'proq modelni jazolaydi MSE. Keling, yo'qotish funktsiyasidan foydalanishning nazariy asoslari nima ekanligini tushunib olaylik Log yo'qotish tasniflash muammolarida.

05. Maksimal ehtimollik usuli va logistik regressiya

Boshida va'da qilinganidek, maqola oddiy misollar bilan to'la. Studiyada yana bir misol va eski mehmonlar bor - bank qarz oluvchilar: Vasya, Fedya va Lesha.

Har holda, misolni ishlab chiqishdan oldin, hayotda biz o'nlab yoki yuzlab xususiyatlarga ega minglab yoki millionlab ob'ektlarning o'quv namunasi bilan shug'ullanayotganimizni eslatib o'taman. Biroq, bu erda raqamlar yangi boshlanuvchi ma'lumot olimining boshiga osongina mos kelishi uchun olingan.

Keling, misolga qaytaylik. Tasavvur qilaylik, bank direktori algoritm uni Leshaga bermaslikni aytganiga qaramay, barcha muhtojlarga kredit berishga qaror qildi. Endi esa yetarlicha vaqt oβ€˜tdi va biz uchta qahramondan qaysi biri qarzni qaytargan, qaysi biri bermaganligini bilamiz. Nimani kutish kerak edi: Vasya va Fedya qarzni to'lashdi, lekin Lesha bermadi. Keling, tasavvur qilaylik, bu natija biz uchun yangi o'quv namunasi bo'ladi va shu bilan birga, kreditni to'lash ehtimoliga ta'sir qiluvchi omillar (qarz oluvchining ish haqi, oylik to'lov miqdori) haqidagi barcha ma'lumotlar yo'qolganga o'xshaydi. Keyin, intuitiv ravishda, biz har uchinchi qarz oluvchining bankka kreditni to'lamasligini yoki boshqacha qilib aytganda, keyingi qarz oluvchining kreditni qaytarish ehtimolini taxmin qilishimiz mumkin. Logistik regressiyani chaynash. Ushbu intuitiv taxmin nazariy jihatdan tasdiqlanadi va unga asoslanadi maksimal ehtimollik usuli, ko'pincha adabiyotda deyiladi maksimal ehtimollik printsipi.

Birinchidan, kontseptual apparat bilan tanishamiz.

Namuna olish ehtimoli aynan shunday namunani olish, aynan shunday kuzatishlar/natijalarni olish ehtimoli, ya'ni. har bir namunaviy natijalarni olish ehtimoli mahsuloti (masalan, Vasya, Fedya va Leshaning krediti bir vaqtning o'zida to'langanmi yoki to'lanmaganmi).

Ehtimollik funksiyasi Namuna ehtimolini taqsimlash parametrlarining qiymatlari bilan bog'laydi.

Bizning holatda, o'quv namunasi umumlashtirilgan Bernulli sxemasi bo'lib, unda tasodifiy o'zgaruvchi faqat ikkita qiymatni oladi: Logistik regressiyani chaynash yoki Logistik regressiyani chaynash. Shuning uchun namunaning ehtimolligi parametrning ehtimollik funksiyasi sifatida yozilishi mumkin Logistik regressiyani chaynash quyida bayon qilinganidek:

Logistik regressiyani chaynash
Logistik regressiyani chaynash

Yuqoridagi yozuvni quyidagicha talqin qilish mumkin. Vasya va Fedya qarzni to'lashning birgalikdagi ehtimoli teng Logistik regressiyani chaynash, Leshaning kreditni to'lamasligi ehtimoli teng Logistik regressiyani chaynash (chunki bu kreditni to'lash bo'lmagan), shuning uchun har uchala hodisaning birgalikdagi ehtimoli tengdir. Logistik regressiyani chaynash.

Maksimal ehtimollik usuli noma'lum parametrni maksimallashtirish orqali baholash usulidir ehtimollik funktsiyalari. Bizning holatda, biz bunday qiymatni topishimiz kerak Logistik regressiyani chaynash, qaysi vaqtda Logistik regressiyani chaynash maksimal darajaga etadi.

Haqiqiy g'oya qayerdan kelib chiqadi - ehtimollik funksiyasi maksimal darajaga etgan noma'lum parametrning qiymatini izlash? G'oyaning kelib chiqishi namuna aholi haqidagi biz uchun mavjud bo'lgan yagona bilim manbai degan fikrdan kelib chiqadi. Biz populyatsiya haqida bilgan hamma narsa namunada aks ettirilgan. Shuning uchun biz aytishimiz mumkin bo'lgan yagona narsa shundaki, namuna biz uchun mavjud bo'lgan populyatsiyaning eng aniq aksidir. Shuning uchun, biz mavjud bo'lgan namuna eng ehtimoliy bo'ladigan parametrni topishimiz kerak.

Shubhasiz, biz optimallashtirish muammosi bilan shug'ullanamiz, unda biz funktsiyaning ekstremum nuqtasini topishimiz kerak. Ekstremum nuqtani topish uchun birinchi tartib shartni ko'rib chiqish, ya'ni funksiyaning hosilasini nolga tenglashtirish va kerakli parametrga nisbatan tenglamani yechish kerak. Biroq, ko'p sonli omillar mahsulotining hosilasini izlash uzoq vaqt talab qilishi mumkin, buning oldini olish uchun maxsus texnika mavjud - logarifmga o'tish. ehtimollik funktsiyalari. Nima uchun bunday o'tish mumkin? Keling, funksiyaning ekstremumini qidirmasligimizga e'tibor qarataylikLogistik regressiyani chaynash, va ekstremum nuqtasi, ya'ni noma'lum parametrning qiymati Logistik regressiyani chaynash, qaysi vaqtda Logistik regressiyani chaynash maksimal darajaga etadi. Logarifmga o'tishda ekstremum nuqtasi o'zgarmaydi (garchi ekstremumning o'zi farq qilsa ham), chunki logarifm monotonik funktsiyadir.

Keling, yuqoridagilarga muvofiq, Vasya, Fedya va Leshadan olingan kreditlar bilan o'z misolimizni rivojlantirishni davom ettiraylik. Avvaliga davom etaylik ehtimollik funksiyasining logarifmi:

Logistik regressiyani chaynash

Endi biz iborani osongina farqlay olamiz Logistik regressiyani chaynash:

Logistik regressiyani chaynash

Va nihoyat, birinchi darajali shartni ko'rib chiqing - biz funktsiyaning hosilasini nolga tenglashtiramiz:

Logistik regressiyani chaynash

Shunday qilib, kreditni to'lash ehtimolini intuitiv baholashimiz Logistik regressiyani chaynash nazariy jihatdan asoslandi.

Ajoyib, lekin hozir bu ma'lumot bilan nima qilishimiz kerak? Agar har uchinchi qarz oluvchi pulni bankka qaytarmaydi deb hisoblasak, ikkinchisi muqarrar ravishda bankrot bo'ladi. To'g'ri, lekin faqat kreditni to'lash ehtimolini baholashda Logistik regressiyani chaynash Biz kreditni to'lashga ta'sir qiluvchi omillarni hisobga olmadik: qarz oluvchining ish haqi va oylik to'lov miqdori. Eslatib o'tamiz, biz ilgari xuddi shu omillarni hisobga olgan holda har bir mijoz tomonidan kreditni to'lash ehtimolini hisoblab chiqdik. Biz doimiy tengdan farqli ehtimollarni olganimiz mantiqan Logistik regressiyani chaynash.

Keling, namunalar ehtimolini aniqlaymiz:

Namuna ehtimolini hisoblash uchun kod

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)

Doimiy qiymatda namuna olish ehtimoli Logistik regressiyani chaynash:

Logistik regressiyani chaynash

Faktorlarni hisobga olgan holda kreditni qaytarish ehtimolini hisoblashda namunaviy ehtimollik Logistik regressiyani chaynash:

Logistik regressiyani chaynash
Logistik regressiyani chaynash

Omillarga bog'liq holda hisoblangan ehtimolli namunaning ehtimoli doimiy ehtimollik qiymatiga ega bo'lgan ehtimoldan yuqori bo'lib chiqdi. Bu qanday ma'nono bildiradi? Bu shuni ko'rsatadiki, omillar haqidagi bilimlar har bir mijoz uchun kreditni to'lash ehtimolini aniqroq tanlash imkonini berdi. Shuning uchun, keyingi kreditni berishda, qarzni to'lash ehtimolini baholash uchun maqolaning 3-qismining oxirida taklif qilingan modeldan foydalanish to'g'ri bo'ladi.

Ammo keyin, agar biz maksimal darajada oshirishni xohlasak namuna ehtimoli funktsiyasi, unda nima uchun Vasya, Fedya va Lesha uchun ehtimolliklarni ishlab chiqaradigan algoritmdan foydalanmaslik kerak, masalan, mos ravishda 0.99, 0.99 va 0.01 ga teng. Ehtimol, bunday algoritm o'quv namunasida yaxshi ishlaydi, chunki u namunaning ehtimollik qiymatini yaqinlashtiradi. Logistik regressiyani chaynash, lekin, birinchidan, bunday algoritm umumlashtirish qobiliyati bilan bog'liq qiyinchiliklarga duch keladi, ikkinchidan, bu algoritm aniq chiziqli bo'lmaydi. Va agar ortiqcha mashg'ulotlarga qarshi kurash usullari (bir xil darajada zaif umumlashtirish qobiliyati) ushbu maqolaning rejasiga aniq kiritilmagan bo'lsa, keling, ikkinchi nuqtani batafsilroq ko'rib chiqaylik. Buning uchun oddiy savolga javob berish kifoya. Bizga ma'lum bo'lgan omillarni hisobga olgan holda, Vasya va Fedyaning kreditni qaytarish ehtimoli bir xil bo'lishi mumkinmi? Sog'lom mantiq nuqtai nazaridan, albatta, yo'q, mumkin emas. Shunday qilib, Vasya kreditni to'lash uchun oyiga ish haqining 2.5 foizini, Fedya esa deyarli 27,8 foizini to'laydi. Shuningdek, "Mijozlarni tasniflash" 2-grafigida biz Vasya Fedyaga qaraganda sinflarni ajratib turadigan chiziqdan ancha uzoqda ekanligini ko'ramiz. Va nihoyat, biz funktsiyani bilamiz Logistik regressiyani chaynash Vasya va Fedya uchun turli qiymatlarni oladi: Vasya uchun 4.24 va Fedya uchun 1.0. Endi, masalan, Fedya ko'proq buyurtma olgan bo'lsa yoki kichikroq qarz so'rasa, Vasya va Fedya uchun qarzni to'lash ehtimoli o'xshash bo'ladi. Boshqacha qilib aytganda, chiziqli qaramlikni aldab bo'lmaydi. Va agar biz haqiqatda koeffitsientlarni hisoblab chiqsak Logistik regressiyani chaynash, va ularni havodan olib chiqmadik, biz ishonch bilan aytishimiz mumkinki, bizning qadriyatlarimiz Logistik regressiyani chaynash eng yaxshisi har bir qarz oluvchi tomonidan kreditni to'lash ehtimolini baholashga imkon beradi, ammo biz koeffitsientlarni aniqlashga rozi bo'lganimiz sababli Logistik regressiyani chaynash barcha qoidalarga muvofiq amalga oshirildi, keyin biz shunday deb taxmin qilamiz - bizning koeffitsientlarimiz ehtimollikni yaxshiroq baholashga imkon beradi :)

Biroq, biz chekinamiz. Ushbu bo'limda biz og'irliklar vektori qanday aniqlanganligini tushunishimiz kerak Logistik regressiyani chaynash, bu har bir qarz oluvchi tomonidan kreditni qaytarish ehtimolini baholash uchun zarur.

Keling, qanday arsenal bilan ziddiyatlarni qidirayotganimizni qisqacha bayon qilaylik Logistik regressiyani chaynash:

1. Maqsadli o'zgaruvchi (bashorat qiymati) va natijaga ta'sir etuvchi omil o'rtasidagi bog'liqlik chiziqli deb faraz qilamiz. Shu sababdan foydalaniladi chiziqli regressiya funktsiyasi turlari Logistik regressiyani chaynash, uning chizig'i ob'ektlarni (mijozlarni) sinflarga ajratadi Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash yoki Logistik regressiyani chaynash (kreditni to'lashga qodir bo'lgan va to'lay olmaydigan mijozlar). Bizning holatda, tenglama shaklga ega Logistik regressiyani chaynash.

2. Biz foydalanamiz teskari logit funktsiyasi turlari Logistik regressiyani chaynash ob'ektning sinfga tegishli bo'lish ehtimolini aniqlash Logistik regressiyani chaynash.

3. Biz o'quv majmuamizni umumlashtirilganning amalga oshirilishi deb hisoblaymiz Bernoulli sxemalari, ya'ni har bir ob'ekt uchun tasodifiy o'zgaruvchi hosil bo'ladi, bu ehtimollik bilan Logistik regressiyani chaynash (har bir ob'ekt uchun o'z) 1 va ehtimollik qiymatini oladi Logistik regressiyani chaynash - 0.

4. Biz nimani maksimal darajada oshirishimiz kerakligini bilamiz namuna ehtimoli funktsiyasi qabul qilingan omillarni hisobga olgan holda mavjud namuna eng ishonchli bo'ladi. Boshqacha qilib aytganda, biz namunani eng maqbul bo'lgan parametrlarni tanlashimiz kerak. Bizning holatda, tanlangan parametr kreditni qaytarish ehtimoli hisoblanadi Logistik regressiyani chaynash, bu o'z navbatida noma'lum koeffitsientlarga bog'liq Logistik regressiyani chaynash. Shunday qilib, biz og'irliklarning bunday vektorini topishimiz kerak Logistik regressiyani chaynash, bunda namunaning ehtimoli maksimal bo'ladi.

5. Biz nimani maksimal darajada oshirishni bilamiz Namuna ehtimollik funksiyalari foydalanishingiz mumkin maksimal ehtimollik usuli. Va biz bu usul bilan ishlashning barcha hiyla-nayranglarini bilamiz.

Bu ko'p bosqichli harakat bo'lib chiqadi :)

Endi esda tutingki, maqolaning boshida biz ikki turdagi yo'qotish funktsiyalarini olishni xohladik Logistik yo'qotish ob'ekt sinflari qanday belgilanishiga bog'liq. Shunday bo'ldiki, ikkita sinf bilan tasniflash masalalarida sinflar sifatida belgilanadi Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash yoki Logistik regressiyani chaynash. Belgilanishga qarab, chiqish mos keladigan yo'qotish funktsiyasiga ega bo'ladi.

1-holat. Ob'ektlarning tasnifi Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash

Ilgari, qarz oluvchi tomonidan qarzni to'lash ehtimoli omillar va berilgan koeffitsientlar asosida hisoblangan namunaning ehtimolini aniqlashda. Logistik regressiyani chaynash, biz formulani qo'llaymiz:

Logistik regressiyani chaynash

Aslida Logistik regressiyani chaynash ma'nosidir logistika javob funksiyalari Logistik regressiyani chaynash berilgan og'irliklar vektori uchun Logistik regressiyani chaynash

Keyin hech narsa bizga namuna ehtimoli funktsiyasini quyidagicha yozishimizga to'sqinlik qilmaydi:

Logistik regressiyani chaynash

Ba'zida ba'zi yangi boshlanuvchilar uchun ushbu funktsiya qanday ishlashini darhol tushunish qiyin bo'ladi. Keling, narsalarni aniqlaydigan 4 ta qisqa misolni ko'rib chiqaylik:

1. agar Logistik regressiyani chaynash (ya'ni, o'quv namunasiga ko'ra, ob'ekt +1 sinfga tegishli) va bizning algoritmimiz Logistik regressiyani chaynash ob'ektni sinfga tasniflash ehtimolini aniqlaydi Logistik regressiyani chaynash 0.9 ga teng bo'lsa, namunaning ehtimollik qismi quyidagicha hisoblanadi:

Logistik regressiyani chaynash

2. agar Logistik regressiyani chaynashva Logistik regressiyani chaynash, keyin hisoblash quyidagicha bo'ladi:

Logistik regressiyani chaynash

3. agar Logistik regressiyani chaynashva Logistik regressiyani chaynash, keyin hisoblash quyidagicha bo'ladi:

Logistik regressiyani chaynash

4. agar Logistik regressiyani chaynashva Logistik regressiyani chaynash, keyin hisoblash quyidagicha bo'ladi:

Logistik regressiyani chaynash

Ma'lumki, ehtimollik funksiyasi 1 va 3 holatlarida yoki umumiy holatda - ob'ektni sinfga belgilash ehtimolining to'g'ri taxmin qilingan qiymatlari bilan maksimal darajaga ko'tariladi. Logistik regressiyani chaynash.

Ob'ektni sinfga belgilash ehtimolini aniqlashda Logistik regressiyani chaynash Biz faqat koeffitsientlarni bilmaymiz Logistik regressiyani chaynash, keyin biz ularni qidiramiz. Yuqorida ta'kidlab o'tilganidek, bu optimallashtirish muammosi bo'lib, unda avval og'irliklar vektoriga nisbatan ehtimollik funksiyasining hosilasini topishimiz kerak. Logistik regressiyani chaynash. Biroq, birinchi navbatda o'zimiz uchun vazifani soddalashtirish mantiqan: biz logarifmning hosilasini qidiramiz. ehtimollik funktsiyalari.

Logistik regressiyani chaynash

Nima uchun logarifmdan keyin, in logistik xato funktsiyalaridan belgini o'zgartirdik Logistik regressiyani chaynash haqida Logistik regressiyani chaynash. Hammasi oddiy, chunki model sifatini baholash muammolarida funktsiya qiymatini minimallashtirish odatiy holdir, biz ifodaning o'ng tomonini ko'paytirdik. Logistik regressiyani chaynash va shunga mos ravishda, maksimallashtirish o'rniga, endi biz funktsiyani minimallashtiramiz.

Aslida, hozir sizning ko'zingiz oldida yo'qotish funktsiyasi og'riqli tarzda olingan - Logistik yo'qotish ikkita sinfdan iborat o'quv to'plami uchun: Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash.

Endi koeffitsientlarni topish uchun hosilani topish kifoya logistik xato funktsiyalari va keyin gradient tushishi yoki stokastik gradient tushishi kabi raqamli optimallashtirish usullaridan foydalanib, eng maqbul koeffitsientlarni tanlang. Logistik regressiyani chaynash. Ammo, maqolaning katta hajmini hisobga olgan holda, differentsiatsiyani mustaqil ravishda amalga oshirish taklif etiladi, yoki bu keyingi maqola uchun bunday batafsil misollarsiz juda ko'p arifmetik mavzu bo'lishi mumkin.

2-holat. Ob'ektlarning tasnifi Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash

Bu erda yondashuv sinflar bilan bir xil bo'ladi Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash, lekin yo'qotish funktsiyasining chiqishiga yo'lning o'zi Logistik yo'qotish, yanada bezakli bo'ladi. Qani boshladik. Ehtimollik funksiyasi uchun operatordan foydalanamiz "Agar ... keyin ...". Ya'ni, agar Logistik regressiyani chaynashth ob'ekt sinfga tegishli Logistik regressiyani chaynash, keyin namunaning ehtimolligini hisoblash uchun biz ehtimollikdan foydalanamiz Logistik regressiyani chaynash, agar ob'ekt sinfga tegishli bo'lsa Logistik regressiyani chaynash, keyin biz ehtimollikka almashtiramiz Logistik regressiyani chaynash. Ehtimollik funksiyasi shunday ko'rinadi:

Logistik regressiyani chaynash

Keling, uning qanday ishlashini barmoqlarimiz bilan tasvirlab beraylik. Keling, 4 ta holatni ko'rib chiqaylik:

1. agar Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash, keyin namuna olish ehtimoli "ketadi" Logistik regressiyani chaynash

2. agar Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash, keyin namuna olish ehtimoli "ketadi" Logistik regressiyani chaynash

3. agar Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash, keyin namuna olish ehtimoli "ketadi" Logistik regressiyani chaynash

4. agar Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash, keyin namuna olish ehtimoli "ketadi" Logistik regressiyani chaynash

Ko'rinib turibdiki, 1 va 3 hollarda, ehtimolliklar algoritm bilan to'g'ri aniqlanganda, ehtimollik funksiyasi maksimal darajaga ko'tariladi, ya'ni aynan biz olishni xohlagan narsa. Biroq, bu yondashuv juda og'ir va keyin biz yanada ixcham yozuvni ko'rib chiqamiz. Lekin, avvalo, ehtimollik funksiyasini belgini o'zgartirish bilan logarifm qilaylik, chunki endi biz uni minimallashtiramiz.

Logistik regressiyani chaynash

Keling, o'rniga almashtiraylik Logistik regressiyani chaynash ifoda qilish Logistik regressiyani chaynash:

Logistik regressiyani chaynash

Oddiy arifmetik usullardan foydalangan holda logarifm ostidagi to'g'ri atamani soddalashtiramiz va quyidagilarni olamiz:

Logistik regressiyani chaynash

Endi operatordan qutulish vaqti keldi "Agar ... keyin ...". E'tibor bering, qachon ob'ekt Logistik regressiyani chaynash sinfga tegishli Logistik regressiyani chaynash, keyin logarifm ostidagi ifodada, maxrajda, Logistik regressiyani chaynash hokimiyatga ko'tarildi Logistik regressiyani chaynash, agar ob'ekt sinfga tegishli bo'lsa Logistik regressiyani chaynash, keyin $e$ quvvatga ko'tariladi Logistik regressiyani chaynash. Shunday qilib, ikkala holatni birlashtirib, daraja uchun belgini soddalashtirish mumkin: Logistik regressiyani chaynash. Keyin logistik xato funktsiyasi shaklni oladi:

Logistik regressiyani chaynash

Logarifm qoidalariga muvofiq biz kasrni aylantiramiz va belgini qo'yamiz "Logistik regressiyani chaynash"(minus) logarifm uchun biz quyidagilarni olamiz:

Logistik regressiyani chaynash

Bu erda yo'qotish funktsiyasi logistik yo'qotish, u o'quv majmuasida sinflarga tayinlangan ob'ektlar bilan ishlatiladi: Logistik regressiyani chaynash ΠΈ Logistik regressiyani chaynash.

Xo'sh, men ta'tilni olaman va maqolani yakunlaymiz.

Logistik regressiyani chaynash Muallifning oldingi ishi "Chiziqli regressiya tenglamasini matritsa ko'rinishiga keltirish"

Yordamchi materiallar

1. Adabiyot

1) Amaliy regressiya tahlili / N. Draper, G. Smit - 2-nashr. – M.: Moliya va statistika, 1986 (ingliz tilidan tarjima)

2) Ehtimollar nazariyasi va matematik statistika / V.E. Gmurman - 9-nashr. - M.: Oliy maktab, 2003 yil

3) Ehtimollar nazariyasi / N.I. Chernova - Novosibirsk: Novosibirsk davlat universiteti, 2007 yil

4) Biznes tahlili: ma'lumotlardan bilimga / Paklin N. B., Oreshkov V. I. - 2-nashr. - Sankt-Peterburg: Pyotr, 2013 yil

5) Data Science Noldan maΚΌlumotlar fani / Joel Gras - Sankt-Peterburg: BHV Peterburg, 2017

6) Ma'lumotlar fanlari bo'yicha mutaxassislar uchun amaliy statistika / P. Bryus, E. Bryus - Sankt-Peterburg: BHV Peterburg, 2018 yil

2. Ma'ruzalar, kurslar (video)

1) Maksimal ehtimollik usulining mohiyati, Boris Demeshev

2) Uzluksiz holatda maksimal ehtimollik usuli, Boris Demeshev

3) Logistik regressiya. ODS kursini oching, Yuriy Kashnitskiy

4) 4-ma'ruza, Evgeniy Sokolov (47 daqiqalik videodan)

5) Logistik regressiya, Vyacheslav Vorontsov

3. Internet manbalari

1) Chiziqli tasnif va regressiya modellari

2) Logistik regressiyani qanday oson tushunish mumkin

3) Logistik xato funktsiyasi

4) Mustaqil testlar va Bernoulli formulasi

5) MMP haqida ballada

6) Maksimal ehtimollik usuli

7) Logarifmlarning formulalari va xossalari

8) Nima uchun raqam Logistik regressiyani chaynash?

9) Chiziqli klassifikator

Manba: www.habr.com

a Izoh qo'shish