جویدن در رگرسیون لجستیک

جویدن در رگرسیون لجستیک

در این مقاله به تحلیل محاسبات نظری تبدیل می پردازیم توابع رگرسیون خطی в تابع تبدیل لاجیت معکوس (که در غیر این صورت تابع پاسخ لجستیک نامیده می شود). سپس با استفاده از زرادخانه روش حداکثر احتمالمطابق با مدل رگرسیون لجستیک، تابع ضرر را استخراج می کنیم ضرر لجستیکیا به عبارت دیگر تابعی را تعریف می کنیم که با آن پارامترهای بردار وزن در مدل رگرسیون لجستیک انتخاب می شوند. جویدن در رگرسیون لجستیک.

طرح کلی مقاله:

  1. اجازه دهید رابطه خطی بین دو متغیر را تکرار کنیم
  2. بیایید نیاز به تحول را شناسایی کنیم توابع رگرسیون خطی جویدن در رگرسیون لجستیک в تابع پاسخ لجستیک جویدن در رگرسیون لجستیک
  3. بیایید تبدیل ها و خروجی ها را انجام دهیم تابع پاسخ لجستیک
  4. بیایید سعی کنیم بفهمیم که چرا روش حداقل مربعات هنگام انتخاب پارامترها بد است جویدن در رگرسیون لجستیک توابع ضرر لجستیک
  5. ما استفاده می کنیم روش حداکثر احتمال برای تعیین توابع انتخاب پارامتر جویدن در رگرسیون لجستیک:

    5.1. مورد 1: عملکرد ضرر لجستیک برای اشیاء با نامگذاری کلاس 0 и 1:

    جویدن در رگرسیون لجستیک

    5.2. مورد 2: عملکرد ضرر لجستیک برای اشیاء با نامگذاری کلاس -1 и +1:

    جویدن در رگرسیون لجستیک


مقاله مملو از مثال‌های ساده است که در آنها همه محاسبات به‌راحتی به صورت شفاهی یا روی کاغذ انجام می‌شود؛ در برخی موارد ممکن است به ماشین‌حساب نیاز باشد. پس آماده باش :)

این مقاله در درجه اول برای دانشمندان داده با سطح دانش اولیه در مبانی یادگیری ماشین در نظر گرفته شده است.

این مقاله همچنین کدهایی را برای رسم نمودارها و محاسبات ارائه می دهد. همه کدها به زبان نوشته شده است پایتون 2.7. اجازه دهید از قبل در مورد "تازه بودن" نسخه استفاده شده توضیح دهم - این یکی از شرایط گذراندن دوره معروف از یاندکس در یک پلت فرم آموزش آنلاین به همان اندازه معروف Coursera، و همانطور که می توان حدس زد، مطالب بر اساس این دوره تهیه شده است.

01. وابستگی به خط مستقیم

کاملاً منطقی است که این سؤال را بپرسیم - وابستگی خطی و رگرسیون لجستیک چه ربطی به آن دارد؟

ساده است! رگرسیون لجستیک یکی از مدل هایی است که به طبقه بندی خطی تعلق دارد. به عبارت ساده، وظیفه یک طبقه بندی خطی پیش بینی مقادیر هدف است جویدن در رگرسیون لجستیک از متغیرها (رگرسیون) جویدن در رگرسیون لجستیک. اعتقاد بر این است که وابستگی بین ویژگی ها جویدن در رگرسیون لجستیک و مقادیر هدف جویدن در رگرسیون لجستیک خطی از این رو نام طبقه بندی کننده - خطی است. به بیان بسیار تقریبی، مدل رگرسیون لجستیک بر این فرض استوار است که یک رابطه خطی بین ویژگی ها وجود دارد. جویدن در رگرسیون لجستیک و مقادیر هدف جویدن در رگرسیون لجستیک. این ارتباط است.

اولین مثال در استودیو وجود دارد و به درستی در مورد وابستگی مستقیم کمیت های مورد مطالعه است. در فرآیند تهیه مقاله، به مثالی برخوردم که قبلاً افراد زیادی را در معرض خطر قرار داده است - وابستگی جریان به ولتاژ ("تحلیل رگرسیون کاربردی"، N. Draper، G. Smith). اینجا هم به آن نگاه می کنیم.

مطابق با قانون اهم:

جویدن در رگرسیون لجستیکجایی که جویدن در رگرسیون لجستیک - قدرت فعلی، جویدن در رگرسیون لجستیک - ولتاژ، جویدن در رگرسیون لجستیک - مقاومت.

اگر نمی دانستیم قانون اهم، سپس با تغییر می توانیم وابستگی را به صورت تجربی پیدا کنیم جویدن در رگرسیون لجستیک و اندازه گیری جویدن در رگرسیون لجستیک، ضمن حمایت جویدن در رگرسیون لجستیک درست شد. سپس می بینیم که نمودار وابستگی جویدن در رگرسیون لجستیک از جویدن در رگرسیون لجستیک یک خط کم و بیش مستقیم از طریق مبدا می دهد. ما می گوییم "کم یا بیشتر" زیرا، اگرچه رابطه در واقع دقیق است، اما اندازه گیری های ما ممکن است حاوی خطاهای کوچکی باشد و بنابراین نقاط روی نمودار ممکن است دقیقاً روی خط قرار نگیرند، اما به طور تصادفی در اطراف آن پراکنده شوند.

نمودار 1 "وابستگی" جویدن در رگرسیون لجستیک از جویدن در رگرسیون لجستیک»

جویدن در رگرسیون لجستیک

کد رسم نمودار

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. نیاز به تبدیل معادله رگرسیون خطی

بیایید به مثال دیگری نگاه کنیم. بیایید تصور کنیم که ما در یک بانک کار می کنیم و وظیفه ما این است که بسته به عوامل خاصی احتمال بازپرداخت وام توسط وام گیرنده را تعیین کنیم. برای ساده کردن کار، ما فقط دو عامل را در نظر می گیریم: حقوق ماهانه وام گیرنده و مبلغ بازپرداخت ماهانه وام.

کار بسیار مشروط است، اما با این مثال می‌توان فهمید که چرا استفاده از آن کافی نیست توابع رگرسیون خطی، و همچنین دریابید که چه تبدیلی باید با تابع انجام شود.

به مثال برگردیم. قابل درک است که هر چه حقوق و دستمزد بالاتر باشد، وام گیرنده می تواند ماهانه بیشتری را برای بازپرداخت وام اختصاص دهد. در عین حال، برای یک محدوده حقوق مشخص، این رابطه کاملاً خطی خواهد بود. به عنوان مثال، بیایید یک محدوده حقوق بین 60.000 تا 200.000 RUR را در نظر بگیریم و فرض کنیم که در محدوده حقوق مشخص شده، وابستگی اندازه پرداخت ماهانه به اندازه حقوق خطی است. بیایید بگوییم که برای محدوده مشخص شده دستمزدها مشخص شد که نسبت حقوق به پرداخت نمی تواند کمتر از 3 باشد و وام گیرنده باید همچنان 5.000 RUR ذخیره داشته باشد. و فقط در این صورت فرض می کنیم که وام گیرنده وام را به بانک بازپرداخت می کند. سپس معادله رگرسیون خطی به شکل زیر خواهد بود:

جویدن در رگرسیون لجستیک

جایی که جویدن در رگرسیون لجستیک, جویدن در رگرسیون لجستیک, جویدن در رگرسیون لجستیک, جویدن در رگرسیون لجستیک - حقوق و دستمزد جویدن در رگرسیون لجستیکوام گیرنده، جویدن در رگرسیون لجستیک - پرداخت وام جویدن در رگرسیون لجستیک-ام وام گیرنده

جایگزینی پرداخت حقوق و وام با پارامترهای ثابت در معادله جویدن در رگرسیون لجستیک شما می توانید تصمیم بگیرید که وام صادر کنید یا رد کنید.

با نگاهی به آینده، توجه می کنیم که با پارامترهای داده شده جویدن در رگرسیون لجستیک تابع رگرسیون خطی، استفاده شده در توابع پاسخ لجستیک مقادیر زیادی تولید می کند که محاسبات را برای تعیین احتمال بازپرداخت وام پیچیده می کند. بنابراین، پیشنهاد می شود که ضرایب خود را، مثلاً، 25.000 برابر کاهش دهیم. این تغییر ضرایب تغییری در تصمیم برای صدور وام ایجاد نمی کند. بیایید این نکته را برای آینده به خاطر بسپاریم، اما اکنون، برای روشن‌تر شدن موضوع بحث، بیایید وضعیت سه وام گیرنده بالقوه را در نظر بگیریم.

جدول 1 وام گیرندگان بالقوه

جویدن در رگرسیون لجستیک

کد برای تولید جدول

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

مطابق با داده های جدول، واسیا با حقوق 120.000 RUR می خواهد وام دریافت کند تا بتواند ماهانه آن را با 3.000 RUR بازپرداخت کند. ما تعیین کردیم که برای تأیید وام، حقوق واسیا باید سه برابر مبلغ پرداختی باشد و هنوز باید 5.000 RUR باقی بماند. واسیا این نیاز را برآورده می کند: جویدن در رگرسیون لجستیک. حتی 106.000 RUR باقی مانده است. علیرغم اینکه هنگام محاسبه جویدن در رگرسیون لجستیک ما شانس را کاهش داده ایم جویدن در رگرسیون لجستیک 25.000 بار، نتیجه یکسان بود - وام قابل تایید است. فدیا نیز وام دریافت می کند ، اما لشا با وجود اینکه بیشترین دریافت را دارد ، باید اشتهای خود را مهار کند.

بیایید یک نمودار برای این مورد رسم کنیم.

نمودار 2 طبقه بندی وام گیرندگان

جویدن در رگرسیون لجستیک

کد برای رسم نمودار

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

بنابراین، خط مستقیم ما، مطابق با تابع ساخته شده است جویدن در رگرسیون لجستیک، وام گیرندگان "بد" را از وام گیرندگان "خوب" جدا می کند. آن دسته از وام گیرندگانی که خواسته های آنها با توانایی های آنها منطبق نیست، بالای خط هستند (لشا)، در حالی که کسانی که با توجه به پارامترهای مدل ما قادر به بازپرداخت وام هستند، زیر خط هستند (واسیا و فدیا). به عبارت دیگر، می توانیم این را بگوییم: خط مستقیم ما وام گیرندگان را به دو دسته تقسیم می کند. اجازه دهید آنها را به صورت زیر نشان دهیم: به کلاس جویدن در رگرسیون لجستیک ما آن دسته از وام گیرندگانی را که احتمال بازپرداخت وام را دارند به عنوان دسته بندی می کنیم جویدن در رگرسیون لجستیک یا جویدن در رگرسیون لجستیک ما آن دسته از وام گیرندگانی را که به احتمال زیاد قادر به بازپرداخت وام نخواهند بود، لحاظ خواهیم کرد.

اجازه دهید نتایج حاصل از این مثال ساده را خلاصه کنیم. بیایید یک نکته را در نظر بگیریم جویدن در رگرسیون لجستیک و با جایگزینی مختصات نقطه به معادله مربوط به خط جویدن در رگرسیون لجستیک، سه گزینه را در نظر بگیرید:

  1. اگر نقطه زیر خط باشد و آن را به کلاس اختصاص دهیم جویدن در رگرسیون لجستیک، سپس مقدار تابع جویدن در رگرسیون لجستیک مثبت خواهد بود از جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک. این بدان معنی است که ما می توانیم فرض کنیم که احتمال بازپرداخت وام در محدوده است جویدن در رگرسیون لجستیک. هر چه مقدار تابع بزرگتر باشد، احتمال آن بیشتر است.
  2. اگر نقطه ای بالای یک خط باشد و آن را به کلاس اختصاص دهیم جویدن در رگرسیون لجستیک یا جویدن در رگرسیون لجستیک، سپس مقدار تابع از منفی خواهد بود جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک. سپس فرض می کنیم که احتمال بازپرداخت بدهی در محدوده است جویدن در رگرسیون لجستیک و هر چه قدر مطلق تابع بیشتر باشد، اطمینان ما بیشتر است.
  3. نقطه روی یک خط مستقیم، در مرز بین دو طبقه است. در این حالت مقدار تابع جویدن در رگرسیون لجستیک برابر خواهد بود جویدن در رگرسیون لجستیک و احتمال بازپرداخت وام برابر است جویدن در رگرسیون لجستیک.

حال، بیایید تصور کنیم که ما نه دو عامل، بلکه ده ها و نه سه، بلکه هزاران وام گیرنده داریم. سپس به جای یک خط مستقیم خواهیم داشت m بعدی صفحه و ضرایب جویدن در رگرسیون لجستیک ما از هوا خارج نخواهیم شد، بلکه بر اساس تمام قوانین و بر اساس داده های انباشته در مورد وام گیرندگانی که وام را بازپرداخت کرده اند یا نپرداخته اند، استخراج می شویم. و در واقع، توجه داشته باشید که ما اکنون وام گیرندگان را با استفاده از ضرایب شناخته شده از قبل انتخاب می کنیم جویدن در رگرسیون لجستیک. در واقع وظیفه مدل رگرسیون لجستیک دقیقاً تعیین پارامترها است جویدن در رگرسیون لجستیک، که در آن مقدار تابع ضرر است ضرر لجستیک به حداقل خواهد رسید. اما در مورد نحوه محاسبه بردار جویدن در رگرسیون لجستیک، در بخش 5 مقاله بیشتر خواهیم فهمید. در همین حال، ما به سرزمین موعود - نزد بانکدار و سه مشتری او - برمی گردیم.

با تشکر از عملکرد جویدن در رگرسیون لجستیک ما می دانیم که به چه کسی می توان وام داد و چه کسی باید رد شود. اما شما نمی توانید با چنین اطلاعاتی به سراغ مدیر بروید، زیرا آنها می خواستند احتمال بازپرداخت وام توسط هر وام گیرنده را از ما دریافت کنند. چه باید کرد؟ پاسخ ساده است - ما باید به نحوی تابع را تغییر دهیم جویدن در رگرسیون لجستیک، که مقادیر آن در محدوده قرار دارد جویدن در رگرسیون لجستیک به تابعی که مقادیر آن در محدوده قرار دارد جویدن در رگرسیون لجستیک. و چنین تابعی وجود دارد، نامیده می شود تابع پاسخ لجستیک یا تبدیل لجیت معکوس. ملاقات:

جویدن در رگرسیون لجستیک

بیایید قدم به قدم ببینیم چگونه کار می کند تابع پاسخ لجستیک. توجه داشته باشید که ما در جهت مخالف حرکت خواهیم کرد، یعنی. فرض می کنیم که مقدار احتمال را می دانیم که در محدوده از قرار دارد جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک و سپس این مقدار را به کل محدوده اعداد از "باز می کنیم". جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک.

03. تابع پاسخ لجستیک را استخراج می کنیم

مرحله 1. مقادیر احتمال را به یک محدوده تبدیل کنید جویدن در رگرسیون لجستیک

در طول تبدیل تابع جویدن در رگرسیون لجستیک в تابع پاسخ لجستیک جویدن در رگرسیون لجستیک ما تحلیلگر اعتباری خود را به حال خود رها می کنیم و به جای آن به یک تور از بنگاه ها می پردازیم. نه، البته، ما شرط بندی نمی کنیم، تمام چیزی که ما را در آنجا مورد علاقه قرار می دهد معنای عبارت است، به عنوان مثال، شانس 4 به 1 است. شانس، که برای همه شرط‌بندان آشناست، نسبت "موفقیت" به "است. شکست ها». از نظر احتمال، شانس، احتمال وقوع یک رویداد تقسیم بر احتمال رخ ندادن رویداد است. بیایید فرمول احتمال وقوع یک رویداد را بنویسیم جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک

جایی که جویدن در رگرسیون لجستیک - احتمال وقوع یک رویداد، جویدن در رگرسیون لجستیک - احتمال رخ ندادن یک رویداد

به عنوان مثال، اگر احتمال اینکه اسبی جوان، قوی و بازیگوش با نام مستعار «وتروک»، پیرزنی پیر و شلخته به نام «ماتیلدا» را در مسابقه کتک بزند برابر است با جویدن در رگرسیون لجستیک، پس از آن شانس موفقیت برای "Veterok" خواهد بود جویدن در رگرسیون لجستیک к جویدن در رگرسیون لجستیک جویدن در رگرسیون لجستیک و بالعکس، با دانستن شانس، محاسبه احتمال برای ما دشوار نخواهد بود جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک

بنابراین، ما یاد گرفته‌ایم که احتمالات را به شانس‌ها «ترجمه کنیم» که مقادیر را از آن‌ها می‌گیرند جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک. بیایید یک قدم دیگر برداریم و یاد بگیریم که احتمال را به کل خط اعداد "ترجمه" کنیم جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک.

مرحله 2. مقادیر احتمال را به یک محدوده تبدیل کنید جویدن در رگرسیون لجستیک

این مرحله بسیار ساده است - بیایید لگاریتم شانس را به پایه عدد اویلر بگیریم. جویدن در رگرسیون لجستیک و دریافت می کنیم:

جویدن در رگرسیون لجستیک

اکنون می دانیم که اگر جویدن در رگرسیون لجستیک، سپس مقدار را محاسبه کنید جویدن در رگرسیون لجستیک بسیار ساده خواهد بود و علاوه بر این، باید مثبت باشد: جویدن در رگرسیون لجستیک. درست است.

از روی کنجکاوی، بیایید بررسی کنیم که چه می شود جویدن در رگرسیون لجستیک، سپس انتظار داریم یک مقدار منفی ببینیم جویدن در رگرسیون لجستیک. بررسی می کنیم: جویدن در رگرسیون لجستیک. درست است.

اکنون می دانیم که چگونه مقدار احتمال را از آن تبدیل کنیم جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک در امتداد کل خط اعداد از جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک. در مرحله بعدی برعکس عمل می کنیم.

در حال حاضر، ما توجه می کنیم که مطابق با قوانین لگاریتم، دانستن مقدار تابع جویدن در رگرسیون لجستیک، می توانید شانس را محاسبه کنید:

جویدن در رگرسیون لجستیک

این روش تعیین شانس در مرحله بعد برای ما مفید خواهد بود.

مرحله 3. بیایید یک فرمول برای تعیین استخراج کنیم جویدن در رگرسیون لجستیک

بنابراین ما آموختیم، دانستن جویدن در رگرسیون لجستیک، مقادیر تابع را پیدا کنید جویدن در رگرسیون لجستیک. با این حال، در واقع، ما دقیقاً برعکس نیاز داریم - دانستن ارزش جویدن در رگرسیون لجستیک پیدا کردن جویدن در رگرسیون لجستیک. برای انجام این کار، اجازه دهید به مفهومی مانند تابع شانس معکوس بپردازیم که طبق آن:

جویدن در رگرسیون لجستیک

در مقاله فرمول فوق را استخراج نمی کنیم، اما با استفاده از اعداد مثال بالا آن را بررسی می کنیم. می دانیم که با شانس 4 به 1 (جویدن در رگرسیون لجستیک، احتمال وقوع رویداد 0.8 است (جویدن در رگرسیون لجستیک). بیایید یک جایگزین انجام دهیم: جویدن در رگرسیون لجستیک. این با محاسبات ما که قبلاً انجام شد، همزمان است. بیایید ادامه دهیم.

در مرحله آخر ما این را استنباط کردیم جویدن در رگرسیون لجستیک، یعنی می توانید در تابع شانس معکوس جایگزینی انجام دهید. ما گرفتیم:

جویدن در رگرسیون لجستیک

صورت و مخرج را بر دو تقسیم کنید جویدن در رگرسیون لجستیک، سپس:

جویدن در رگرسیون لجستیک

در هر صورت، برای اطمینان از اینکه هیچ جا اشتباهی مرتکب نشده ایم، یک بررسی کوچک دیگر انجام می دهیم. در مرحله 2، ما برای جویدن در رگرسیون لجستیک تعیین کرد که جویدن در رگرسیون لجستیک. سپس، مقدار را جایگزین کنید جویدن در رگرسیون لجستیک ما انتظار داریم وارد تابع پاسخ لجستیک شویم جویدن در رگرسیون لجستیک. جایگزین می کنیم و می گیریم: جویدن در رگرسیون لجستیک

به خواننده عزیز تبریک می گویم، ما به تازگی تابع پاسخ لجستیک را استخراج و آزمایش کرده ایم. بیایید به نمودار تابع نگاه کنیم.

نمودار 3 "تابع پاسخ لجستیک"

جویدن در رگرسیون لجستیک

کد برای رسم نمودار

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

در ادبیات همچنین می توانید نام این تابع را به عنوان پیدا کنید تابع سیگموئید. نمودار به وضوح نشان می دهد که تغییر اصلی در احتمال یک شی متعلق به یک کلاس در محدوده نسبتاً کوچکی رخ می دهد. جویدن در رگرسیون لجستیک، جایی از جویدن در رگرسیون لجستیک به جویدن در رگرسیون لجستیک.

من پیشنهاد می کنم به تحلیلگر اعتباری خود بازگردید و به او کمک کنید تا احتمال بازپرداخت وام را محاسبه کند، در غیر این صورت او خطر می کند که بدون پاداش باقی بماند :)

جدول 2 وام گیرندگان بالقوه

جویدن در رگرسیون لجستیک

کد برای تولید جدول

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

بنابراین، ما احتمال بازپرداخت وام را تعیین کرده ایم. به طور کلی، به نظر می رسد این درست باشد.

در واقع، احتمال اینکه واسیا با حقوق 120.000 RUR بتواند هر ماه 3.000 RUR به بانک بدهد نزدیک به 100٪ است. به هر حال، ما باید درک کنیم که اگر سیاست بانک، به عنوان مثال، برای وام دادن به مشتریان با احتمال بازپرداخت وام بیش از، مثلاً 0.3، فراهم کند، یک بانک می تواند به لشا وام بدهد. فقط در این مورد بانک ذخیره بزرگتری برای ضررهای احتمالی ایجاد می کند.

همچنین لازم به ذکر است که نسبت حقوق به پرداخت حداقل 3 و با حاشیه 5.000 روبل از سقف گرفته شده است. بنابراین نمی‌توانستیم از بردار اوزان به شکل اصلی استفاده کنیم جویدن در رگرسیون لجستیک. ما نیاز داشتیم که ضرایب را بسیار کاهش دهیم و در این مورد هر ضریب را بر 25.000 تقسیم کردیم، یعنی در اصل نتیجه را تنظیم کردیم. اما این به طور خاص برای ساده کردن درک مطالب در مرحله اولیه انجام شد. در زندگی، ما نیازی به اختراع و تنظیم ضرایب نخواهیم داشت، بلکه آنها را پیدا می کنیم. در بخش‌های بعدی مقاله معادلاتی را استخراج می‌کنیم که با آن پارامترها انتخاب می‌شوند جویدن در رگرسیون لجستیک.

04. روش حداقل مربعات برای تعیین بردار اوزان جویدن در رگرسیون لجستیک در تابع پاسخ لجستیک

ما قبلاً این روش را برای انتخاب بردار وزن ها می شناسیم جویدن در رگرسیون لجستیکمانند روش حداقل مربعات (LSM) و در واقع، چرا از آن در مسائل طبقه بندی باینری استفاده نمی کنیم؟ در واقع، هیچ چیز مانع از استفاده شما نمی شود MNC، فقط این روش در مسائل طبقه بندی نتایجی می دهد که دقت کمتری دارند ضرر لجستیک. یک مبنای نظری برای این وجود دارد. بیایید ابتدا به یک مثال ساده نگاه کنیم.

بیایید فرض کنیم که مدل های ما (با استفاده از MSE и ضرر لجستیک) قبلاً انتخاب بردار اوزان را شروع کرده اند جویدن در رگرسیون لجستیک و ما محاسبه را در مرحله ای متوقف کردیم. فرقی نمی کند در وسط، در انتها یا در ابتدا، نکته اصلی این است که ما از قبل مقادیری از بردار وزن ها را داریم و فرض می کنیم که در این مرحله، بردار وزن ها جویدن در رگرسیون لجستیک برای هر دو مدل هیچ تفاوتی وجود ندارد. سپس وزنه های به دست آمده را بردارید و آنها را جایگزین کنید تابع پاسخ لجستیک (جویدن در رگرسیون لجستیک) برای برخی از شی که متعلق به کلاس است جویدن در رگرسیون لجستیک. ما دو مورد را بررسی می کنیم که مطابق با بردار وزن ها، مدل ما بسیار اشتباه است و بالعکس - مدل بسیار مطمئن است که شی متعلق به کلاس است. جویدن در رگرسیون لجستیک. بیایید ببینیم هنگام استفاده چه جریمه هایی صادر می شود MNC и ضرر لجستیک.

کد برای محاسبه جریمه ها بسته به تابع ضرر استفاده شده

# класс объекта
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

یک مورد یک اشتباه - مدل یک شی را به یک کلاس اختصاص می دهد جویدن در رگرسیون لجستیک با احتمال 0,01

جریمه در استفاده MNC خواهد بود:
جویدن در رگرسیون لجستیک

جریمه در استفاده ضرر لجستیک خواهد بود:
جویدن در رگرسیون لجستیک

موردی از اعتماد به نفس قوی - مدل یک شی را به یک کلاس اختصاص می دهد جویدن در رگرسیون لجستیک با احتمال 0,99

جریمه در استفاده MNC خواهد بود:
جویدن در رگرسیون لجستیک

جریمه در استفاده ضرر لجستیک خواهد بود:
جویدن در رگرسیون لجستیک

این مثال به خوبی نشان می دهد که در صورت خطای فاحش تابع ضرر از دست دادن گزارش مدل را به طور قابل توجهی بیشتر از MSE. اکنون بیایید درک کنیم که پس زمینه نظری استفاده از تابع ضرر چیست از دست دادن گزارش در مسائل طبقه بندی

05. روش حداکثر درستنمایی و رگرسیون لجستیک

همانطور که در ابتدا وعده داده شد، مقاله مملو از مثال های ساده است. در استودیو نمونه دیگری و مهمانان قدیمی وجود دارد - وام گیرندگان بانک: واسیا، فدیا و لشا.

در هر صورت، قبل از توسعه مثال، اجازه دهید به شما یادآوری کنم که در زندگی با یک نمونه آموزشی از هزاران یا میلیون ها شی با ده ها یا صدها ویژگی روبرو هستیم. با این حال، در اینجا اعداد به گونه ای گرفته می شوند که بتوانند به راحتی در سر یک دانشمند داده تازه کار جای بگیرند.

به مثال برگردیم. بیایید تصور کنیم که مدیر بانک تصمیم گرفت برای همه نیازمندان وام صادر کند، علیرغم اینکه الگوریتم به او گفته بود که آن را به لشا ندهد. و اکنون زمان کافی گذشته است و می دانیم که کدام یک از این سه قهرمان وام را بازپرداخت کردند و کدام یک را نکردند. آنچه که انتظار می رفت: واسیا و فدیا وام را بازپرداخت کردند، اما لشا این کار را نکرد. حالا بیایید تصور کنیم که این نتیجه یک نمونه آموزشی جدید برای ما باشد و در عین حال، گویی تمام داده های مربوط به عوامل مؤثر بر احتمال بازپرداخت وام (حقوق وام گیرنده، اندازه پرداخت ماهانه) از بین رفته است. سپس به طور شهودی می توان فرض کرد که هر سومین وام گیرنده وام را به بانک بازپرداخت نمی کند یا به عبارت دیگر احتمال بازپرداخت وام توسط وام گیرنده بعدی وجود دارد. جویدن در رگرسیون لجستیک. این فرض شهودی تأیید نظری دارد و بر اساس آن است روش حداکثر احتمال، اغلب در ادبیات به آن می گویند اصل حداکثر احتمال.

ابتدا با دستگاه مفهومی آشنا می شویم.

احتمال نمونه گیری احتمال به دست آوردن دقیقاً چنین نمونه ای، به دست آوردن دقیقاً چنین مشاهدات / نتایجی است، یعنی. حاصل ضرب احتمالات به دست آوردن هر یک از نتایج نمونه (به عنوان مثال، آیا وام Vasya، Fedya و Lesha همزمان بازپرداخت شده است یا بازپرداخت نشده است).

تابع احتمال احتمال یک نمونه را به مقادیر پارامترهای توزیع مرتبط می کند.

در مورد ما، نمونه آموزشی یک طرح برنولی تعمیم یافته است، که در آن متغیر تصادفی تنها دو مقدار را می گیرد: جویدن در رگرسیون لجستیک یا جویدن در رگرسیون لجستیک. بنابراین، درستنمایی نمونه را می توان به عنوان تابع درستنمایی پارامتر نوشت جویدن در رگرسیون لجستیک به شرح زیر است:

جویدن در رگرسیون لجستیک
جویدن در رگرسیون لجستیک

مدخل فوق را می توان به صورت زیر تفسیر کرد. احتمال مشترک اینکه واسیا و فدیا وام را بازپرداخت کنند برابر است جویدن در رگرسیون لجستیک، احتمال اینکه لشا وام را بازپرداخت نکند برابر است جویدن در رگرسیون لجستیک (از آنجایی که بازپرداخت وام صورت نگرفته است)، بنابراین احتمال مشترک هر سه رویداد برابر است جویدن در رگرسیون لجستیک.

روش حداکثر احتمال روشی برای تخمین یک پارامتر مجهول با حداکثر کردن است توابع احتمال. در مورد ما، ما باید چنین مقداری را پیدا کنیم جویدن در رگرسیون لجستیککه در آن جویدن در رگرسیون لجستیک به حداکثر خود می رسد.

ایده واقعی از کجا می آید - جستجوی مقدار یک پارامتر مجهول که در آن تابع احتمال به حداکثر می رسد؟ خاستگاه این ایده از این ایده ناشی می شود که یک نمونه تنها منبع دانش در دسترس ما در مورد جمعیت است. هر آنچه در مورد جامعه می دانیم در نمونه نشان داده شده است. بنابراین، تنها چیزی که می توانیم بگوییم این است که یک نمونه دقیق ترین بازتاب جامعه در دسترس ما است. بنابراین، ما باید پارامتری را پیدا کنیم که در آن نمونه موجود محتمل ترین باشد.

بدیهی است که ما با یک مسئله بهینه سازی سر و کار داریم که در آن باید نقطه انتهایی یک تابع را پیدا کنیم. برای یافتن نقطه منتهی باید شرط مرتبه اول را در نظر گرفت، یعنی مشتق تابع را با صفر برابر کرد و معادله را با توجه به پارامتر مورد نظر حل کرد. با این حال، جستجو برای مشتق حاصل از تعداد زیادی از عوامل می تواند یک کار طولانی باشد؛ برای جلوگیری از این، یک تکنیک خاص وجود دارد - تغییر به لگاریتم توابع احتمال. چرا چنین انتقالی ممکن است؟ اجازه دهید به این واقعیت توجه کنیم که ما به دنبال افراط در خود تابع نیستیمجویدن در رگرسیون لجستیکو نقطه انتهایی، یعنی مقدار پارامتر مجهول جویدن در رگرسیون لجستیککه در آن جویدن در رگرسیون لجستیک به حداکثر خود می رسد. هنگام حرکت به یک لگاریتم، نقطه اکسترموم تغییر نمی کند (اگرچه خود انتها متفاوت خواهد بود)، زیرا لگاریتم یک تابع یکنواخت است.

بیایید، مطابق با موارد فوق، به توسعه نمونه خود با وام هایی از Vasya، Fedya و Lesha ادامه دهیم. ابتدا به ادامه مطلب می پردازیم لگاریتم تابع درستنمایی:

جویدن در رگرسیون لجستیک

حالا به راحتی می توانیم عبارت را با استفاده از جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک

و در نهایت، شرط مرتبه اول را در نظر بگیرید - مشتق تابع را با صفر برابر می کنیم:

جویدن در رگرسیون لجستیک

بنابراین، برآورد شهودی ما از احتمال بازپرداخت وام جویدن در رگرسیون لجستیک از نظر تئوری توجیه شد.

عالی است، اما حالا با این اطلاعات چه کنیم؟ اگر فرض کنیم که هر سومین وام گیرنده پول را به بانک برنگرداند، بانک به ناچار ورشکست خواهد شد. درست است، اما فقط زمانی که احتمال بازپرداخت وام برابر با جویدن در رگرسیون لجستیک ما عوامل مؤثر بر بازپرداخت وام را در نظر نگرفتیم: حقوق وام گیرنده و اندازه پرداخت ماهانه. به یاد داشته باشید که ما قبلاً احتمال بازپرداخت وام توسط هر مشتری را با در نظر گرفتن همین عوامل محاسبه کردیم. منطقی است که احتمالاتی متفاوت از برابر ثابت بدست آوریم جویدن در رگرسیون لجستیک.

بیایید احتمال نمونه ها را تعریف کنیم:

کد برای محاسبه احتمال نمونه

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)

احتمال نمونه با مقدار ثابت جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک

احتمال نمونه هنگام محاسبه احتمال بازپرداخت وام با در نظر گرفتن عوامل جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک
جویدن در رگرسیون لجستیک

احتمال یک نمونه با احتمال محاسبه شده بسته به عوامل بیشتر از احتمال با مقدار احتمال ثابت است. این یعنی چی؟ این نشان می دهد که دانش در مورد عوامل امکان انتخاب دقیق تر احتمال بازپرداخت وام را برای هر مشتری فراهم می کند. بنابراین، هنگام صدور وام بعدی، استفاده از مدل پیشنهادی در انتهای بند 3 مقاله برای ارزیابی احتمال بازپرداخت بدهی صحیح تر است.

اما اگر بخواهیم به حداکثر برسیم تابع درستنمایی نمونه، پس چرا از الگوریتمی استفاده نکنیم که احتمالاتی را برای Vasya، Fedya و Lesha تولید کند، به عنوان مثال، به ترتیب برابر با 0.99، 0.99 و 0.01. شاید چنین الگوریتمی روی نمونه آموزشی عملکرد خوبی داشته باشد، زیرا مقدار احتمال نمونه را به جویدن در رگرسیون لجستیک، اما اولاً چنین الگوریتمی به احتمال زیاد با قابلیت تعمیم مشکل خواهد داشت و ثانیاً این الگوریتم قطعاً خطی نخواهد بود. و اگر روش های مبارزه با تمرین بیش از حد (به همان اندازه توانایی تعمیم ضعیف) به وضوح در طرح این مقاله گنجانده نشده است، اجازه دهید نکته دوم را با جزئیات بیشتری مرور کنیم. برای این کار کافیست به یک سوال ساده پاسخ دهید. آیا احتمال بازپرداخت وام توسط واسیا و فدیا با در نظر گرفتن عوامل شناخته شده ممکن است یکسان باشد؟ از نظر منطق سالم، البته نه، نمی تواند. بنابراین واسیا 2.5٪ از حقوق خود را در ماه برای بازپرداخت وام پرداخت می کند، و Fedya - تقریبا 27,8٪. همچنین در نمودار 2 "طبقه بندی مشتری" می بینیم که Vasya از خط جداکننده کلاس ها بسیار دورتر از Fedya است. و در نهایت، ما می دانیم که تابع جویدن در رگرسیون لجستیک برای Vasya و Fedya مقادیر متفاوتی می گیرد: 4.24 برای Vasya و 1.0 برای Fedya. حال، اگر مثلاً فدیا یک مرتبه بزرگتر به دست آورد یا درخواست وام کمتری داشت، احتمال بازپرداخت وام برای واسیا و فدیا مشابه خواهد بود. به عبارت دیگر، وابستگی خطی را نمی توان فریب داد. و اگر واقعا شانس را محاسبه کنیم جویدن در رگرسیون لجستیک، و اگر آنها را از هوا خارج نکردیم، می توانیم با خیال راحت بگوییم که ارزش های ماست جویدن در رگرسیون لجستیک به بهترین وجه به ما اجازه می دهد تا احتمال بازپرداخت وام توسط هر وام گیرنده را تخمین بزنیم، اما از آنجایی که ما پذیرفتیم فرض کنیم که تعیین ضرایب جویدن در رگرسیون لجستیک طبق تمام قوانین انجام شد ، پس ما چنین فرض می کنیم - ضرایب ما به ما امکان می دهد تخمین بهتری از احتمال ارائه دهیم :)

با این حال، ما منحرف می شویم. در این بخش باید بدانیم که بردار وزن ها چگونه تعیین می شود جویدن در رگرسیون لجستیک، که برای ارزیابی احتمال بازپرداخت وام توسط هر وام گیرنده ضروری است.

اجازه دهید به طور خلاصه خلاصه کنیم که با چه زرادخانه ای به دنبال شانس هستیم جویدن در رگرسیون لجستیک:

1. فرض می کنیم که رابطه بین متغیر هدف (مقدار پیش بینی) و عامل مؤثر در نتیجه خطی است. به همین دلیل استفاده می شود تابع رگرسیون خطی نوع جویدن در رگرسیون لجستیک، که خط آن اشیاء (کلاینت ها) را به کلاس ها تقسیم می کند جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک یا جویدن در رگرسیون لجستیک (مشتریانی که قادر به بازپرداخت وام هستند و کسانی که قادر به بازپرداخت وام نیستند). در مورد ما، معادله شکل دارد جویدن در رگرسیون لجستیک.

2. استفاده می کنیم تابع لاجیت معکوس نوع جویدن در رگرسیون لجستیک برای تعیین احتمال یک شی متعلق به یک کلاس جویدن در رگرسیون لجستیک.

3. مجموعه آموزشی خود را به عنوان اجرای یک تعمیم یافته در نظر می گیریم طرح های برنولییعنی برای هر شی یک متغیر تصادفی تولید می شود که با احتمال جویدن در رگرسیون لجستیک (خود برای هر شی) مقدار 1 و با احتمال می گیرد جویدن در رگرسیون لجستیک - 0

4. ما می دانیم که باید چه چیزی را به حداکثر برسانیم تابع درستنمایی نمونه با در نظر گرفتن عوامل پذیرفته شده به طوری که نمونه موجود قابل قبول ترین باشد. به عبارت دیگر، ما باید پارامترهایی را انتخاب کنیم که نمونه در آنها قابل قبول ترین باشد. در مورد ما، پارامتر انتخاب شده احتمال بازپرداخت وام است جویدن در رگرسیون لجستیک، که به نوبه خود به ضرایب مجهول بستگی دارد جویدن در رگرسیون لجستیک. بنابراین ما باید چنین بردار وزن ها را پیدا کنیم جویدن در رگرسیون لجستیک، که در آن احتمال نمونه حداکثر خواهد بود.

5. ما می دانیم چه چیزی را به حداکثر برسانیم نمونه توابع احتمال می تواند استفاده کند روش حداکثر احتمال. و ما تمام ترفندهای دشوار کار با این روش را می دانیم.

اینجوری معلوم میشه یه حرکت چند مرحله ای :)

حال به یاد داشته باشید که در همان ابتدای مقاله می‌خواستیم دو نوع تابع ضرر را استخراج کنیم ضرر لجستیک بسته به نحوه تعیین کلاس های شی. این اتفاق افتاد که در مسائل طبقه بندی با دو کلاس، کلاس ها به عنوان نشان داده می شوند جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک یا جویدن در رگرسیون لجستیک. بسته به نماد، خروجی تابع ضرر مربوطه خواهد داشت.

مورد 1. طبقه بندی اشیاء به جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک

قبلاً هنگام تعیین احتمال نمونه ای که در آن احتمال بازپرداخت بدهی توسط وام گیرنده بر اساس عوامل و ضرایب داده شده محاسبه می شد. جویدن در رگرسیون لجستیک، فرمول را اعمال کردیم:

جویدن در رگرسیون لجستیک

واقعا جویدن در رگرسیون لجستیک معنی است توابع پاسخ لجستیک جویدن در رگرسیون لجستیک برای یک بردار معین از وزن ها جویدن در رگرسیون لجستیک

سپس هیچ چیز مانع از نوشتن تابع درستنمایی نمونه به صورت زیر نمی شود:

جویدن در رگرسیون لجستیک

این اتفاق می افتد که گاهی اوقات برای برخی از تحلیلگران تازه کار دشوار است که فوراً بفهمند این عملکرد چگونه کار می کند. بیایید به 4 مثال کوتاه نگاه کنیم که همه چیز را روشن می کند:

1. اگر جویدن در رگرسیون لجستیک (یعنی طبق نمونه آموزشی، شی متعلق به کلاس +1 است)، و الگوریتم ما جویدن در رگرسیون لجستیک احتمال طبقه بندی یک شی به یک کلاس را تعیین می کند جویدن در رگرسیون لجستیک برابر 0.9 است، سپس این قطعه احتمال نمونه به صورت زیر محاسبه می شود:

جویدن در رگرسیون لجستیک

2. اگر جویدن در رگرسیون لجستیکو جویدن در رگرسیون لجستیک، سپس محاسبه به این صورت خواهد بود:

جویدن در رگرسیون لجستیک

3. اگر جویدن در رگرسیون لجستیکو جویدن در رگرسیون لجستیک، سپس محاسبه به این صورت خواهد بود:

جویدن در رگرسیون لجستیک

4. اگر جویدن در رگرسیون لجستیکو جویدن در رگرسیون لجستیک، سپس محاسبه به این صورت خواهد بود:

جویدن در رگرسیون لجستیک

واضح است که تابع احتمال در موارد 1 و 3 یا در حالت کلی - با مقادیر درست حدس زده شده احتمالات یک شی به یک کلاس حداکثر می شود. جویدن در رگرسیون لجستیک.

با توجه به اینکه هنگام تعیین احتمال انتساب یک شی به یک کلاس جویدن در رگرسیون لجستیک ما فقط ضرایب را نمی دانیم جویدن در رگرسیون لجستیک، سپس ما به دنبال آنها خواهیم بود. همانطور که در بالا ذکر شد، این یک مسئله بهینه سازی است که در آن ابتدا باید مشتق تابع درستنمایی را با توجه به بردار وزن ها پیدا کنیم. جویدن در رگرسیون لجستیک. با این حال، ابتدا منطقی است که کار را برای خودمان ساده کنیم: ما به دنبال مشتق لگاریتم خواهیم بود. توابع احتمال.

جویدن در رگرسیون لجستیک

چرا بعد از لگاریتم، در توابع خطای لجستیک، علامت را تغییر دادیم جویدن در رگرسیون لجستیک بر جویدن در رگرسیون لجستیک. همه چیز ساده است، زیرا در مسائل ارزیابی کیفیت یک مدل مرسوم است که مقدار یک تابع را به حداقل برسانیم، سمت راست عبارت را در ضرب می کنیم. جویدن در رگرسیون لجستیک و بر این اساس، به جای حداکثر کردن، اکنون تابع را کمینه می کنیم.

در واقع، در حال حاضر، در مقابل چشمان شما، تابع ضرر به سختی استخراج شده است - ضرر لجستیک برای یک مجموعه آموزشی با دو کلاس: جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک.

اکنون برای یافتن ضرایب، فقط باید مشتق را پیدا کنیم توابع خطای لجستیک و سپس با استفاده از روش های بهینه سازی عددی مانند گرادیان نزولی یا شیب تصادفی، بهینه ترین ضرایب را انتخاب کنید. جویدن در رگرسیون لجستیک. اما، با توجه به حجم قابل توجه مقاله، پیشنهاد می شود که تمایز را به تنهایی انجام دهید، یا شاید این موضوع برای مقاله بعدی با حسابی زیاد بدون چنین مثال های مفصلی باشد.

مورد 2. طبقه بندی اشیاء به جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک

رویکرد در اینجا مانند کلاس ها خواهد بود جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک، اما مسیر خود به خروجی تابع ضرر ضرر لجستیک، آراسته تر خواهد بود. بیا شروع کنیم. برای تابع احتمال از عملگر استفاده خواهیم کرد "اگر پس از آن..."... یعنی اگر جویدن در رگرسیون لجستیکشی th متعلق به کلاس است جویدن در رگرسیون لجستیک، سپس برای محاسبه احتمال نمونه از احتمال استفاده می کنیم جویدن در رگرسیون لجستیک، اگر شی متعلق به کلاس باشد جویدن در رگرسیون لجستیک، سپس احتمال را جایگزین می کنیم جویدن در رگرسیون لجستیک. تابع احتمال به این صورت است:

جویدن در رگرسیون لجستیک

اجازه دهید با انگشتان خود نحوه عملکرد آن را شرح دهیم. بیایید 4 مورد را در نظر بگیریم:

1. اگر جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک، سپس احتمال نمونه گیری "برود" جویدن در رگرسیون لجستیک

2. اگر جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک، سپس احتمال نمونه گیری "برود" جویدن در رگرسیون لجستیک

3. اگر جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک، سپس احتمال نمونه گیری "برود" جویدن در رگرسیون لجستیک

4. اگر جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک، سپس احتمال نمونه گیری "برود" جویدن در رگرسیون لجستیک

بدیهی است که در موارد 1 و 3 که احتمالات به درستی توسط الگوریتم تعیین شده است، تابع احتمال به حداکثر می رسد، یعنی این دقیقاً همان چیزی است که ما می خواستیم به دست آوریم. با این حال، این رویکرد کاملاً دست و پا گیر است و در ادامه یک نماد فشرده تر را در نظر خواهیم گرفت. اما ابتدا اجازه دهید تابع احتمال را با تغییر علامت لگاریتم کنیم، زیرا اکنون آن را به حداقل می رسانیم.

جویدن در رگرسیون لجستیک

به جای آن بیایید جایگزین کنیم جویدن در رگرسیون لجستیک اصطلاح جویدن در رگرسیون لجستیک:

جویدن در رگرسیون لجستیک

بیایید عبارت درست زیر لگاریتم را با استفاده از تکنیک های ساده حسابی ساده کنیم و به دست آوریم:

جویدن در رگرسیون لجستیک

اکنون زمان خلاص شدن از شر اپراتور است "اگر پس از آن...". توجه داشته باشید که وقتی یک شی جویدن در رگرسیون لجستیک متعلق به کلاس است جویدن در رگرسیون لجستیک، سپس در عبارت زیر لگاریتم، در مخرج، جویدن در رگرسیون لجستیک به قدرت رساند جویدن در رگرسیون لجستیک، اگر شی متعلق به کلاس باشد جویدن در رگرسیون لجستیک، سپس $e$ به قدرت می رسد جویدن در رگرسیون لجستیک. بنابراین، نماد درجه را می توان با ترکیب هر دو حالت در یکی ساده کرد: جویدن در رگرسیون لجستیک. سپس تابع خطای لجستیک شکل خواهد گرفت:

جویدن در رگرسیون لجستیک

مطابق با قوانین لگاریتم، کسر را برگردانده و علامت " را نشان می دهیم.جویدن در رگرسیون لجستیک" (منهای) برای لگاریتم، دریافت می کنیم:

جویدن در رگرسیون لجستیک

در اینجا تابع ضرر است ضرر لجستیکی، که در مجموعه آموزشی با اشیاء اختصاص داده شده به کلاس ها استفاده می شود: جویدن در رگرسیون لجستیک и جویدن در رگرسیون لجستیک.

خب، در این مرحله من مرخصی می‌گیرم و مقاله را به پایان می‌رسانیم.

جویدن در رگرسیون لجستیک کار قبلی نویسنده «برآوردن معادله رگرسیون خطی به شکل ماتریس» است.

مواد کمکی

1 ادبیات

1) تحلیل رگرسیون کاربردی / N. Draper, G. Smith - 2nd ed. - M.: امور مالی و آمار، 1986 (ترجمه از انگلیسی)

2) نظریه احتمالات و آمار ریاضی / V.E. Gmurman - ویرایش نهم. - م.: دبیرستان، 9

3) نظریه احتمال / N.I. Chernova - Novosibirsk: دانشگاه دولتی نووسیبیرسک، 2007

4) تجزیه و تحلیل تجاری: از داده ها به دانش / Paklin N. B., Oreshkov V. I. - 2nd ed. - سن پترزبورگ: پیتر، 2013

5) علم داده علم داده از ابتدا / جوئل گراس - سن پترزبورگ: BHV Petersburg، 2017

6) آمار عملی برای متخصصان علوم داده / P. Bruce, E. Bruce - St. Petersburg: BHV Petersburg, 2018

2. سخنرانی ها، دوره ها (ویدئو)

1) جوهر روش حداکثر احتمال، بوریس دمشف

2) روش حداکثر درستنمایی در حالت پیوسته، بوریس دمشف

3) رگرسیون لجستیک دوره باز ODS، یوری کاشنیتسکی

4) سخنرانی 4، اوگنی سوکولوف (از 47 دقیقه ویدیو)

5) رگرسیون لجستیک، ویاچسلاو ورونتسوف

3. منابع اینترنتی

1) طبقه بندی خطی و مدل های رگرسیون

2) چگونه رگرسیون لجستیک را به راحتی درک کنیم

3) تابع خطای لجستیک

4) آزمون های مستقل و فرمول برنولی

5) تصنیف MMP

6) روش حداکثر احتمال

7) فرمول ها و خواص لگاریتم ها

8) چرا عدد جویدن در رگرسیون لجستیک?

9) طبقه بندی خطی

منبع: www.habr.com

اضافه کردن نظر