मुख्य सामग्री पर जाएं

डीप लर्निंग के लिए गणितीय अवधारणाओं का रहस्योद्घाटन

डेटा साइंस और डीप लर्निंग के लिए मूलभूत गणितीय अवधारणाएँ जानें, जैसे स्केलर और वेक्टर, डेटरमिनेंट, सिंगुलर वैल्यू डीकंपोज़िशन, और बहुत कुछ।
अपडेट किया गया 25 सित॰ 2026  · 11 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

डेटा साइंस एक अंतःविषय क्षेत्र है जो भविष्यवाणी करने के लिए गणित और उन्नत सांख्यिकी का उपयोग करता है। सभी डेटा साइंस एल्गोरिद्म प्रत्यक्ष या परोक्ष रूप से गणितीय अवधारणाओं का उपयोग करते हैं। गणित की ठोस समझ आपको रिकमेंडर सिस्टम जैसी अभिनव डेटा साइंस समाधान विकसित करने में मदद करेगी। यदि आपकी गणित पर अच्छी पकड़ है, तो डेटा साइंस में आपका संक्रमण आसान हो जाएगा। एक डेटा वैज्ञानिक के रूप में, आपको समस्याओं को हल करने के लिए गणित की मौलिक अवधारणाओं का उपयोग करना होगा।

गणित के अलावा, आपको डोमेन ज्ञान, प्रोग्रामिंग कौशल, व्यावसायिक कौशल, विश्लेषणात्मक कौशल और जिज्ञासु मानसिकता की भी आवश्यकता होती है। एक डेटा वैज्ञानिक के लिए गणित से बचने का कोई तरीका नहीं है। डेटा साइंटिस्ट बनने के लिए आपको गणित और सांख्यिकी की बुनियादी बातें आत्मसात करनी होंगी और स्वयं सीखनी होंगी।

स्केलर और वेक्टर

  • स्केलर: स्केलर एक एकल संख्या होती है जो स्केलर गुणन के माध्यम से अंतरिक्ष में वेक्टर से संबंधित होती है।
  • वेक्टर: एक वेक्टर V वस्तुओं का एक क्रमबद्ध समुच्चय है। वेक्टर संख्याओं का एक एरे है जो पंक्ति या स्तंभ हो सकता है। वेक्टरों को आपस में जोड़ा जा सकता है और उन्हें वास्तविक संख्या से गुणा किया जा सकता है, जिसे स्केलर कहा जाता है।
स्केलर बनाम वेक्टर बनाम मैट्रिक्स

छवि स्रोत

# Import numpy module
import numpy as np

# creating a vector
v = np.array([1, 2, 3, 4, 5])
print(v)
[1 2 3 4 5]
# Vector Operations
# Import numpy module
import numpy as np

# Create two vector
a = np.array([1, 2, 3, 4, 5])
b = np.array([1, 2, 3, 4, 5])

# adding two vectors
add = a + b
print("Addition:",add)

# Vector Subtraction
sub = a - b
print("Subtraction:",sub)

# Vector Multiplication
mul = a * b
print("Multiplication:",mul)

# Vector Division
div = a / b
print("division",div)
Addition: [ 2  4  6  8 10]
Subtraction: [0 0 0 0 0]
Multiplication: [ 1  4  9 16 25]
division [1. 1. 1. 1. 1.]

मैट्रिक्स और टेन्सर

  • मैट्रिसेज़: मैट्रिक्स संख्याओं का एक N-आयामी एरे होता है जो ट्रांसफॉर्मेशन को दर्शाता है। आप मैट्रिक्स को एक ट्रांसफॉर्मेशन के रूप में सोच सकते हैं जैसे "स्केल", "रोटेट", "शियर" और "फ्लिप"। यह अंतरिक्ष के एक बिंदु को अंतरिक्ष के किसी अन्य बिंदु में बदल देता है।
# Import numpy module
import numpy as np

# create 2*2 matrix
a1=np.array([[1, 2], [3, 4]])
a2=np.array([[1, 2], [3, 4]])

# Dot Product
dot_product = np.dot(a1,a2)
print("Dot Product: \n",dot_product)

# Cross Product
cross_product = np.cross(a1,a2)
print("Cross Product: \n", cross_product)
Dot Product:
 [[ 7 10]
 [15 22]]
Cross Product:
 [0 0]

दो वेक्टरों का डॉट प्रोडक्ट एक वेक्टर का दूसरे वेक्टर पर प्रक्षेप दर्शाता है, और दो वेक्टरों का क्रॉस प्रोडक्ट एक वेक्टर को उस तल की पहचान करने में सक्षम बनाता है जिस पर दोनों वेक्टर स्थित हो सकते हैं।

  • टेन्सर: कभी-कभी आपको दो से अधिक आयामों वाला एरे चाहिए होता है तथा प्रत्येक एरे का आयाम अलग हो सकता है, जिसे ग्रिड में व्यवस्थित किया जाता है—इसे टेन्सर कहते हैं। टेन्सर के आयाम को उसका रैंक कहा जाता है। स्केलर और वेक्टर भी टेन्सर के ही प्रकार हैं। शून्य-क्रम टेन्सर स्केलर होते हैं, और प्रथम-क्रम टेन्सर वेक्टर होते हैं।
मैट्रिक्स बनाम वेक्टर

छवि स्रोत

डेटरमिनेंट

डेटरमिनेंट एक स्केलर मान है जो दर्शाता है कि किसी मैट्रिक्स द्वारा लंबाई (1-आयाम), क्षेत्रफल (2-आयाम), आयतन (3-आयाम) किस गुणक से परिवर्तित होता है। यदि डेटरमिनेंट 2 है, तो यह आयतन (3-आयाम में) दोगुना कर देता है, और यदि डेटरमिनेंट 1 है, तो यह आयतन को प्रभावित नहीं करता। यदि डेटरमिनेंट 0 है, तो उसका इनवर्स नहीं होता, क्योंकि शून्य किसी भी संख्या से गुणा करने पर शून्य ही देता है।

डेटरमिनेंट मैट्रिक्स

गुणधर्म:

  • मैट्रिसेज़ के गुणन का डेटरमिनेंट, उनके डेटरमिनेंट्स के गुणन के बराबर होता है: det (M1M2)=det (M1) det (M2).

  • किसी मैट्रिक्स का डेटरमिनेंट उसके ईगेनवैल्यूज़ के गुणन के समतुल्य होता है।

  • यदि आप किसी मैट्रिक्स को किसी स्थिरांक से गुणा करते हैं, तो डेटरमिनेंट det(cM)=cN det (M) के अनुसार बदलता है। यहाँ N मैट्रिक्स का आयाम है।

यदि आपका मैट्रिक्स एक खिंचने वाले खिलौने का प्रतिनिधित्व करता है, तो इस मैट्रिक्स का डेटरमिनेंट दिखाता है कि आपने खिलौने को कितना खींचा है।

# Import numpy module
import numpy as np

# Create 2*2 matrix
arr=np.array([[1,2],[3,4]])

# Compute Determinant of a matrix
arr_det=np.linalg.det(arr)

# Print the Computed Determinant
print("Determinant:",arr_det)
Determinant: -2.0000000000000004

ईगेनवैल्यूज़ और ईगेनवेक्टर

वर्गाकार मैट्रिक्स A का एक ईगेनवेक्टर v एक गैर-शून्य वेक्टर होता है, जिसके साथ A का गुणन केवल v के स्केल को बदलता है।

ईगेनवैल्यूज़ और ईगेनवेक्टर

छवि स्रोत

ईगेनवेक्टर को कैरेक्टरिस्टिक वेक्टर भी कहा जाता है। यह एक गैर-शून्य वेक्टर है जो उस पर रैखिक रूपांतरण लागू होने पर केवल एक स्केलर कारक से बदलता है।

ईगेनवेक्टर रैखिक रूपांतरण के घूर्णन अक्ष होते हैं। ये अक्ष दिशा में स्थिर रहते हैं, और ईगेनवैल्यू वह स्केल फैक्टर है जिससे मैट्रिक्स ऊपर या नीचे स्केल होता है। ईगेनवैल्यूज़ को कैरेक्टरिस्टिक वैल्यूज़ या कैरेक्टरिस्टिक रूट्स भी कहा जाता है। दूसरे शब्दों में, आप कह सकते हैं कि ईगेनवेक्टर वे स्थिर रेखाएँ या तल हैं जो रैखिक रूपांतरण के व्यवहार को सीमित करते हैं और रैखिक रूपांतरण के ईगेनवैल्यूज़ विकृति के कारक होते हैं।

डेटरमिनेंट आपको बताता है कि रैखिक रूपांतरण में आकृतियों का क्षेत्रफल कितना ऊपर-नीचे स्केल हुआ है। यही कारण है कि ईगेनवैल्यूज़ का गुणन डेटरमिनेंट के बराबर होता है।

# Import numpy module
import numpy as np

# Create 2*2 matrix
arr=np.array([[1,2],[3,4]])

# Find eigenvalues and eigenvectors
eigenvalues, eigenvectors = np.linalg.eig(arr)

# print the eigenvalues and eigenvectors
print("Eigen Values: \n",eigenvalues)
print("Eigen Vectors:\n", eigenvectors)
Eigen Values:
 [-0.37228132  5.37228132]
Eigen Vectors:
 [[-0.82456484 -0.41597356]
 [ 0.56576746 -0.90937671]]

NORM फ़ंक्शन

कभी-कभी आप किसी वेक्टर का आकार मापना चाहते हैं। नॉर्म फ़ंक्शन वेक्टर के आकार को मापने में मदद करता है। यह शून्य वेक्टर को छोड़कर वेक्टर स्पेस में किसी वेक्टर को एक सख्त धनात्मक लंबाई सौंपता है। इसमें L^p नॉर्म शामिल है। यह वेक्टरों को गैर-ऋणात्मक मानों पर मैप करता है। वेक्टर और मैट्रिक्स के लिए यह यूक्लिडीय दूरी के समतुल्य होता है। यह सबसे बड़े सिंगुलर वैल्यू के बराबर होता है।

NORM फ़ंक्शन का फ़ॉर्मूला
# import numpy module
import numpy as np

# Create 3*3 Matrix
a = np.array([[1,2,3],[4,5,6],[7,8,9]])

# Compute norm
a_norm = np.linalg.norm(a)

# print the norm of function
print(a_norm)
16.881943016134134

मैट्रिक्स फैक्टराइज़ेशन

मैट्रिक्स फैक्टराइज़ेशन, जिसे मैट्रिक्स डीकंपोज़िशन भी कहा जाता है, किसी मैट्रिक्स को उसके अवयव भागों में विभाजित करने के लिए उपयोग होता है। मैट्रिक्स फैक्टराइज़ेशन संख्याओं के फैक्टरिंग के समान है, जैसे 10 को 2 x 5 में फैक्टर करना। इसका उपयोग रैखिक समीकरणों को हल करने में किया जाता है।

निम्नलिखित मैट्रिक्स फैक्टराइज़ेशन तकनीकें उपलब्ध हैं:

  • LU डीकंपोज़िशन वर्गाकार मैट्रिसेज़ के लिए है और किसी मैट्रिक्स को L और U अवयवों में विभाजित करता है।
  • QR डीकंपोज़िशन m x n मैट्रिसेज़ (केवल वर्गाकार तक सीमित नहीं) के लिए है और किसी मैट्रिक्स को Q और R अवयवों में विभाजित करता है। यह LU डीकंपोज़िशन की तरह वर्गाकार मैट्रिसेज़ तक सीमित नहीं है।
  • Cholesky डीकंपोज़िशन का उपयोग रैखिक प्रतिगमन के लिए रैखिक लीस्ट स्क्वेयर्स, साथ ही सिमुलेशन और ऑप्टिमाइज़ेशन विधियों में किया जाता है।
  • सिंगुलर वैल्यू डीकंपोज़िशन अगले अनुभाग में समझाया गया है।

सिंगुलर वैल्यू डीकंपोज़िशन

पिछले अनुभाग में, हमने किसी मैट्रिक्स का ईगेन-डीकंपोज़िशन देखा जो उसे ईगेनवेक्टर और ईगेनवैल्यूज़ में विघटित करता है। सिंगुलर वैल्यू डीकंपोज़िशन मैट्रिक्स फैक्टराइज़ेशन की एक विधि है जो उसे सिंगुलर वेक्टर और सिंगुलर वैल्यूज़ में विघटित करती है। इसके सिग्नल प्रोसेसिंग, मनोविज्ञान, समाजशास्त्र, जलवायु, वायुमंडलीय विज्ञान, सांख्यिकी और खगोल विज्ञान में कई उपयोगी अनुप्रयोग हैं।

सिंगुलर वैल्यू डीकंपोज़िशन फ़ॉर्मूला
  • M एक m×m मैट्रिक्स है
  • U एक m×n लेफ्ट सिंगुलर मैट्रिक्स है
  • Σ एक n×n डायगोनल मैट्रिक्स है, जिसमें गैर-ऋणात्मक वास्तविक संख्याएँ होती हैं।
  • V एक m×n राइट सिंगुलर मैट्रिक्स है
  • V* n×m मैट्रिक्स है, जो V का ट्रांसपोज़ है।
# Import numpy module
import numpy as np

# Create 3*3 matrix
a = np.array([[1, 3, 4], [5, 6, 9], [1, 2, 3], [7, 6, 8]])

# Decomposition of matrix using SVD
U, s, Vh = np.linalg.svd(a, full_matrices=False)

U,s,Vh
(array([[-0.27067357, -0.61678044,  0.69789573],
        [-0.65939972, -0.2937857 , -0.62152182],
        [-0.20244298, -0.3480035 , -0.06765408],
        [-0.67152413,  0.64200111,  0.34939247]]),
 array([18.0376394 ,  2.34360292,  0.38870323]),
 array([[-0.46961711, -0.51018039, -0.72053851],
        [ 0.87911451, -0.19502274, -0.43488368],
        [-0.08134773,  0.83766467, -0.54009299]]))
# Generate the initial matrix
new_a = np.dot(U, np.dot(np.diag(s), Vh))

# Print original matrix
print(new_a)
[[1. 3. 4.]
 [5. 6. 9.]
 [1. 2. 3.]
 [7. 6. 8.]]

मूर-पेनरोज़ स्यूडोइनवर्स

किसी मैट्रिक्स का स्यूडोइनवर्स, इनवर्स मैट्रिक्स का सामान्यीकृत रूप है। इसका उपयोग लीस्ट स्क्वेयर्स समाधानों की गणना में किया जाता है। मूर-पेनरोज़ इनवर्स मैट्रिक्स स्यूडोइनवर्स का सबसे लोकप्रिय रूप है।

मूर-पेनरोज़ स्यूडोइनवर्स मैट्रिक्स
# Import numpy module
import numpy as np

# Create 3*3 matrix
a = np.array([[1, 3, 4], [5, 6, 9], [1, 2, 3], [7, 6, 8]])

# Compute the (Moore-Penrose) pseudo-inverse of a matrix.
inv=np.linalg.pinv(a)

# Print pseudo-inverse of a matrix.
print(inv)
[[-0.37037037  0.03703704 -0.11111111  0.18518519]
 [ 1.56296296 -1.2962963  -0.11111111  0.71851852]
 [-0.84444444  0.94444444  0.16666667 -0.57777778]]

हैडामर्ड प्रोडक्ट

हैडामर्ड प्रोडक्ट या शूर प्रोडक्ट समान आयाम वाली दो मूल मैट्रिसेज़ का अवयवी-स्तरीय (एलीमेंट-वाइज़) गुणन है। इसे एलीमेंट-वाइज़ प्रोडक्ट भी कहा जाता है। यह मैट्रिक्स गुणन से सरल है। हैडामर्ड प्रोडक्ट का उपयोग JPEG लॉसी कंप्रेशन एल्गोरिद्म में होता है। हैडामर्ड प्रोडक्ट संचयी (commutative), साहचर्य (associative) और वितरणशील (distributive) है। इससे इनवर्स आसानी से प्राप्त हो जाता है और पावर मैट्रिसेज़ की गणना सरल हो जाती है।

हैडामर्ड प्रोडक्ट मैट्रिसेज़

हैडामर्ड प्रोडक्ट का उपयोग विभिन्न क्षेत्रों में होता है, जैसे उपग्रह प्रसारण में कोड सुधार, सूचना सिद्धांत, क्रिप्टोग्राफी, पैटर्न मान्यता, न्यूरल नेटवर्क, मैक्सिमम लाइकलीहुड एस्टीमेशन, JPEG लॉसी कंप्रेशन, बहुवैरीय सांख्यिकीय विश्लेषण और रैखिक मॉडलिंग।

# Import numpy module
import numpy as np

# Create 2*2 matrix a1 and a2
a1=np.array([[1, 2], [3, 4]])
a2=np.array([[1, 2], [3, 4]])

# Element wise multiplication
hadamard_product = np.multiply(a1,a2)

# Print hadamard distance
print("Hadamard Product: \n", hadamard_product)
Hadamard Product:
 [[ 1  4]
 [ 9 16]]

एंट्रॉपी

"किसी यादृच्छिक चर की एंट्रॉपी एक फ़ंक्शन है जो उस यादृच्छिक चर की अनिश्चितता को परिभाषित करने का प्रयास करता है।" (Entropy and Mutual Information)" निर्णय वृक्ष के स्वचालित निर्माण में, पेड़ बनाने के प्रत्येक चरण पर फीचर चयन एंट्रॉपी मानदंड का उपयोग करके किया जाता है। मॉडल चयन अधिकतम एंट्रॉपी के सिद्धांत पर आधारित है, जो कहता है कि परस्पर विरोधी मॉडलों में, उच्चतम एंट्रॉपी वाला सबसे अच्छा है।

"यदि कोई यादृच्छिक चर X समुच्चय χ={x1, x2,..., xn} में मान लेता है, और P(X) प्रायिकता वितरण द्वारा परिभाषित होता है, तो हम उस यादृच्छिक चर की एंट्रॉपी को इस प्रकार लिखेंगे," (Entropy and Mutual Information)

एंट्रॉपी फ़ॉर्मूला

"यदि ऊपर दिए गए समीकरण में लघुगणक का आधार 2 लिया जाता है, तो एंट्रॉपी बिट्स में व्यक्त की जाती है। यदि लघुगणक प्राकृतिक आधार का लिया जाता है, तो एंट्रॉपी नैट्स में व्यक्त की जाती है। सामान्यतः, एंट्रॉपी बिट्स में ही व्यक्त की जाती है।" (Entropy and Mutual Information)

# Import scipy and numpy module
import scipy.stats
import numpy as np

# Create an array
a=np.array([1,1,2,3,1,3,4,2,5,6,3,2,4,3])


# Compute probability distribution
a_pdf=scipy.stats.norm.pdf(a)

# Calculate the entropy of a distribution for given probability values.
entropy = scipy.stats.entropy(a_pdf) # get entropy from probability values
print("Entropy: ",entropy)
Entropy:  1.6688066853941022

कुलबैक-लीबलर डाइवर्जेंस

कुलबैक–लीबलर डाइवर्जेंस दो प्रायिकता वितरणों की सापेक्ष एंट्रॉपी है। यह एक वितरण की दूसरे संदर्भ प्रायिकता वितरण से दूरी (समानता या असमानता) को मापता है। कुलबैक–लीबलर डाइवर्जेंस का मान 0 होने का अर्थ है कि दोनों वितरण समान हैं। इसे इस प्रकार व्यक्त किया जा सकता है,

कुलबैक-लीबलर डाइवर्जेंस फ़ॉर्मूला

यह दूरी माप जैसा लगता है, पर वास्तव में नहीं है। इसका कारण यह है कि यह स्वाभाविक रूप से असममित है, अर्थात यह मीट्रिक संचयी नहीं है। सामान्य रूप से, आप कह सकते हैं D(p, q) ≠ D(q, p)। KL डाइवर्जेंस का उपयोग अक्सर अनसुपरवाइज़्ड मशीन लर्निंग तकनीक “Variational Autoencoders” में होता है।

# Import scipy.stats and numpy module
import scipy.stats
import numpy as np

# Create numpy arrays
a=np.array([1,1,2,3,1,3,4,2,5,6,3,2,4,3])
b=np.array([1,1,3,4,2,4,5,2,5,6,3,2,4,3])

# Compute probability distribution
a_pdf=scipy.stats.norm.pdf(a)
b_pdf=scipy.stats.norm.pdf(b)

# compute relative entropy or KL Divergence
kl_div=scipy.stats.entropy(a_pdf,b_pdf)

print("KL Divergence: ",kl_div)
KL Divergence:  0.26732496641464365

ग्रेडिएंट डिसेंट

ग्रेडिएंट डिसेंट सबसे प्रसिद्ध एल्गोरिद्मों में से एक है, जिसका उपयोग रैखिक प्रतिगमन, लॉजिस्टिक प्रतिगमन और न्यूरल नेटवर्क के लिए गुणांक और बायस को ऑप्टिमाइज़ करने में होता है। यह एक आवर्ती प्रक्रिया है जो किसी भी दिए गए फ़ंक्शन का न्यूनतम मान खोजती है।

ग्रेडिएंट डिसेंट का चित्र

छवि स्रोत

ग्रेडिएंट डिसेंट फ़ॉर्मूला

छवि स्रोत

ग्रेडिएंट डिसेंट के तीन प्रकार होते हैं: फुल बैच, स्टोकेस्टिक और मिनी-बैच ग्रेडिएंट डिसेंट। फुल बैच ग्रेडिएंट डिसेंट ग्रेडिएंट की गणना के लिए पूरे डेटासेट का उपयोग करता है, जबकि स्टोकेस्टिक ग्रेडिएंट डिसेंट ग्रेडिएंट की गणना के लिए डेटासेट के एक नमूने का उपयोग करता है। मिनी-बैच ग्रेडिएंट डिसेंट, स्टोकेस्टिक और बैच, दोनों का संयोजन है। ट्रेनिंग सेट को कई छोटे समूहों (बैच) में विभाजित किया जाता है। ये छोटे बैच एक-एक करके लॉस की गणना करते हैं और अंतिम लॉस का औसत निकालते हैं।

निष्कर्ष

बधाई हो, आप इस ट्यूटोरियल के अंत तक पहुँच गए हैं!

आपने डीप लर्निंग के लिए मूलभूत गणितीय अवधारणाएँ सीखीं, जैसे स्केलर, वेक्टर, मैट्रिक्स, टेन्सर, डेटरमिनेंट, ईगेनवैल्यूज़, ईगेनवेक्टर, NORM फ़ंक्शन, सिंगुलर वैल्यू डीकंपोज़िशन (SVD), मूर-पेनरोज़ स्यूडोइनवर्स, हैडामर्ड प्रोडक्ट, एंट्रॉपी, कुलबैक-लीबलर डाइवर्जेंस और ग्रेडिएंट डिसेंट।

रास्ते में, आपने NumPy और SciPy का उपयोग करते हुए Python में इन अवधारणाओं का अभ्यास भी किया।

यदि आप Python के बारे में और सीखना चाहते हैं, तो निम्नलिखित DataCamp पाठ्यक्रम देखें:

विषय
डीप लर्निंग
डेटा साइंस
Python

डीप लर्निंग के बारे में और जानें

{count, plural, one {कोर्स} other {कोर्स}}

Python में Deep Learning परिचय

{hours} घंटा
264.7K
Python में Keras 2.0 का उपयोग करके न्यूरल नेटवर्क की बुनियादी बातें और डीप लर्निंग मॉडल बनाना सीखें।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें
और देखेंRight Arrow