AIUnlimited
🌳

AI పునాదులు

🌱
AI Seeds

సున్నా నుండి ప్రారంభించండి

🌿
AI Sprouts

పునాదులు నిర్మించండి

🌳
AI Branches

ఆచరణలో అన్వయించండి

🏕️
AI Canopy

లోతుగా వెళ్ళండి

🌲
AI Forest

AI లో నిపుణత సాధించండి

🔨

AI నైపుణ్యం

✏️
AI Sketch

సున్నా నుండి ప్రారంభించండి

🪨
AI Chisel

పునాదులు నిర్మించండి

⚒️
AI Craft

ఆచరణలో అన్వయించండి

💎
AI Polish

లోతుగా వెళ్ళండి

🏆
AI Masterpiece

AI లో నిపుణత సాధించండి

📘

AI ఆచరణ

📖
ఓపెన్-సోర్స్ మోడల్స్ అర్థం చేసుకోవడం

ఓపెన్-సోర్స్ మోడల్స్ ప్రాథమికాలు మరియు వనరులు

🎯
సమస్య నుండి మోడల్ టాస్క్‌కు

వ్యాపార సమస్యలను మోడల్ టాస్క్‌లుగా మార్చడం

⚡
మీ మొదటి మోడల్ నడపడం

30 నిమిషాల్లో మీ మొదటి ఫలితాలను చూడండి

🔧
ఫైన్-ట్యూనింగ్ మరియు మూల్యాంకనం

మోడల్స్ ఫైన్-ట్యూన్ చేసి పనితీరును మూల్యాంకనం చేయండి

🚀
అప్లికేషన్ సిస్టమ్‌లు

వాస్తవ AI అనువర్తనాలను నిర్మించండి

🎨
జనరేటివ్ AI

ఓపెన్-సోర్స్ AIGC మోడల్స్ అన్వేషించండి

🤖
ఏజెంట్లు

ఏజెంట్ ఫ్రేమ్‌వర్క్‌లు మరియు MCP టూల్స్ నేర్చుకోండి

📐
సప్లిమెంటరీ ప్రాథమికాలు

LLM ప్రాథమికాలు మరియు మూల్యాంకనం

🎓

Claude Academy

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

ల్యాబ్

7 ప్రయోగాలు లోడ్ అయ్యాయి
🧬Neural Network Playground🤖AI లేదా మనిషి?🥋Prompt Engineering Dojo🏁Algorithm Race🧠AI ట్రివియా ఛాలెంజ్🏗️సిస్టమ్ డిజైన్ క్యాన్వాస్
🎯మాక్ ఇంటర్వ్యూల్యాబ్‌లోకి వెళ్ళండి→
🚀

కెరీర్ అభివృద్ధి

🚀
ఇంటర్వ్యూ లాంచ్‌ప్యాడ్

మీ ప్రయాణం ప్రారంభించండి

🌟
ప్రవర్తనా ఇంటర్వ్యూ నైపుణ్యం

సాఫ్ట్ స్కిల్స్ నేర్చుకోండి

💻
సాంకేతిక ఇంటర్వ్యూలు

కోడింగ్ రౌండ్ విజయం సాధించండి

🤖
AI & ML ఇంటర్వ్యూలు

ML ఇంటర్వ్యూ నైపుణ్యం

🏆
ఆఫర్ & అంతకు మించి

అత్యుత్తమ ఆఫర్ పొందండి

నేర్చుకోవడం ప్రారంభించండి
AIUnlimited

MIT లైసెన్స్

沪ICP备18025655号-11

నేర్చుకోండి

  • AI ప్రాథమికాలు
  • AI ఆచరణ
  • Claude Academy
  • ల్యాబ్
  • కెరీర్ అభివృద్ధి

సంఘం

  • మా గురించి
  • తరచుగా అడిగే ప్రశ్నలు

మద్దతు

  • footer.terms
  • footer.privacy
  • footer.contact
AI & ఇంజనీరింగ్ ప్రోగ్రామ్‌లు›🌿 AI Sprouts›పాఠాలు›Overfitting మరియు Underfitting: ML మోడళ్లు ఎందుకు విఫలమవుతాయి
📉
AI Sprouts • మధ్యస్థం⏱️ 25 నిమిషాల పఠన సమయం

Overfitting మరియు Underfitting: ML మోడళ్లు ఎందుకు విఫలమవుతాయి

ఓవర్ ఫిట్టింగ్ మరియు అండర్ ఫిట్టింగ్: ఎంఎల్ మోడల్స్ ఎందుకు విఫలమవుతాయి

మీరు మీ మొదటి మెషిన్ లెర్నింగ్ మోడల్‌కు శిక్షణ ఇచ్చారు. ఇది మీ శిక్షణ డేటాపై అద్భుతంగా పనిచేస్తుంది - 98% ఖచ్చితత్వం! మీరు దీన్ని కొత్త డేటాపై పరీక్షిస్తారు మరియు అది వేరుగా ఉంటుంది: 61% ఖచ్చితత్వం. ఏం తప్పు జరిగింది?

దాదాపు ఖచ్చితంగా, మీ మోడల్ ఓవర్ ఫిట్ని కలిగి ఉంది. మెషీన్ లెర్నింగ్‌లో ఇది రెండు అత్యంత సాధారణ వైఫల్య మోడ్‌లలో ఒకటి, మరియు దానిని అర్థం చేసుకోవడం — దాని వ్యతిరేకతతో పాటు, అండర్‌ఫిట్టింగ్ — వాస్తవ ప్రపంచంలో పని చేసే మోడల్‌లను రూపొందించడానికి చాలా అవసరం.

📐 బయాస్-వేరియెన్స్ ట్రేడ్ఆఫ్

ఉదాహరణలలోకి ప్రవేశించే ముందు, ఈ భావనల వెనుక ఉన్న సైద్ధాంతిక ఫ్రేమ్‌వర్క్‌ను అర్థం చేసుకోవడంలో ఇది సహాయపడుతుంది: పక్షపాతం-భేదం ట్రేడ్‌ఆఫ్.

ప్రతి మోడల్ అంచనా లోపాలను చేస్తుంది. ఆ లోపాలను మూడు భాగాలుగా విభజించవచ్చు:

Total Error = Bias² + Variance + Irreducible Noise

పక్షపాతం అనేది మోడల్‌లోని తప్పుడు అంచనాల నుండి వచ్చిన లోపం. అధిక-పక్షపాత నమూనా చాలా సులభం - ఇది డేటాలోని నిజమైన నమూనాను క్రమపద్ధతిలో కోల్పోతుంది.

వైవిధ్యం అనేది శిక్షణ డేటాలో సున్నితత్వం నుండి చిన్న హెచ్చుతగ్గుల వరకు లోపం. అధిక-వ్యత్యాసాల మోడల్ చాలా క్లిష్టంగా ఉంటుంది - ఇది అంతర్లీన నమూనాను నేర్చుకోకుండా, దాని శబ్దంతో సహా శిక్షణ డేటాను గుర్తుంచుకుంటుంది.

ఇర్రెడ్యూసిబుల్ నాయిస్ అనేది డేటాలోని సహజమైన యాదృచ్ఛికతను ఏ మోడల్ తొలగించదు.

మార్పిడి: పక్షపాతాన్ని తగ్గించడం అనేది వ్యత్యాసాన్ని పెంచుతుంది మరియు దీనికి విరుద్ధంగా ఉంటుంది. మెషిన్ లెర్నింగ్ ప్రాక్టీషనర్‌గా మీ పని స్వీట్ స్పాట్‌ను కనుగొనడం.

📈 అండర్ ఫిట్టింగ్: నేర్చుకోవడం చాలా సులభం

అండర్ ఫిట్టింగ్ మీ మోడల్ డేటాలోని నిజమైన నమూనాను క్యాప్చర్ చేయడం చాలా సులభం అయినప్పుడు జరుగుతుంది. ఇది * శిక్షణ డేటా మరియు కొత్త డేటా రెండింటిలోనూ పేలవంగా పని చేస్తుంది.

ఒక విజువల్ ఉదాహరణ

పరిమాణం ఆధారంగా ఇంటి ధరలను చూపించే డేటా మీ వద్ద ఉందని ఊహించుకోండి. నిజమైన సంబంధం దాదాపుగా సున్నితమైన వక్రత - ధరలు పరిమాణంతో పెరుగుతాయి, కానీ ఎగువ చివర కొంత పీఠభూమితో ఉంటాయి.

మీరు ఈ డేటాకు సరళ క్షితిజ సమాంతర రేఖను అమర్చినట్లయితే:

# Underfitting: overly simple model
from sklearn.linear_model import LinearRegression
import numpy as np

# True relationship is quadratic, but we're fitting a simple mean
model = DummyRegressor(strategy='mean')
model.fit(X_train, y_train)

# Training accuracy:  55%
# Test accuracy:      54%
# Both are bad — classic underfitting

మోడల్ ఇంటి పరిమాణం మరియు ధర మధ్య వాస్తవ సంబంధాన్ని విస్మరిస్తుంది. మీరు దీనికి శిక్షణ డేటా లేదా కొత్త డేటాను చూపించాలా వద్దా అనేది పట్టింపు లేదు — ఇది ఏ విధంగా అయినా తప్పు.

అండర్ ఫిట్టింగ్ సంకేతాలు

  • అధిక శిక్షణ లోపం మరియు అధిక పరీక్ష లోపం
  • మోడల్ అంచనాలు ఇన్‌పుట్‌తో సంబంధం లేకుండా సగటు చుట్టూ ఉంటాయి
  • అభ్యాస వక్రతలు శిక్షణ మరియు ధ్రువీకరణ లోపం రెండూ ఎక్కువగా మరియు దగ్గరగా ఉన్నట్లు చూపుతాయి

అండర్ ఫిట్టింగ్ కారణాలు

  • డేటా సంక్లిష్టత కోసం మోడల్ చాలా సులభం (ఉదా., నాన్-లీనియర్ డేటా కోసం లీనియర్ మోడల్)
  • చాలా తక్కువ శిక్షణా యుగాలు (మోడల్ నేర్చుకోవడానికి సమయం లేదు)
  • చాలా దూకుడు రెగ్యులరైజేషన్ (క్రింద చూడండి)
  • ఇన్‌పుట్‌లో ముఖ్యమైన ఫీచర్‌లు లేవు

📉 ఓవర్ ఫిట్టింగ్: చాలా కాంప్లెక్స్, నాయిస్ గుర్తుంచుకోవడం

అతిగా అమర్చడం మీ మోడల్ శిక్షణ డేటాను చాలా బాగా నేర్చుకున్నప్పుడు - దాని శబ్దం మరియు యాదృచ్ఛిక వైవిధ్యంతో సహా - మరియు కొత్త ఉదాహరణలకు సాధారణీకరించడంలో విఫలమైనప్పుడు సంభవిస్తుంది.

ఒక విజువల్ ఉదాహరణ

అదే ఇంటి ధర డేటాకు సరిపోయేలా 15-డిగ్రీల బహుపదిని ఉపయోగించడం:

# Overfitting: overly complex model
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline

# Degree-15 polynomial — wildly complex for this problem
model = make_pipeline(PolynomialFeatures(15), LinearRegression())
model.fit(X_train, y_train)

train_score = model.score(X_train, y_train)   # 0.99 — looks amazing!
test_score  = model.score(X_test, y_test)     # 0.43 — terrible on new data

బహుపది తనని తాను నాట్‌లుగా మార్చుకుని ప్రతి శిక్షణా బిందువు గుండా వెళుతుంది - ధ్వనించే అవుట్‌లయర్‌లతో సహా. ఇది అంతర్లీన నమూనాను నేర్చుకోవడం కంటే శిక్షణా సమితిని గుర్తుపెట్టుకుంది. కనిపించని డేటాలో, ఇది పనికిరానిది.

🤯
దాని మొత్తం శిక్షణ డేటాను సంపూర్ణంగా గుర్తుపెట్టుకునే మోడల్‌ను కొన్నిసార్లు "ప్రపంచంలోని చెత్త మోడల్" అని పిలుస్తారు - ఇది 100% శిక్షణ ఖచ్చితత్వాన్ని కలిగి ఉంటుంది, అయితే ఇది పూర్తిగా సాధారణీకరించబడదు, దాని అసలు ప్రయోజనం కోసం పూర్తిగా పనికిరాదు.

ఓవర్ ఫిట్టింగ్ సంకేతాలు

  • చాలా తక్కువ శిక్షణ లోపం, కానీ చాలా ఎక్కువ పరీక్ష లోపం (పెద్ద సాధారణీకరణ గ్యాప్)
  • ఏదైనా కొత్త డేటాపై మోడల్ పనితీరు గణనీయంగా క్షీణిస్తుంది
  • ఇన్‌పుట్‌లో చిన్న మార్పులకు మోడల్ ఆశ్చర్యకరంగా సున్నితంగా ఉంటుంది

🔀 రైలు / ధ్రువీకరణ / టెస్ట్ స్ప్లిట్

మీ డేటాను మూడు సెట్‌లుగా విభజించడం ఓవర్‌ఫిట్‌ని గుర్తించే ప్రాథమిక సాధనం:

from sklearn.model_selection import train_test_split

# First split: hold out 20% as the final test set
X_train_val, X_test, y_train_val, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

# Second split: hold out 20% of remaining as validation set
X_train, X_val, y_train, y_val = train_test_split(
    X_train_val, y_train_val, test_size=0.25, random_state=42
)

# Result: 60% train / 20% validation / 20% test
  • ట్రైనింగ్ సెట్: మోడల్ ఏమి నేర్చుకుంటుంది
  • ధృవీకరణ సెట్: మీరు హైపర్‌పారామీటర్‌లను ట్యూన్ చేయడానికి మరియు అభివృద్ధి సమయంలో ఓవర్‌ఫిట్టింగ్‌ను గుర్తించడానికి ఉపయోగించేవి
  • టెస్ట్ సెట్: చివరి, హోల్డ్-అవుట్ మూల్యాంకనం — చివరిలో ఒక్కసారి మాత్రమే తాకండి

ధృవీకరణ సెట్ మీ ముందస్తు హెచ్చరిక వ్యవస్థ. శిక్షణ ఖచ్చితత్వం మెరుగవుతూనే ఉంటుంది, అయితే ధ్రువీకరణ ఖచ్చితత్వం పీఠభూములు లేదా పడిపోతే, మీరు అతిగా సరిపోతారు.

🤔
Think about it:మీ పరీక్ష సెట్‌ను పూర్తిగా వేరుగా ఉంచడం మరియు ఒకసారి మాత్రమే ఉపయోగించడం ఎందుకు ముఖ్యం? మీరు పరీక్ష సెట్‌లో పదేపదే మూల్యాంకనం చేసి, దాని ఆధారంగా సర్దుబాట్లు చేస్తే ఏమి తప్పు కావచ్చు?

🛡️ ఓవర్ ఫిట్టింగ్ కోసం పరిష్కారాలు

1. క్రమబద్ధీకరణ

రెగ్యులరైజేషన్ లాస్ ఫంక్షన్‌కు పెనాల్టీని జోడిస్తుంది, ఇది మోడల్‌ను మితిమీరిన సంక్లిష్ట నమూనాలను నేర్చుకోకుండా నిరుత్సాహపరుస్తుంది.

L2 రెగ్యులరైజేషన్ (రిడ్జ్) పెద్ద బరువులకు జరిమానా విధిస్తుంది:

from sklearn.linear_model import Ridge

model = Ridge(alpha=1.0)  # alpha controls regularisation strength
model.fit(X_train, y_train)

L1 రెగ్యులరైజేషన్ (లాస్సో) కొన్ని బరువులను సున్నాకి నడిపించగలదు, ఫీచర్ ఎంపికను నిర్వహిస్తుంది:

from sklearn.linear_model import Lasso

model = Lasso(alpha=0.1)
model.fit(X_train, y_train)

2. డ్రాప్అవుట్ (న్యూరల్ నెట్‌వర్క్‌లు)

శిక్షణ సమయంలో, యాదృచ్ఛికంగా "డ్రాప్ అవుట్" (సున్నాకి సెట్ చేయబడింది) న్యూరాన్ల నిష్పత్తి:

import torch.nn as nn

model = nn.Sequential(
    nn.Linear(128, 64),
    nn.ReLU(),
    nn.Dropout(p=0.5),   # 50% of neurons randomly deactivated during training
    nn.Linear(64, 1)
)

ఇది న్యూరాన్‌లను సహ-అనుకూలత నుండి నిరోధిస్తుంది మరియు నెట్‌వర్క్‌ను మరింత బలమైన, పంపిణీ చేయబడిన ప్రాతినిధ్యాలను తెలుసుకోవడానికి బలవంతం చేస్తుంది.

3. ఎర్లీ స్టాపింగ్

శిక్షణ సమయంలో ధ్రువీకరణ నష్టాన్ని పర్యవేక్షించండి మరియు అది పెరగడం ప్రారంభించినప్పుడు ఆపండి:

from tensorflow.keras.callbacks import EarlyStopping

early_stop = EarlyStopping(
    monitor='val_loss',
    patience=5,          # stop after 5 epochs without improvement
    restore_best_weights=True
)

model.fit(X_train, y_train,
          validation_data=(X_val, y_val),
          callbacks=[early_stop],
          epochs=1000)

4. మరిన్ని శిక్షణ డేటా

మోడల్‌కు శబ్దాన్ని గుర్తుంచుకోవడం మరింత డేటా కష్టతరం చేస్తుంది - సరిగ్గా సరిపోయేలా చాలా ఎక్కువ ఉంది. డేటా సేకరణ ఖరీదైనప్పుడు, డేటా ఆగ్మెంటేషన్ (ఇప్పటికే ఉన్న ఉదాహరణల సవరించిన కాపీలను సృష్టించడం) సహాయపడుతుంది.

5. సరళమైన ఆర్కిటెక్చర్

కొన్నిసార్లు సరైన పరిష్కారం సమస్య కోసం తక్కువ సంక్లిష్ట నమూనాను ఎంచుకోవడం.

🔄 క్రాస్ ధ్రువీకరణ

చిన్న డేటాసెట్‌లతో, యాదృచ్ఛికత కారణంగా ఒకే రైలు/వాల్ స్ప్లిట్ తప్పుదారి పట్టించవచ్చు. K-ఫోల్డ్ క్రాస్ ధ్రువీకరణ మరింత నమ్మదగిన అంచనాను ఇస్తుంది:

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=100)

# 5-fold cross-validation
scores = cross_val_score(model, X, y, cv=5, scoring='accuracy')

print(f"Mean accuracy: {scores.mean():.3f} ± {scores.std():.3f}")
# Mean accuracy: 0.847 ± 0.023

డేటా 5 మడతలుగా విభజించబడింది; మోడల్ 4లో శిక్షణ పొందుతుంది మరియు ప్రతిసారీ తిరుగుతూ 1లో చెల్లుబాటు అవుతుంది. తుది స్కోరు మొత్తం 5లో సగటు - ఒకే విభజన కంటే చాలా నమ్మదగినది.

🧠త్వరిత తనిఖీ

ఒక మోడల్ శిక్షణ డేటాపై 99% ఖచ్చితత్వాన్ని సాధిస్తుంది కానీ పరీక్ష డేటాపై 62% మాత్రమే. ఇది ఏమి సూచిస్తుంది?

కీలక టేకావేలు

  • అండర్ ఫిట్టింగ్ (అధిక పక్షపాతం): మోడల్ చాలా సులభం; ఇది * శిక్షణ మరియు పరీక్ష డేటా రెండింటిలోనూ పేలవంగా పని చేస్తుంది - మరింత సంక్లిష్టమైన మోడల్‌ని ఉపయోగించడం లేదా లక్షణాలను జోడించడం ద్వారా పరిష్కరించండి
  • ఓవర్ ఫిట్టింగ్ (అధిక వ్యత్యాసం): మోడల్ చాలా క్లిష్టంగా ఉంది; ఇది శిక్షణ డేటాపై గొప్పగా పని చేస్తుంది కానీ పరీక్ష డేటాలో పేలవంగా ఉంది - క్రమబద్ధీకరించడం, డేటాను జోడించడం లేదా మోడల్‌ను సరళీకృతం చేయడం ద్వారా పరిష్కరించండి
  • ** బయాస్-వేరియెన్స్ ట్రేడ్‌ఆఫ్** అనేది ప్రాథమిక ఉద్రిక్తత: ఒకదానిని తగ్గించడం మరొకదానిని పెంచుతుంది; మీ లక్ష్యం తీపి ప్రదేశాన్ని కనుగొనడం
  • ఎల్లప్పుడూ డేటాను రైలు / ధ్రువీకరణ / పరీక్ష సెట్‌లుగా విభజించండి — పరీక్ష సెట్‌ని చివరలో ఒకసారి మాత్రమే తాకాలి
  • ఓవర్ ఫిట్టింగ్ కోసం కీలక పరిష్కారాలు: L1/L2 రెగ్యులరైజేషన్, డ్రాపౌట్, ముందుగానే ఆపడం, మరింత డేటా, సరళమైన ఆర్కిటెక్చర్
  • క్రాస్-ధృవీకరణ డేటా పరిమితం అయినప్పుడు, బహుళ రైలు/ధృవీకరణ విభజనలలో సగటు ఫలితాలను అందించడం ద్వారా మరింత విశ్వసనీయ పనితీరు అంచనాను అందిస్తుంది
పాఠం 12 / 160% పూర్తి
←పెద్ద భాషా నమూనాలను అర్థం చేసుకోవడం

చర్చ

సైన్ ఇన్ చర్చలో చేరండి