మీరు మెషిన్ లెర్నింగ్ నేర్చుకోవడం ప్రారంభించినప్పుడు, రహదారిలోని మొదటి ఫోర్క్లలో ఇది ఒకటి: మీరు ఎలాంటి అభ్యాసం చేస్తున్నారు? సమాధానం ప్రతిదీ మారుస్తుంది — మీకు అందుబాటులో ఉన్న అల్గారిథమ్లు, మీకు అవసరమైన డేటా మరియు మీ మోడల్ ఏమి చేయాలని మీరు ఆశించవచ్చు.
రెండు ప్రాథమిక వర్గాలు పర్యవేక్షించే అభ్యాసం మరియు పర్యవేక్షించని అభ్యాసం. వ్యత్యాసాన్ని అర్థం చేసుకోవడం కేవలం విద్యాపరమైనది కాదు — ఏదైనా కొత్త ML సమస్యను సంప్రదించినప్పుడు మీరు తీసుకునే మొదటి నిర్ణయం ఇది.
పర్యవేక్షించబడే మరియు పర్యవేక్షించబడని అభ్యాసాల మధ్య అత్యంత ప్రాథమిక వ్యత్యాసం మీ శిక్షణ డేటాలో లేబుల్లు ఉన్నాయా అనేది.
లేబుల్ చేయబడిన డేటా అంటే మీ డేటాసెట్లోని ప్రతి ఉదాహరణ "సరైన సమాధానం"తో వస్తుంది — మోడల్ అంచనా వేయాలని లేదా వర్గీకరించాలని మీరు కోరుకుంటున్న ఫలితం:
# Labelled dataset (supervised)
email_text | label
------------------------------------|-------
"Congratulations! You've won £1000" | spam
"Meeting rescheduled to Thursday" | not_spam
"URGENT: Your account is suspended" | spam
లేబుల్ చేయని డేటా అంటే మీకు ఇన్పుట్లు ఉన్నాయి కానీ ముందుగా నిర్వచించబడిన సమాధానాలు లేవు — కేవలం ముడి పరిశీలనలు:
# Unlabelled dataset (unsupervised)
customer_id | age | annual_spend | frequency | location
------------|-----|--------------|-----------|----------
C001 | 34 | £2,400 | 12/year | London
C002 | 52 | £18,000 | 52/year | Manchester
C003 | 28 | £650 | 3/year | London
లేబుల్ చేయబడిన డేటా ఖరీదైనది మరియు ఉత్పత్తి చేయడానికి ఎక్కువ సమయం తీసుకుంటుంది - దీనికి మానవులు ఉదాహరణలను మాన్యువల్గా ఉల్లేఖించడం అవసరం. లేబుల్ చేయని డేటా సమృద్ధిగా ఉంది (ప్రపంచంలోని చాలా డేటాకు లేబుల్లు లేవు). ఈ ఆచరణాత్మక పరిమితి ఇచ్చిన సమస్యకు ఏ విధానాన్ని సాధ్యమవుతుందో రూపొందిస్తుంది.
పర్యవేక్షించబడే అభ్యాసంలో, మోడల్ లేబుల్ చేయబడిన ఉదాహరణలను అధ్యయనం చేయడం ద్వారా ఇన్పుట్ల నుండి అవుట్పుట్లకు మ్యాపింగ్ను నేర్చుకుంటుంది. "సూపర్వైజర్" అనేది లేబుల్ చేయబడిన డేటా - ప్రతి శిక్షణా ఉదాహరణ సరైన అవుట్పుట్ ఎలా ఉండాలో మోడల్కు చెబుతుంది.
అవుట్పుట్ వివిక్త వర్గం అయినప్పుడు, ఇది వర్గీకరణ సమస్య.
ఉదాహరణలు:
సైన్ ఇన్ చర్చలో చేరండి
సాధారణ అల్గోరిథంలు:
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
classifier = RandomForestClassifier(n_estimators=100)
classifier.fit(X_train, y_train)
accuracy = classifier.score(X_test, y_test)
print(f"Test accuracy: {accuracy:.2%}")
అవుట్పుట్ నిరంతర సంఖ్య అయినప్పుడు, ఇది రిగ్రెషన్ సమస్య.
** ఉదాహరణలు:**
సాధారణ అల్గోరిథంలు:
from sklearn.ensemble import GradientBoostingRegressor
model = GradientBoostingRegressor(n_estimators=200, learning_rate=0.1)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
# predictions = [245000, 182000, 412000, ...] (house prices in £)
పర్యవేక్షించబడని అభ్యాసంలో, మోడల్ డేటా యొక్క నిర్మాణాన్ని ఏ లేబుల్లు లేకుండా అన్వేషిస్తుంది. తెలిసిన అవుట్పుట్కు మ్యాపింగ్ను నేర్చుకోవడం కంటే, ఇది దాగి ఉన్న నమూనాలు, సమూహాలు లేదా ప్రాతినిధ్యాలను స్వయంగా కనుగొంటుంది.
సమూహాలు ఎలా ఉండాలో చెప్పకుండానే క్లస్టర్ అల్గారిథమ్లు ఒకే విధమైన డేటా పాయింట్లను సమూహపరుస్తాయి.
ఉదాహరణలు:
సాధారణ అల్గోరిథంలు:
from sklearn.cluster import KMeans
# We don't know how many customer segments exist — let's try 4
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(customer_data_scaled)
# Each customer now has a cluster label (0, 1, 2, or 3)
df['segment'] = kmeans.labels_
# Analyse what each segment looks like
print(df.groupby('segment')[['age', 'annual_spend', 'frequency']].mean())
సాధ్యమైనంత ఎక్కువ నిర్మాణాన్ని సంరక్షించేటప్పుడు అధిక డైమెన్షనల్ డేటాను తక్కువ కొలతలుగా కుదించండి. విజువలైజేషన్, ప్రీ-ప్రాసెసింగ్ మరియు అనవసరమైన సమాచారాన్ని తీసివేయడం కోసం ఉపయోగించబడుతుంది.
సాధారణ అల్గోరిథంలు:
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# Reduce 50-dimensional data to 2D for visualisation
pca = PCA(n_components=2)
X_2d = pca.fit_transform(X_scaled)
plt.scatter(X_2d[:, 0], X_2d[:, 1], c=cluster_labels, cmap='tab10')
plt.title('Customer segments visualised in 2D')
plt.show()
పర్యవేక్షించబడే/పర్యవేక్షించబడని వ్యత్యాసం పునాది, కానీ ML ల్యాండ్స్కేప్ ఈ రెండు వర్గాల కంటే గొప్పది.
కొద్దిగా లేబుల్ చేయబడిన డేటాని పెద్ద మొత్తంలో లేబుల్ చేయని డేటాతో కలిపి ఉపయోగిస్తుంది. ఇది చాలా ఆచరణాత్మకమైనది ఎందుకంటే లేబులింగ్ ఖరీదైనది.
ఉదాహరణ: మీకు 1,000 లేబుల్ చేయబడిన మెడికల్ స్కాన్లు మరియు 100,000 లేబుల్ లేనివి ఉన్నాయి. సెమీ-పర్యవేక్షించబడిన అభ్యాసం 1,000 లేబుల్లు మాత్రమే సాధించగలిగే దానికంటే ఎక్కువ పనితీరును మెరుగుపరచడానికి లేబుల్ చేయని డేటా నుండి ప్రయోజనం పొందేందుకు మిమ్మల్ని అనుమతిస్తుంది.
లేబుల్లు డేటా నుండే స్వయంచాలకంగా రూపొందించబడే ప్రత్యేక సందర్భం. ఈ విధంగా ఆధునిక పెద్ద భాషా నమూనాలు ముందుగా శిక్షణ పొందుతాయి.
ఉదాహరణ: ఒక వాక్యాన్ని తీసుకోండి, కొన్ని పదాలను దాచండి మరియు తప్పిపోయిన పదాలను అంచనా వేయడానికి మోడల్కు శిక్షణ ఇవ్వండి. "లేబుల్స్" (సరైన పదాలు) ఉచితం - అవి నేరుగా వచనం నుండే వస్తాయి. ఈ విధంగా BERT శిక్షణ పొందింది.
Input: "The cat sat on the [MASK]."
Target: "mat"
మానవ ఉల్లేఖన లేకుండా ఇంటర్నెట్ స్కేల్ డేటాపై శిక్షణను అనుమతించడం వలన స్వీయ-పర్యవేక్షించిన అభ్యాసం రూపాంతరం చెందింది.
ఒక ఏజెంట్ **పర్యావరణంలో చర్యలు తీసుకొని రివార్డ్లు లేదా పెనాల్టీలు పొందడం ద్వారా నేర్చుకుంటారు. లేబుల్లు లేవు - ఫలితాల నుండి ఫీడ్బ్యాక్ సంకేతాలు మాత్రమే.
ఉదాహరణలు: చదరంగం ఆడటం, రోబోట్కి నడవడానికి శిక్షణ ఇవ్వడం, డేటా సెంటర్ కూలింగ్ సిస్టమ్ను ఆప్టిమైజ్ చేయడం. మేము దీనిని దాని స్వంత పాఠంలో లోతుగా కవర్ చేస్తాము.
ఇక్కడ ఆచరణాత్మక నిర్ణయ ఫ్రేమ్వర్క్ ఉంది:
Do you have labelled data?
├── YES → Supervised Learning
│ ├── Output is a category? → Classification
│ │ (spam/not spam, dog/cat, fraud/legit)
│ └── Output is a number? → Regression
│ (price, temperature, sales volume)
└── NO → Unsupervised Learning
├── Want to find groups? → Clustering
│ (customer segments, document topics)
├── Want to compress data? → Dimensionality Reduction
│ (visualisation, pre-processing)
└── Want to detect anomalies? → Anomaly Detection
(fraud, equipment failure)
Partially labelled? → Semi-Supervised Learning
Learning from interaction? → Reinforcement Learning
మీకు స్టార్ రేటింగ్లు లేదా సెంటిమెంట్ లేబుల్లు లేకుండా 50,000 ఉత్పత్తి సమీక్షలు ఉన్నాయి. మీరు వాటిని టాపిక్ వారీగా స్వయంచాలకంగా సమూహం చేయాలనుకుంటున్నారు. మీరు ఏ అభ్యాస విధానాన్ని ఉపయోగించాలి?