अनुक्रमिक मॉडल बनाना
Dense परतों को क्रम में रखें, सक्रियण लागू करें और हानि तथा अनुकूलक के साथ संकलित करें।
अनुक्रमिक मॉडल बनाना, CoddyKit पर R Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह R Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
अनुक्रमिक मॉडल
अनुक्रमिक मॉडल परतों का एक रैखिक क्रम होता है, जिसमें प्रत्येक परत का ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है। यह केरास मॉडल का सबसे सरल प्रकार है और व्यावहारिक उपयोग के अधिकांश मामलों को संभालता है: फ़ीडफ़ॉरवर्ड वर्गीकार, प्रतिगामी मॉडल और बुनियादी CNN/RNN।
library(keras)
# An empty sequential model
model <- keras_model_sequential()
print(model)
# Or specify the input shape upfront
model <- keras_model_sequential(input_shape = c(20))
print(model)layer_dense() — पूर्णतः जुड़ी परत
layer_dense(units, activation) एक पूर्णतः जुड़ी (घनी) परत जोड़ता है, जिसमें प्रत्येक इनपुट न्यूरॉन प्रत्येक आउटपुट न्यूरॉन से जुड़ता है। units तर्क आउटपुट के आयाम निर्धारित करता है। activation एक अरैखिकता लागू करता है: छिपी परतों के लिए 'relu' मानक है।
library(keras)
model <- keras_model_sequential(input_shape = c(30)) |>
layer_dense(units = 128, activation = 'relu') |>
layer_dense(units = 64, activation = 'relu') |>
layer_dense(units = 1, activation = 'sigmoid')
# Print architecture
summary(model)आउटपुट परत के सक्रियण
अंतिम परत का सक्रियण कार्य पर निर्भर करता है:
'sigmoid': द्विआधारी वर्गीकरण (0–1 की प्रायिकता आउटपुट करता है)'softmax': बहु-वर्गीय वर्गीकरण (जिनकी प्रायिकताओं का योग 1 होता है, वे आउटपुट करता है)'linear'या कोई सक्रियण नहीं: प्रतिगमन (वास्तविक मान वाले पूर्वानुमान आउटपुट करता है)
# Binary classification
binary_model <- keras_model_sequential(input_shape = c(20)) |>
layer_dense(64, activation = 'relu') |>
layer_dense(1, activation = 'sigmoid') # P(class=1)
# Multi-class (10 classes)
multi_model <- keras_model_sequential(input_shape = c(20)) |>
layer_dense(64, activation = 'relu') |>
layer_dense(10, activation = 'softmax') # P per class
# Regression
reg_model <- keras_model_sequential(input_shape = c(20)) |>
layer_dense(64, activation = 'relu') |>
layer_dense(1, activation = 'linear') # raw valuecompile() — हानि, अनुकूलक, माप
compile(loss, optimizer, metrics) सीखने की प्रक्रिया को कॉन्फ़िगर करता है। सामान्य संयोजन:
- द्विआधारी:
loss = 'binary_crossentropy',metrics = 'accuracy' - बहु-वर्गीय:
loss = 'categorical_crossentropy' - प्रतिगमन:
loss = 'mse',metrics = 'mae'
model |> compile(
loss = 'binary_crossentropy',
optimizer = optimizer_adam(learning_rate = 0.001),
metrics = c('accuracy')
)
# Check configuration
model$loss
model$optimizer$get_config()optimizer_adam()
Adam (Adaptive Moment Estimation) अधिकांश डीप लर्निंग कार्यों के लिए डिफ़ॉल्ट अनुकूलक है। यह ग्रेडिएंट के प्रथम और द्वितीय आघूर्ण के अनुमानों का उपयोग करके प्रत्येक पैरामीटर के लिए सीखने की दर को अनुकूलित करता है। 0.001 की डिफ़ॉल्ट सीखने की दर अधिकांश समस्याओं के लिए अच्छी शुरुआती दर है।
# Adam with default settings
model |> compile(
optimizer = 'adam',
loss = 'binary_crossentropy',
metrics = 'accuracy'
)
# Customised Adam
model |> compile(
optimizer = optimizer_adam(
learning_rate = 0.0005,
beta_1 = 0.9,
beta_2 = 0.999,
epsilon = 1e-7
),
loss = 'binary_crossentropy',
metrics = 'accuracy'
)fit() — मॉडल का प्रशिक्षण
fit(model, x, y, epochs, batch_size, validation_split) मॉडल को प्रशिक्षित करता है। प्रत्येक युग प्रशिक्षण डेटा से होकर एक पूर्ण चक्र होता है। बैच आकार यह निर्धारित करता है कि प्रत्येक भार अद्यतन से पहले कितने नमूनों को संसाधित किया जाए। फ़ंक्शन एक इतिहास ऑब्जेक्ट लौटाता है।
# Prepare example data
x_train <- matrix(rnorm(1000 * 20), nrow = 1000)
y_train <- sample(c(0, 1), 1000, replace = TRUE)
history <- model |> fit(
x = x_train,
y = y_train,
epochs = 20,
batch_size = 32,
validation_split = 0.2, # reserve 20% for validation
verbose = 1
)
plot(history)परत नियमितीकरण — ड्रॉपआउट
layer_dropout(rate) प्रशिक्षण के दौरान इनपुट इकाइयों के एक अंश rate को यादृच्छिक रूप से 0 पर सेट करता है। यह न्यूरॉनों को एक-दूसरे के साथ अत्यधिक अनुकूलन करने से रोकता है और एक शक्तिशाली नियमितीकरणक के रूप में काम करता है। ड्रॉपआउट केवल प्रशिक्षण के दौरान सक्रिय होता है, अनुमान के दौरान नहीं।
model <- keras_model_sequential(input_shape = c(784)) |>
layer_dense(512, activation = 'relu') |>
layer_dropout(rate = 0.4) |>
layer_dense(256, activation = 'relu') |>
layer_dropout(rate = 0.3) |>
layer_dense(10, activation = 'softmax')
summary(model)L1 और L2 भार नियमितीकरण
बड़े भारों पर दंड लगाने के लिए kernel_regularizer का उपयोग करके अलग-अलग परतों को नियमितीकृत करें। L2 (रिज) वर्गित भारों के योग पर दंड लगाता है; L1 (लासो) निरपेक्ष मानों पर दंड लगाता है और विरलता उत्पन्न करता है। दोनों regularizer_l2() और regularizer_l1() के माध्यम से उपलब्ध हैं।
model <- keras_model_sequential(input_shape = c(100)) |>
layer_dense(
units = 64,
activation = 'relu',
kernel_regularizer = regularizer_l2(l = 0.01)
) |>
layer_dense(
units = 32,
activation = 'relu',
kernel_regularizer = regularizer_l1_l2(l1 = 1e-4, l2 = 1e-3)
) |>
layer_dense(1, activation = 'sigmoid')
summary(model)बैच सामान्यीकरण
layer_batch_normalization() प्रत्येक छोटे बैच के लिए पिछली परत के सक्रियणों को सामान्यीकृत करता है। यह प्रशिक्षण को स्थिर करता है, अधिक सीखने की दरों की अनुमति देता है और हल्के नियमितीकरणक के रूप में काम करता है। इसे layer_dense() के बाद और सक्रियण फ़ंक्शन से पहले रखें, या सक्रियण के बाद — व्यवहार में दोनों तरीकों का उपयोग किया जाता है।
model <- keras_model_sequential(input_shape = c(100)) |>
layer_dense(256, use_bias = FALSE) |>
layer_batch_normalization() |>
layer_activation('relu') |>
layer_dense(128, use_bias = FALSE) |>
layer_batch_normalization() |>
layer_activation('relu') |>
layer_dense(1, activation = 'sigmoid')
summary(model)evaluate() और predict()
evaluate(model, x_test, y_test) परीक्षण डेटा पर हानि और मेट्रिक्स की गणना करता है। predict(model, x_new) कच्चे पूर्वानुमान—वर्गीकरण के लिए संभावनाएँ—उत्पन्न करता है। दोनों संख्यात्मक मैट्रिक्स स्वीकार करते हैं और एकसमान, R-मूल्य लौटाते हैं।
x_test <- matrix(rnorm(200 * 20), nrow = 200)
y_test <- sample(c(0, 1), 200, replace = TRUE)
# Evaluate on test set
test_metrics <- model |> evaluate(x_test, y_test, verbose = 0)
cat('Test Loss:', test_metrics['loss'])
cat('Test Accuracy:', test_metrics['accuracy'])
# Generate predictions
prob_preds <- model |> predict(x_test)
class_preds <- ifelse(prob_preds > 0.5, 1, 0)
table(class_preds, y_test)मॉडल सहेजना और लोड करना
save_model_tf(model, 'path') (TF SavedModel प्रारूप, अनुशंसित) या save_model_hdf5(model, 'model.h5') की सहायता से संकलित और प्रशिक्षित मॉडल सहेजिए। load_model_tf() या load_model_hdf5() से उसे फिर लोड कीजिए। लोड किया गया मॉडल संकलन की सेटिंग्स बनाए रखता है और तुरंत पूर्वानुमान कर सकता है या प्रशिक्षण जारी रख सकता है।
# Save in TensorFlow SavedModel format (recommended)
save_model_tf(model, '/tmp/my_dense_model')
# Reload
loaded <- load_model_tf('/tmp/my_dense_model')
# Confirm predictions match
new_preds <- loaded |> predict(x_test)
all.equal(prob_preds, new_preds) # TRUEत्वरित जाँच
5-वर्गीय वर्गीकरण समस्या के लिए अनुक्रमिक मॉडल बनाते समय, आउटपुट परत में किस सक्रियण फ़ंक्शन और कितनी इकाइयों का उपयोग करना चाहिए?
अनुक्रमिक मॉडलों का पुनरावलोकन
अनुक्रमिक मॉडल बनाने से मुख्य बातें:
keras_model_sequential()परतों का एक रैखिक क्रम बनाता है।layer_dense(units, activation)मुख्य पूर्णतः कनेक्टेड परत है।- आउटपुट सक्रियण:
'sigmoid'(द्विआधारी),'softmax'(बहु-वर्गीय),'linear'(प्रतिगमन)। compile(loss, optimizer, metrics)सीखने की प्रक्रिया को कॉन्फ़िगर करता है।fit(model, x, y, epochs, batch_size, validation_split)मॉडल को प्रशिक्षित करता है।- नियमितीकरण:
layer_dropout(rate),regularizer_l2(),layer_batch_normalization()। save_model_tf()से सहेजें औरload_model_tf()से लोड करें।
library(keras)
model <- keras_model_sequential(input_shape = c(30)) |>
layer_dense(128, activation = 'relu') |>
layer_dropout(0.4) |>
layer_dense(64, activation = 'relu') |>
layer_dropout(0.3) |>
layer_dense(1, activation = 'sigmoid')
model |> compile(
optimizer = optimizer_adam(0.001),
loss = 'binary_crossentropy',
metrics = 'accuracy'
)
history <- model |> fit(
x_train, y_train,
epochs = 30, batch_size = 64,
validation_split = 0.2, verbose = 0
)
plot(history)एआई शिक्षक के साथ R सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 43
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “अनुक्रमिक मॉडल बनाना” पाठ निःशुल्क है?
हाँ — R Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “अनुक्रमिक मॉडल बनाना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“अनुक्रमिक मॉडल बनाना” में मैं क्या सीखूँगा?
Dense परतों को क्रम में रखें, सक्रियण लागू करें और हानि तथा अनुकूलक के साथ संकलित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ R Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या R Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर R Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“अनुक्रमिक मॉडल बनाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस R Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर R Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- R में Keras और TensorFlow की स्थापना
- अनुक्रमिक मॉडल बनाना
- कन्वोल्यूशनल न्यूरल नेटवर्क की मूल बातें
- प्रशिक्षण, सत्यापन और ओवरफिटिंग की रोकथाम