इस लेख में, हम परिवर्तन की सैद्धांतिक गणनाओं का विश्लेषण करेंगे रैखिक प्रतिगमन कार्य в व्युत्क्रम लॉगिट ट्रांसफॉर्मेशन फ़ंक्शन (जिसे लॉजिस्टिक रिस्पॉन्स फ़ंक्शन भी कहा जाता है). फिर, शस्त्रागार का उपयोग करना अधिकतम संभावना विधिलॉजिस्टिक रिग्रेशन मॉडल के अनुसार, हम हानि फ़ंक्शन प्राप्त करते हैं लॉजिस्टिक हानि, или другими словами, мы определим функцию, с помощью которой в моделе логистической регрессии подбираются параметры вектора весов .
लेख की रूपरेखा:
- आइए हम दो चरों के बीच रैखिक संबंध को दोहराएँ
- आइए परिवर्तन की आवश्यकता को पहचानें रैखिक प्रतिगमन कार्य в लॉजिस्टिक प्रतिक्रिया फ़ंक्शन
- आइए परिवर्तनों और आउटपुट को अंजाम दें लॉजिस्टिक प्रतिक्रिया फ़ंक्शन
- आइए यह समझने की कोशिश करें कि पैरामीटर चुनते समय न्यूनतम वर्ग विधि खराब क्यों है कार्यों लॉजिस्टिक हानि
- हम उपयोग करते हैं अधिकतम संभावना विधि निर्धारित करने के लिए पैरामीटर चयन कार्य :
5.1. केस 1: फ़ंक्शन लॉजिस्टिक हानि वर्ग पदनाम वाली वस्तुओं के लिए 0 и 1:
5.2. केस 2: फ़ंक्शन लॉजिस्टिक हानि वर्ग पदनाम वाली वस्तुओं के लिए -1 и +1:
लेख सरल उदाहरणों से भरा हुआ है जिसमें सभी गणनाएँ मौखिक या कागज पर करना आसान है; कुछ मामलों में, कैलकुलेटर की आवश्यकता हो सकती है। तो तैयार हो जाइये :)
यह आलेख मुख्य रूप से मशीन लर्निंग की बुनियादी बातों में प्रारंभिक स्तर के ज्ञान वाले डेटा वैज्ञानिकों के लिए है।
लेख ग्राफ़ बनाने और गणना के लिए कोड भी प्रदान करेगा। सभी कोड भाषा में लिखे गए हैं अजगर २. मैं उपयोग किए गए संस्करण की "नवीनता" के बारे में पहले ही बता दूं - यह प्रसिद्ध पाठ्यक्रम लेने की शर्तों में से एक है Yandex समान रूप से प्रसिद्ध ऑनलाइन शिक्षा मंच पर Coursera, और, जैसा कि कोई मान सकता है, सामग्री इस पाठ्यक्रम के आधार पर तैयार की गई थी।
01. सीधी-रेखा निर्भरता
यह प्रश्न पूछना बिल्कुल उचित है - रैखिक निर्भरता और लॉजिस्टिक रिग्रेशन का इससे क्या लेना-देना है?
यह आसान है! लॉजिस्टिक रिग्रेशन उन मॉडलों में से एक है जो लीनियर क्लासिफायरियर से संबंधित है। सरल शब्दों में, एक रैखिक वर्गीकरणकर्ता का कार्य लक्ष्य मूल्यों की भविष्यवाणी करना है चर (प्रतिगामी) से . ऐसा माना जाता है कि विशेषताओं के बीच निर्भरता और लक्ष्य मान रैखिक. इसलिए क्लासिफायरियर का नाम - रैखिक। मोटे तौर पर कहें तो, लॉजिस्टिक रिग्रेशन मॉडल इस धारणा पर आधारित है कि विशेषताओं के बीच एक रैखिक संबंध है और लक्ष्य मान . ये कनेक्शन है.
स्टूडियो में पहला उदाहरण है, और यह, सही ढंग से, अध्ययन की जा रही मात्राओं की सीधी निर्भरता के बारे में है। लेख तैयार करने की प्रक्रिया में, मुझे एक ऐसा उदाहरण मिला जिसने पहले से ही कई लोगों को आश्चर्यचकित कर दिया है - वोल्टेज पर करंट की निर्भरता ("एप्लाइड रिग्रेशन एनालिसिस", एन. ड्रेपर, जी. स्मिथ). हम इसे यहां भी देखेंगे.
के अनुसार ओम कानून:
जहां - वर्तमान ताकत, - वोल्टेज, - प्रतिरोध।
अगर हम नहीं जानते ओम कानून, तो हम अनुभवजन्य रूप से परिवर्तन करके निर्भरता का पता लगा सकते हैं और माप , समर्थन करते हुए तय। तब हम देखेंगे कि निर्भरता का ग्राफ से मूल बिंदु से होकर लगभग एक सीधी रेखा देता है। हम "अधिक या कम" कहते हैं क्योंकि, हालांकि संबंध वास्तव में सटीक है, हमारे माप में छोटी त्रुटियां हो सकती हैं, और इसलिए ग्राफ़ पर बिंदु बिल्कुल रेखा पर नहीं पड़ सकते हैं, लेकिन इसके चारों ओर बेतरतीब ढंग से बिखरे होंगे।
ग्राफ़ 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 आरयूआर तक लें और मान लें कि निर्दिष्ट वेतन सीमा में, वेतन के आकार पर मासिक भुगतान के आकार की निर्भरता रैखिक है। मान लीजिए कि वेतन की निर्दिष्ट सीमा के लिए यह पता चला कि वेतन-से-भुगतान अनुपात 3 से नीचे नहीं गिर सकता है और उधारकर्ता के पास अभी भी 5.000 आरयूआर आरक्षित होना चाहिए। और केवल इस मामले में, हम मान लेंगे कि उधारकर्ता बैंक को ऋण चुकाएगा। फिर, रैखिक प्रतिगमन समीकरण रूप लेगा:
जहां , , , - वेतन -वें उधारकर्ता, - कर्ज़ भुगतान -वें उधारकर्ता.
समीकरण में वेतन और ऋण भुगतान को निश्चित मापदंडों के साथ प्रतिस्थापित करना आप निर्णय ले सकते हैं कि ऋण जारी करना है या अस्वीकार करना है।
आगे देखते हुए, हम ध्यान दें कि, दिए गए मापदंडों के साथ रैखिक प्रतिगमन फ़ंक्शन, में इस्तेमाल किया लॉजिस्टिक प्रतिक्रिया कार्य बड़े मूल्य उत्पन्न करेंगे जो ऋण चुकौती की संभावनाओं को निर्धारित करने के लिए गणना को जटिल बना देंगे। इसलिए, हमारे गुणांकों को, मान लीजिए, 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 आरयूआर के वेतन के साथ वास्या ऋण प्राप्त करना चाहता है ताकि वह इसे 3.000 आरयूआर पर मासिक रूप से चुका सके। हमने निर्धारित किया कि ऋण स्वीकृत करने के लिए, वास्या का वेतन भुगतान की राशि से तीन गुना अधिक होना चाहिए, और अभी भी 5.000 आरयूआर शेष होना चाहिए। वास्या इस आवश्यकता को पूरा करती है: . 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()
तो, हमारी सीधी रेखा, फ़ंक्शन के अनुसार निर्मित होती है , "बुरे" उधारकर्ताओं को "अच्छे" उधारकर्ताओं से अलग करता है। वे उधारकर्ता जिनकी इच्छाएं उनकी क्षमताओं से मेल नहीं खातीं, वे रेखा (लेशा) से ऊपर हैं, जबकि जो, हमारे मॉडल के मापदंडों के अनुसार, ऋण चुकाने में सक्षम हैं, वे रेखा से नीचे हैं (वास्या और फेड्या)। दूसरे शब्दों में, हम यह कह सकते हैं: हमारी सीधी रेखा उधारकर्ताओं को दो वर्गों में विभाजित करती है। आइए हम उन्हें इस प्रकार निरूपित करें: वर्ग को हम उन उधारकर्ताओं को वर्गीकृत करेंगे जिनके ऋण चुकाने की सबसे अधिक संभावना है या हम उन उधारकर्ताओं को शामिल करेंगे जो संभवतः ऋण चुकाने में सक्षम नहीं होंगे।
आइए इस सरल उदाहरण से निष्कर्षों को संक्षेप में प्रस्तुत करें। चलिए एक बात मान लेते हैं और, बिंदु के निर्देशांकों को रेखा के संगत समीकरण में प्रतिस्थापित करना , तीन विकल्पों पर विचार करें:
- यदि बिंदु रेखा के नीचे है और हम इसे वर्ग को निर्दिष्ट करते हैं , फिर फ़ंक्शन का मान से सकारात्मक रहेगा से . इसका मतलब यह है कि हम मान सकते हैं कि ऋण चुकाने की संभावना भीतर है . फ़ंक्शन का मान जितना बड़ा होगा, संभावना उतनी ही अधिक होगी।
- यदि कोई बिंदु एक रेखा के ऊपर है और हम उसे कक्षा में निर्दिष्ट करते हैं या , तो फ़ंक्शन का मान ऋणात्मक होगा से . तब हम मान लेंगे कि ऋण चुकौती की संभावना भीतर है और, फ़ंक्शन का निरपेक्ष मान जितना अधिक होगा, हमारा आत्मविश्वास उतना ही अधिक होगा।
- बिंदु एक सीधी रेखा पर है, दो वर्गों के बीच की सीमा पर। इस मामले में, फ़ंक्शन का मान बराबर होगा और ऋण चुकाने की संभावना बराबर है .
अब, आइए कल्पना करें कि हमारे पास दो कारक नहीं, बल्कि दर्जनों, और तीन नहीं, बल्कि हजारों उधारकर्ता हैं। तब हमारे पास एक सीधी रेखा के स्थान पर होगी एम-आयामी समतल और गुणांक हमें हवा से बाहर नहीं निकाला जाएगा, बल्कि सभी नियमों के अनुसार और उन उधारकर्ताओं पर संचित डेटा के आधार पर प्राप्त किया जाएगा जिन्होंने ऋण चुकाया है या नहीं चुकाया है। और वास्तव में, ध्यान दें कि अब हम पहले से ज्ञात गुणांक का उपयोग करके उधारकर्ताओं का चयन कर रहे हैं . वास्तव में, लॉजिस्टिक रिग्रेशन मॉडल का कार्य सटीक रूप से मापदंडों को निर्धारित करना है , जिस पर हानि का मान कार्य करता है लॉजिस्टिक हानि न्यूनतम की ओर प्रवृत्त होगा। लेकिन वेक्टर की गणना कैसे की जाती है इसके बारे में , हम लेख के 5वें खंड में और अधिक जानकारी प्राप्त करेंगे। इस बीच, हम वादा की गई भूमि पर लौटते हैं - अपने बैंकर और उसके तीन ग्राहकों के पास।
समारोह के लिए धन्यवाद हम जानते हैं कि किसे ऋण दिया जा सकता है और किसे इनकार करने की आवश्यकता है। लेकिन आप ऐसी जानकारी लेकर निदेशक के पास नहीं जा सकते, क्योंकि वे हमसे प्रत्येक उधारकर्ता द्वारा ऋण चुकाने की संभावना जानना चाहते थे। क्या करें? उत्तर सरल है - हमें किसी तरह फ़ंक्शन को बदलने की आवश्यकता है , जिनके मान सीमा में हैं एक फ़ंक्शन के लिए जिसका मान सीमा में होगा . और ऐसा फ़ंक्शन मौजूद है, इसे कहा जाता है लॉजिस्टिक रिस्पॉन्स फ़ंक्शन या व्युत्क्रम-लॉगिट परिवर्तन. मिलो:
आइए चरण दर चरण देखें कि यह कैसे काम करता है लॉजिस्टिक प्रतिक्रिया फ़ंक्शन. ध्यान दें कि हम विपरीत दिशा में चलेंगे, यानी। हम मान लेंगे कि हम संभाव्यता मान जानते हैं, जो कि सीमा में है से और फिर हम इस मान को संख्याओं की संपूर्ण श्रेणी में "खोल" देंगे से .
03. हम लॉजिस्टिक रिस्पांस फ़ंक्शन प्राप्त करते हैं
चरण 1. संभाव्यता मानों को एक श्रेणी में बदलें
फ़ंक्शन के परिवर्तन के दौरान в लॉजिस्टिक प्रतिक्रिया फ़ंक्शन हम अपने क्रेडिट विश्लेषक को अकेला छोड़ देंगे और सट्टेबाजों का दौरा करेंगे। नहीं, निश्चित रूप से, हम दांव नहीं लगाएंगे, हमारी रुचि अभिव्यक्ति के अर्थ में है, उदाहरण के लिए, मौका 4 से 1 है। सभी सट्टेबाजों से परिचित बाधाएं "सफलताओं" का अनुपात " विफलताएँ” संभाव्यता के संदर्भ में, संभावनाएँ किसी घटना के घटित होने की संभावना को उस घटना के घटित न होने की संभावना से विभाजित करने पर प्राप्त होती हैं। आइए किसी घटना के घटित होने की संभावना का सूत्र लिखें :
जहां - किसी घटना के घटित होने की संभावना, - किसी घटना के घटित न होने की संभावना
उदाहरण के लिए, यदि संभावना है कि "वेटरोक" उपनाम वाला एक युवा, मजबूत और चंचल घोड़ा एक दौड़ में "मटिल्डा" नाम की एक बूढ़ी और दुबली बूढ़ी औरत को हरा देगा, बराबर है , तो "वेटरोक" के लिए सफलता की संभावना होगी к और इसके विपरीत, बाधाओं को जानने के बाद, हमारे लिए संभाव्यता की गणना करना मुश्किल नहीं होगा :
इस प्रकार, हमने संभाव्यता को अवसरों में "अनुवाद" करना सीख लिया है, जो मान लेते हैं से . आइए एक और कदम उठाएं और संभाव्यता को संपूर्ण संख्या रेखा में "अनुवाद" करना सीखें से .
चरण 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 आरयूआर के वेतन के साथ वास्या, हर महीने बैंक को 3.000 आरयूआर देने में सक्षम होने की संभावना 100% के करीब है। वैसे, हमें यह समझना चाहिए कि एक बैंक लेशा को ऋण जारी कर सकता है यदि बैंक की नीति, उदाहरण के लिए, 0.3 से अधिक ऋण चुकौती की संभावना वाले ग्राहकों को ऋण देने के लिए प्रदान करती है। बात बस इतनी है कि इस मामले में बैंक संभावित नुकसान के लिए एक बड़ा रिजर्व बनाएगा।
यह भी ध्यान दिया जाना चाहिए कि वेतन-से-भुगतान अनुपात कम से कम 3 और 5.000 आरयूआर के मार्जिन के साथ छत से लिया गया था। इसलिए, हम वज़न के वेक्टर को उसके मूल रूप में उपयोग नहीं कर सके . हमें गुणांकों को बहुत कम करने की आवश्यकता थी, और इस मामले में हमने प्रत्येक गुणांक को 25.000 से विभाजित किया, अर्थात, संक्षेप में, हमने परिणाम को समायोजित किया। लेकिन यह विशेष रूप से प्रारंभिक चरण में सामग्री की समझ को सरल बनाने के लिए किया गया था। जीवन में, हमें गुणांकों का आविष्कार और समायोजन करने की नहीं, बल्कि उन्हें खोजने की आवश्यकता होगी। लेख के अगले भाग में हम उन समीकरणों को प्राप्त करेंगे जिनके साथ मापदंडों का चयन किया जाता है .
04. भार के सदिश को निर्धारित करने के लिए न्यूनतम वर्ग विधि लॉजिस्टिक रिस्पांस फ़ंक्शन में
वज़न के वेक्टर को चुनने की यह विधि हम पहले से ही जानते हैं जैसा न्यूनतम वर्ग विधि (एलएसएम) और वास्तव में, फिर हम इसे द्विआधारी वर्गीकरण समस्याओं में उपयोग क्यों नहीं करते? वास्तव में, कोई भी चीज़ आपको उपयोग करने से नहीं रोकती है बहुराष्ट्रीय कंपनीवर्गीकरण समस्याओं में केवल यही विधि ऐसे परिणाम देती है जो इससे कम सटीक होते हैं लॉजिस्टिक हानि. इसका एक सैद्धांतिक आधार है. आइए सबसे पहले एक सरल उदाहरण देखें.
आइए मान लें कि हमारे मॉडल (का उपयोग कर रहे हैं एमएसई и लॉजिस्टिक हानि) वजन के वेक्टर का चयन पहले ही शुरू कर दिया है और हमने कुछ कदम पर गणना रोक दी। इससे कोई फर्क नहीं पड़ता कि बीच में, अंत में या शुरुआत में, मुख्य बात यह है कि हमारे पास पहले से ही वज़न के वेक्टर के कुछ मान हैं और मान लेते हैं कि इस चरण में, वज़न के वेक्टर दोनों मॉडलों के लिए कोई अंतर नहीं है. फिर परिणामी बाट लें और उन्हें उसमें स्थानापन्न करें लॉजिस्टिक प्रतिक्रिया फ़ंक्शन () किसी वस्तु के लिए जो वर्ग से संबंधित है . हम दो मामलों की जांच करते हैं, जब वजन के चयनित वेक्टर के अनुसार, हमारा मॉडल बहुत गलत है और इसके विपरीत - मॉडल बहुत आश्वस्त है कि वस्तु वर्ग से संबंधित है . आइए देखें कि उपयोग करने पर क्या जुर्माना लगाया जाएगा बहुराष्ट्रीय कंपनी и लॉजिस्टिक हानि.
प्रयुक्त हानि फ़ंक्शन के आधार पर दंड की गणना करने के लिए कोड
# класс объекта
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 की संभावना के साथ
उपयोग पर जुर्माना बहुराष्ट्रीय कंपनी होगा:
उपयोग पर जुर्माना लॉजिस्टिक हानि होगा:
मजबूत आत्मविश्वास का मामला - मॉडल एक क्लास को एक ऑब्जेक्ट असाइन करता है 0,99 की संभावना के साथ
उपयोग पर जुर्माना बहुराष्ट्रीय कंपनी होगा:
उपयोग पर जुर्माना लॉजिस्टिक हानि होगा:
यह उदाहरण अच्छी तरह से दर्शाता है कि गंभीर त्रुटि के मामले में हानि फ़ंक्शन लॉग नुकसान मॉडल को काफी अधिक दंडित करता है एमएसई. आइए अब समझें कि हानि फ़ंक्शन का उपयोग करने की सैद्धांतिक पृष्ठभूमि क्या है लॉग नुकसान वर्गीकरण समस्याओं में.
05. अधिकतम संभावना विधि और लॉजिस्टिक प्रतिगमन
जैसा कि शुरुआत में वादा किया गया था, लेख सरल उदाहरणों से भरा पड़ा है। स्टूडियो में एक और उदाहरण और पुराने मेहमान हैं - बैंक उधारकर्ता: वास्या, फेड्या और लेशा।
बस मामले में, उदाहरण विकसित करने से पहले, मैं आपको याद दिला दूं कि जीवन में हम दसियों या सैकड़ों विशेषताओं के साथ हजारों या लाखों वस्तुओं के प्रशिक्षण नमूने के साथ काम कर रहे हैं। हालाँकि, यहाँ संख्याएँ इसलिए ली गई हैं ताकि वे एक नौसिखिया डेटा वैज्ञानिक के दिमाग में आसानी से फिट हो सकें।
चलिए उदाहरण पर वापस आते हैं। आइए कल्पना करें कि बैंक के निदेशक ने हर जरूरतमंद को ऋण जारी करने का फैसला किया, इस तथ्य के बावजूद कि एल्गोरिदम ने उसे लेसा को जारी न करने के लिए कहा था। और अब काफी समय बीत चुका है और हमें पता है कि तीनों हीरो में से किसने कर्ज चुकाया और किसने नहीं. क्या उम्मीद की जानी थी: वास्या और फेड्या ने ऋण चुकाया, लेकिन लेशा ने नहीं चुकाया। अब आइए कल्पना करें कि यह परिणाम हमारे लिए एक नया प्रशिक्षण नमूना होगा और साथ ही, ऐसा लगता है जैसे ऋण चुकाने की संभावना को प्रभावित करने वाले कारकों (उधारकर्ता का वेतन, मासिक भुगतान का आकार) पर सभी डेटा गायब हो गए हैं। फिर, सहज रूप से, हम यह मान सकते हैं कि हर तीसरा उधारकर्ता बैंक को ऋण नहीं चुकाता है, या दूसरे शब्दों में, अगले उधारकर्ता द्वारा ऋण चुकाने की संभावना . इस सहज धारणा की सैद्धांतिक पुष्टि है और यह इस पर आधारित है अधिकतम संभावना विधि, अक्सर साहित्य में इसे कहा जाता है अधिकतम संभावना सिद्धांत.
सबसे पहले, आइए वैचारिक तंत्र से परिचित हों।
नमूना लेने की संभावना वास्तव में ऐसा नमूना प्राप्त करने, बिल्कुल ऐसे ही अवलोकन/परिणाम प्राप्त करने की संभावना है, अर्थात। प्रत्येक नमूना परिणाम प्राप्त करने की संभावनाओं का उत्पाद (उदाहरण के लिए, क्या वास्या, फेड्या और लेशा का ऋण एक ही समय में चुकाया गया था या नहीं चुकाया गया था)।
संभावना समारोह एक नमूने की संभावना को वितरण मापदंडों के मूल्यों से संबंधित करता है।
हमारे मामले में, प्रशिक्षण नमूना एक सामान्यीकृत बर्नौली योजना है, जिसमें यादृच्छिक चर केवल दो मान लेता है: या . इसलिए, नमूना संभावना को पैरामीटर की संभावना फ़ंक्शन के रूप में लिखा जा सकता है निम्नानुसार है:
उपरोक्त प्रविष्टि की व्याख्या इस प्रकार की जा सकती है। वास्या और फेड्या द्वारा ऋण चुकाने की संयुक्त संभावना बराबर है , संभावना है कि लेसा ऋण नहीं चुकाएगा बराबर है (चूँकि यह ऋण चुकौती नहीं थी), इसलिए तीनों घटनाओं की संयुक्त संभावना बराबर है .
अधिकतम संभावना विधि अधिकतम करके किसी अज्ञात पैरामीटर का अनुमान लगाने की एक विधि है संभाव्यता कार्य. हमारे मामले में, हमें ऐसा मान खोजने की आवश्यकता है , जिस पर अपने चरम पर पहुँच जाता है.
वास्तविक विचार कहां से आता है - एक अज्ञात पैरामीटर के मूल्य को देखने के लिए जिस पर संभावना फ़ंक्शन अधिकतम तक पहुंचता है? इस विचार की उत्पत्ति इस विचार से हुई है कि एक नमूना जनसंख्या के बारे में हमारे लिए उपलब्ध ज्ञान का एकमात्र स्रोत है। जनसंख्या के बारे में हम जो कुछ भी जानते हैं वह नमूने में दर्शाया गया है। इसलिए, हम केवल इतना ही कह सकते हैं कि एक नमूना हमारे लिए उपलब्ध जनसंख्या का सबसे सटीक प्रतिबिंब है। इसलिए, हमें एक ऐसा पैरामीटर ढूंढने की ज़रूरत है जिस पर उपलब्ध नमूना सबसे अधिक संभावित हो जाए।
जाहिर है, हम एक अनुकूलन समस्या से निपट रहे हैं जिसमें हमें किसी फ़ंक्शन का चरम बिंदु खोजने की आवश्यकता है। चरम बिंदु को खोजने के लिए, पहले क्रम की स्थिति पर विचार करना आवश्यक है, अर्थात, फ़ंक्शन के व्युत्पन्न को शून्य के बराबर करें और वांछित पैरामीटर के संबंध में समीकरण को हल करें। हालाँकि, बड़ी संख्या में कारकों के उत्पाद के व्युत्पन्न की खोज करना एक लंबा काम हो सकता है; इससे बचने के लिए, एक विशेष तकनीक है - लघुगणक पर स्विच करना संभाव्यता कार्य. ऐसा परिवर्तन क्यों संभव है? आइए इस तथ्य पर ध्यान दें कि हम स्वयं फ़ंक्शन के चरम की तलाश नहीं कर रहे हैं, और चरम बिंदु, यानी अज्ञात पैरामीटर का मान , जिस पर अपने चरम पर पहुँच जाता है. लघुगणक में जाने पर, चरम बिंदु नहीं बदलता है (हालाँकि चरम बिंदु स्वयं भिन्न होगा), क्योंकि लघुगणक एक मोनोटोनिक फ़ंक्शन है।
आइए, उपरोक्त के अनुसार, वास्या, फेड्या और लेशा से ऋण के साथ अपना उदाहरण विकसित करना जारी रखें। सबसे पहले आगे बढ़ते हैं संभाव्यता फ़ंक्शन का लघुगणक:
अब हम अभिव्यक्ति को आसानी से अलग कर सकते हैं :
और अंत में, पहले क्रम की स्थिति पर विचार करें - हम फ़ंक्शन के व्युत्पन्न को शून्य के बराबर करते हैं:
इस प्रकार, ऋण चुकौती की संभावना का हमारा सहज अनुमान सैद्धान्तिक रूप से उचित था।
बढ़िया, लेकिन अब हमें इस जानकारी का क्या करना चाहिए? यदि हम मान लें कि हर तीसरा उधारकर्ता बैंक को पैसा नहीं लौटाता है, तो बाद वाला अनिवार्य रूप से दिवालिया हो जाएगा। यह सही है, लेकिन केवल तभी जब ऋण चुकौती की संभावना का आकलन बराबर हो हमने ऋण चुकौती को प्रभावित करने वाले कारकों को ध्यान में नहीं रखा: उधारकर्ता का वेतन और मासिक भुगतान का आकार। आइए याद रखें कि हमने पहले इन्हीं कारकों को ध्यान में रखते हुए प्रत्येक ग्राहक द्वारा ऋण चुकाने की संभावना की गणना की थी। यह तर्कसंगत है कि हमें स्थिरांक से भिन्न संभावनाएँ प्राप्त हुईं .
आइए नमूनों की संभावना को परिभाषित करें:
नमूना संभावनाओं की गणना के लिए कोड
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 के अंत में प्रस्तावित मॉडल का उपयोग करना अधिक सही होगा।
लेकिन फिर, अगर हम अधिकतम करना चाहते हैं नमूना संभावना फ़ंक्शन, तो फिर कुछ एल्गोरिदम का उपयोग क्यों न करें जो वास्या, फेड्या और लेशा के लिए संभावनाएं उत्पन्न करेगा, उदाहरण के लिए, क्रमशः 0.99, 0.99 और 0.01 के बराबर। शायद ऐसा एल्गोरिदम प्रशिक्षण नमूने पर अच्छा प्रदर्शन करेगा, क्योंकि यह नमूना संभावना मूल्य को करीब लाएगा , लेकिन, सबसे पहले, इस तरह के एल्गोरिदम में सामान्यीकरण क्षमता के साथ कठिनाइयां होने की संभावना है, और दूसरी बात, यह एल्गोरिदम निश्चित रूप से रैखिक नहीं होगा। और यदि ओवरट्रेनिंग (समान रूप से कमजोर सामान्यीकरण क्षमता) से निपटने के तरीके स्पष्ट रूप से इस लेख की योजना में शामिल नहीं हैं, तो आइए दूसरे बिंदु पर अधिक विस्तार से विचार करें। ऐसा करने के लिए, बस एक साधारण प्रश्न का उत्तर दें। क्या हमें ज्ञात कारकों को ध्यान में रखते हुए, वास्या और फेड्या द्वारा ऋण चुकाने की संभावना समान हो सकती है? ठोस तर्क की दृष्टि से, निःसंदेह नहीं, ऐसा नहीं हो सकता। तो वास्या ऋण चुकाने के लिए प्रति माह अपने वेतन का 2.5% भुगतान करेगी, और फेड्या - लगभग 27,8%। इसके अलावा ग्राफ़ 2 "ग्राहक वर्गीकरण" में हम देखते हैं कि वास्या, फेड्या की तुलना में वर्गों को अलग करने वाली रेखा से बहुत आगे है। और अंत में, हम जानते हैं कि फ़ंक्शन वास्या और फेड्या के लिए अलग-अलग मान लेते हैं: वास्या के लिए 4.24 और फेड्या के लिए 1.0। अब, उदाहरण के लिए, यदि फेड्या ने अधिक परिमाण का ऑर्डर अर्जित किया या कम ऋण मांगा, तो वास्या और फेड्या के लिए ऋण चुकाने की संभावनाएं समान होंगी। दूसरे शब्दों में, रैखिक निर्भरता को मूर्ख नहीं बनाया जा सकता। और अगर हमने वास्तव में बाधाओं की गणना की , और उन्हें हवा से बाहर नहीं निकाला, हम सुरक्षित रूप से कह सकते हैं कि हमारे मूल्य सबसे अच्छा हमें प्रत्येक उधारकर्ता द्वारा ऋण की चुकौती की संभावना का अनुमान लगाने की अनुमति देता है, लेकिन चूंकि हम यह मानने पर सहमत हुए हैं कि गुणांक का निर्धारण सभी नियमों के अनुसार किया गया था, तो हम ऐसा मान लेंगे - हमारे गुणांक हमें संभावना का बेहतर अनुमान देने की अनुमति देते हैं :)
हालाँकि, हम विषयांतर करते हैं। इस अनुभाग में हमें यह समझने की आवश्यकता है कि वज़न का वेक्टर कैसे निर्धारित किया जाता है , जो प्रत्येक उधारकर्ता द्वारा ऋण चुकाने की संभावना का आकलन करने के लिए आवश्यक है।
आइए संक्षेप में बताएं कि हम संभावनाओं की तलाश में किस शस्त्रागार में जाते हैं :
1. हम मानते हैं कि लक्ष्य चर (भविष्यवाणी मूल्य) और परिणाम को प्रभावित करने वाले कारक के बीच संबंध रैखिक है। इसी कारण इसका प्रयोग किया जाता है रैखिक प्रतिगमन फ़ंक्शन जाति , जिसकी रेखा वस्तुओं (ग्राहकों) को वर्गों में विभाजित करती है и या (वे ग्राहक जो ऋण चुकाने में सक्षम हैं और जो नहीं हैं)। हमारे मामले में, समीकरण का रूप है .
2. हम उपयोग करते हैं उलटा लॉगिट फ़ंक्शन जाति किसी वर्ग से संबंधित वस्तु की संभावना निर्धारित करने के लिए .
3. हम अपने प्रशिक्षण सेट को सामान्यीकृत कार्यान्वयन के रूप में मानते हैं बर्नौली योजनाएँ, अर्थात्, प्रत्येक वस्तु के लिए एक यादृच्छिक चर उत्पन्न होता है, जो संभाव्यता के साथ होता है (प्रत्येक वस्तु के लिए अपना) मान 1 और संभाव्यता के साथ लेता है 0.
4. हम जानते हैं कि हमें अधिकतम क्या करना है नमूना संभावना फ़ंक्शन स्वीकृत कारकों को ध्यान में रखते हुए ताकि उपलब्ध नमूना सबसे प्रशंसनीय हो जाए। दूसरे शब्दों में, हमें उन मापदंडों का चयन करने की आवश्यकता है जिन पर नमूना सबसे प्रशंसनीय होगा। हमारे मामले में, चयनित पैरामीटर ऋण चुकौती की संभावना है , जो बदले में अज्ञात गुणांकों पर निर्भर करता है . इसलिए हमें वज़न का ऐसा वेक्टर ढूंढने की ज़रूरत है , जिस पर नमूने की संभावना अधिकतम होगी।
5. हम जानते हैं कि क्या अधिकतम करना है नमूना संभावना कार्य आप उपयोग कर सकते हैं अधिकतम संभावना विधि. और हम इस पद्धति के साथ काम करने की सभी पेचीदा तरकीबें जानते हैं।
इस तरह यह एक बहु-चरणीय चाल बन जाती है :)
अब याद रखें कि लेख की शुरुआत में हम दो प्रकार के हानि फ़ंक्शन प्राप्त करना चाहते थे लॉजिस्टिक हानि यह इस पर निर्भर करता है कि ऑब्जेक्ट क्लासों को कैसे निर्दिष्ट किया जाता है। ऐसा हुआ कि दो वर्गों के साथ वर्गीकरण समस्याओं में, वर्गों को इस प्रकार दर्शाया गया है и या . नोटेशन के आधार पर, आउटपुट में एक संगत हानि फ़ंक्शन होगा।
केस 1. वस्तुओं का वर्गीकरण и
इससे पहले, एक नमूने की संभावना का निर्धारण करते समय, जिसमें उधारकर्ता द्वारा ऋण चुकौती की संभावना की गणना कारकों और दिए गए गुणांकों के आधार पर की जाती थी , हमने सूत्र लागू किया:
वास्तव में अर्थ है लॉजिस्टिक प्रतिक्रिया कार्य वज़न के दिए गए वेक्टर के लिए
फिर हमें नमूना संभावना फ़ंक्शन को इस प्रकार लिखने से कोई नहीं रोकता:
ऐसा होता है कि कभी-कभी कुछ नौसिखिए विश्लेषकों के लिए यह तुरंत समझना मुश्किल होता है कि यह फ़ंक्शन कैसे काम करता है। आइए 4 छोटे उदाहरण देखें जो सब कुछ स्पष्ट कर देंगे:
1. अगर (अर्थात, प्रशिक्षण नमूने के अनुसार, वस्तु कक्षा +1 से संबंधित है), और हमारा एल्गोरिदम किसी वस्तु को किसी वर्ग में वर्गीकृत करने की संभावना निर्धारित करता है 0.9 के बराबर, तो नमूना संभावना के इस टुकड़े की गणना निम्नानुसार की जाएगी:
2. अगर और , तो गणना इस प्रकार होगी:
3. अगर और , तो गणना इस प्रकार होगी:
4. अगर और , तो गणना इस प्रकार होगी:
यह स्पष्ट है कि संभावना फ़ंक्शन को मामले 1 और 3 में या सामान्य मामले में अधिकतम किया जाएगा - किसी वर्ग को ऑब्जेक्ट निर्दिष्ट करने की संभावनाओं के सही अनुमानित मूल्यों के साथ .
इस तथ्य के कारण कि किसी वर्ग को किसी वस्तु को निर्दिष्ट करने की संभावना निर्धारित करते समय हम केवल गुणांकों को नहीं जानते हैं , तो हम उनकी तलाश करेंगे। जैसा कि ऊपर उल्लेख किया गया है, यह एक अनुकूलन समस्या है जिसमें सबसे पहले हमें भार के वेक्टर के संबंध में संभावना फ़ंक्शन का व्युत्पन्न खोजने की आवश्यकता है . हालाँकि, पहले अपने लिए कार्य को सरल बनाना समझ में आता है: हम लघुगणक के व्युत्पन्न की तलाश करेंगे संभाव्यता कार्य.
लघुगणक के बाद क्यों, में लॉजिस्टिक त्रुटि फ़ंक्शन, हमने साइन को बदल दिया है पर . सब कुछ सरल है, क्योंकि किसी मॉडल की गुणवत्ता का आकलन करने की समस्याओं में किसी फ़ंक्शन के मूल्य को कम करने की प्रथा है, हमने अभिव्यक्ति के दाहिने पक्ष को गुणा किया है और तदनुसार, अधिकतम करने के बजाय, अब हम फ़ंक्शन को न्यूनतम करते हैं।
दरअसल, अभी, आपकी आंखों के सामने, हानि फ़ंक्शन श्रमसाध्य रूप से प्राप्त किया गया था - लॉजिस्टिक हानि दो वर्गों वाले प्रशिक्षण सेट के लिए: и .
अब, गुणांक ज्ञात करने के लिए, हमें केवल अवकलज ज्ञात करने की आवश्यकता है लॉजिस्टिक त्रुटि फ़ंक्शन और फिर, संख्यात्मक अनुकूलन विधियों, जैसे कि ग्रेडिएंट डिसेंट या स्टोकेस्टिक ग्रेडिएंट डिसेंट का उपयोग करके, सबसे इष्टतम गुणांक का चयन करें . लेकिन, लेख की पर्याप्त मात्रा को देखते हुए, यह प्रस्तावित है कि आप स्वयं विभेदीकरण करें, या शायद यह अगले लेख के लिए ऐसे विस्तृत उदाहरणों के बिना बहुत सारे अंकगणित वाला विषय होगा।
केस 2. वस्तुओं का वर्गीकरण и
यहां भी दृष्टिकोण कक्षाओं जैसा ही होगा и , लेकिन हानि फ़ंक्शन के आउटपुट का पथ ही लॉजिस्टिक हानि, अधिक अलंकृत होगा। आएँ शुरू करें। संभाव्यता फ़ंक्शन के लिए हम ऑपरेटर का उपयोग करेंगे "तो अगर...". अर्थात यदि वें वस्तु वर्ग से संबंधित है , तो नमूने की संभावना की गणना करने के लिए हम संभावना का उपयोग करते हैं , यदि वस्तु वर्ग से संबंधित है , फिर हम संभावना में स्थानापन्न करते हैं . संभावना फ़ंक्शन इस प्रकार दिखता है:
आइए हम अपनी उंगलियों पर बताएं कि यह कैसे काम करता है। आइए 4 मामलों पर विचार करें:
1. अगर и , तो नमूना संभावना "जाओ" जाएगी
2. अगर и , तो नमूना संभावना "जाओ" जाएगी
3. अगर и , तो नमूना संभावना "जाओ" जाएगी
4. अगर и , तो नमूना संभावना "जाओ" जाएगी
यह स्पष्ट है कि मामले 1 और 3 में, जब संभावनाओं को एल्गोरिथम द्वारा सही ढंग से निर्धारित किया गया था, संभाव्यता समारोह अधिकतम किया जाएगा, अर्थात यह वही है जो हम प्राप्त करना चाहते थे। हालाँकि, यह दृष्टिकोण काफी बोझिल है और आगे हम अधिक संक्षिप्त नोटेशन पर विचार करेंगे। लेकिन पहले, आइए संकेत परिवर्तन के साथ संभाव्यता फ़ंक्शन का लघुगणक करें, क्योंकि अब हम इसे न्यूनतम कर देंगे।
आइए इसके स्थान पर स्थानापन्न करें अभिव्यक्ति :
आइए सरल अंकगणितीय तकनीकों का उपयोग करके लघुगणक के अंतर्गत सही पद को सरल बनाएं और प्राप्त करें:
अब ऑपरेटर से छुटकारा पाने का समय आ गया है "तो अगर...". ध्यान दें कि जब कोई वस्तु वर्ग का है , फिर लघुगणक के अंतर्गत व्यंजक में, हर में, सत्ता तक पहुंचाया , यदि वस्तु वर्ग से संबंधित है , फिर $e$ को घात तक बढ़ा दिया जाता है . इसलिए, दोनों मामलों को एक में जोड़कर डिग्री के लिए अंकन को सरल बनाया जा सकता है: । तो लॉजिस्टिक त्रुटि फ़ंक्शन रूप लेगा:
लघुगणक के नियमों के अनुसार, हम भिन्न को पलट देते हैं और "चिह्न" बाहर निकाल देते हैं।"(ऋण) लघुगणक के लिए, हमें मिलता है:
यहाँ हानि फ़ंक्शन है लॉजिस्टिक हानि, जिसका उपयोग कक्षाओं को निर्दिष्ट वस्तुओं के साथ प्रशिक्षण सेट में किया जाता है: и .
खैर, इस बिंदु पर मैं विदा लेता हूं और हम लेख समाप्त करते हैं।
सहायक सामग्री
1. साहित्य
1) एप्लाइड रिग्रेशन एनालिसिस / एन. ड्रेपर, जी. स्मिथ - दूसरा संस्करण। - एम.: वित्त एवं सांख्यिकी, 2 (अंग्रेजी से अनुवाद)
2) संभाव्यता सिद्धांत और गणितीय आँकड़े / वी.ई. गमुरमन - 9वां संस्करण। - एम.: हायर स्कूल, 2003
3) संभाव्यता सिद्धांत / एन.आई. चेर्नोवा - नोवोसिबिर्स्क: नोवोसिबिर्स्क स्टेट यूनिवर्सिटी, 2007
4) बिजनेस एनालिटिक्स: डेटा से ज्ञान तक / पाकलिन एन.बी., ओरेशकोव वी.आई. - दूसरा संस्करण। - सेंट पीटर्सबर्ग: पीटर, 2
5) डेटा साइंस डेटा साइंस स्क्रैच से / जोएल ग्रास - सेंट पीटर्सबर्ग: बीएचवी पीटर्सबर्ग, 2017
6) डेटा विज्ञान विशेषज्ञों के लिए व्यावहारिक आँकड़े / पी. ब्रूस, ई. ब्रूस - सेंट पीटर्सबर्ग: बीएचवी पीटर्सबर्ग, 2018
2. व्याख्यान, पाठ्यक्रम (वीडियो)
1)
2)
3)
4)
5)
3. इंटरनेट स्रोत
1)
2)