সরাসরি প্রধান সামগ্রীতে চলে যান

টেনসরফ্লো দিয়ে রিগ্রেশন নিউরাল নেটওয়ার্ক তৈরি - পার্ট ২

এই ভিডিওর ৩:০২:৩০ থেকে ৩:১৫:৩৮ পর্যন্ত অংশে মূলত Neural Networks ব্যবহার করে কীভাবে Regression সমস্যার সমাধান করা যায়, তা নিয়ে আলোচনা করা হয়েছে। নিচে এর সহজ সারসংক্ষেপ দেওয়া হলো:

Introduction (ভূমিকা)

এই ভিডিওর এই নির্দিষ্ট অংশে শেখানো হয়েছে কীভাবে একটি বাস্তব ডেটাসেট (যেমন: সাইকেল ভাড়ার ডেটা) ব্যবহার করে একটি নিউরাল নেটওয়ার্ক মডেল তৈরি করা যায়। রিগ্রেশন মানে হলো কোনো নির্দিষ্ট সংখ্যা বা ভ্যালু প্রেডিক্ট করা (যেমন: আগামীকাল কয়টি সাইকেল ভাড়া হতে পারে)। এখানে মডেল তৈরি করা থেকে শুরু করে ডেটাকে কীভাবে মেশিনের বোঝার উপযোগী করা যায়, তা হাতেকলমে দেখানো হয়েছে।


Topic 1: ডেটা নরমালাইজেশন (Data Normalization)

রেফারেন্স: [০৩:০২:৩০]

মডেল তৈরির আগে ডেটাকে একটি নির্দিষ্ট সীমার মধ্যে নিয়ে আসা খুব জরুরি। একে বলা হয় নরমালাইজেশন। কেন এটা দরকার? কারণ ডেটাসেটে কোনো সংখ্যা খুব বড় (যেমন ১০০০) আবার কোনো সংখ্যা খুব ছোট (যেমন ০.১) থাকতে পারে। নিউরাল নেটওয়ার্ক বড় সংখ্যা দেখলে ঘাবড়ে যেতে পারে, তাই সব সংখ্যাকে ০ থেকে ১ এর মধ্যে নিয়ে আসা হয়।

সহজ ব্যাখ্যা: ধরুন আপনার কাছে অনেকগুলো লাঠি আছে, কোনোটা ১০ ফুট লম্বা আর কোনোটা ১ ইঞ্চি। এদের তুলনা করা কঠিন। কিন্তু আপনি যদি সবগুলোকে ছোট করে ১ ফুটের স্কেলে নিয়ে আসেন, তবে তুলনা করা সহজ হয়।

কোড উদাহরণ:

Python

import tensorflow as tf
from tensorflow.keras import layers

# একটি নরমালাইজেশন লেয়ার তৈরি করা
normalizer = layers.Normalization(axis=-1)
# ডেটার সাথে লেয়ারটিকে ফিট করা
normalizer.adapt(train_features) 

ব্যাখ্যা: এখানে Normalization লেয়ারটি ডেটার গড় (mean) এবং বিচ্যুতি (variance) হিসাব করে সব ডেটাকে একই লেভেলে নিয়ে আসে।


Topic 2: লিনিয়ার রিগ্রেশন মডেল তৈরি (Building a Linear Regression Model)

রেফারেন্স: [০৩:০৫:১৫]

সবচেয়ে সহজ নিউরাল নেটওয়ার্ক হলো একটি মাত্র লেয়ার ব্যবহার করে লিনিয়ার রিগ্রেশন করা। এটি অনেকটা সরাসরি অংকের সূত্রের মতো কাজ করে।

কোড উদাহরণ:

Python

model = tf.keras.Sequential([
    normalizer, # প্রথমে ডেটা নরমালাইজ হবে
    layers.Dense(units=1) # আউটপুট হবে ১টি সংখ্যা
])

model.compile(
    optimizer=tf.optimizers.Adam(learning_rate=0.1),
    loss='mean_absolute_error'
) 

ব্যাখ্যা: Dense(units=1) মানে আমরা মাত্র একটি আউটপুট চাই। আর Adam হলো একটি অ্যালগরিদম যা মডেলকে দ্রুত শিখতে সাহায্য করে।


Topic 3: মডেল ট্রেনিং এবং পারফরম্যান্স যাচাই (Model Training & Evaluation)

রেফারেন্স: [০৩:১০:৪৫]

মডেল বানানো শেষ হলে তাকে ডেটা দিয়ে পড়াতে হয়, যাকে বলা হয় ট্রেনিং। ট্রেনিং শেষে দেখা হয় মডেলটি কতটুকু ভুল করছে। এই ভুল মাপার একটি উপায় হলো Mean Absolute Error (MAE)

সহজ ভাষায়: MAE মানে হলো—মডেল যা প্রেডিক্ট করেছে আর আসল উত্তর যা ছিল, তাদের মধ্যে গড় পার্থক্য কত। এই পার্থক্য যত কম হবে, মডেল তত ভালো।


এনালাইসিস এবং আমার ভাবনা (Analysis & Perception)

ভিডিওর মূল উদ্দেশ্য: কন্টেন্ট ক্রিয়েটর এখানে বোঝাতে চেয়েছেন যে, রিগ্রেশন সমস্যার জন্য জটিল মডেলের আগে একটি সহজ লিনিয়ার মডেল দিয়ে শুরু করা উচিত। ডেটাকে ঠিকঠাক প্রসেস (Normalization) করলে সাধারণ মডেলও ভালো রেজাল্ট দিতে পারে।

বাস্তবতা ও সম্ভাবনা: বাস্তব জীবনে এই টেকনিক ব্যবহার করে শেয়ার বাজারের দাম, আবহাওয়া পূর্বাভাস বা দোকানের কাস্টমার সংখ্যা অনুমান করা হয়। তবে ভিডিওতে যেভাবে দেখানো হয়েছে, সেটি একদম বেসিক। বাস্তবে ডেটা অনেক সময় অগোছালো থাকে, যা পরিষ্কার করতে অনেক সময় লাগে।

বিকল্প ও পরামর্শ: ১. বিকল্প: শুধু লিনিয়ার মডেল ব্যবহার না করে যদি ডেটা খুব জটিল হয়, তবে 'Deep Neural Network' (বেশি লেয়ার যুক্ত নেটওয়ার্ক) ব্যবহার করা ভালো। ২. পরামর্শ: বিগিনারদের জন্য পরামর্শ হলো—আগে ডেটার গ্রাফ (Plotting) দেখে নেওয়া। যদি দেখা যায় ডেটাগুলো আঁকাবাঁকাভাবে আছে, তবে লিনিয়ার রিগ্রেশন খুব একটা ভালো কাজ করবে না। ৩. ট্যাক্সোনমি: এটি মূলত 'Supervised Learning' এর একটি অংশ, যেখানে আমাদের কাছে ইনপুট এবং সঠিক আউটপুট—উভয়ই থাকে।

[

Machine Learning for Everybody – Full Course

freeCodeCamp.org · 9.4M views

](http://www.youtube.com/watch?v=i_LwzRVP7bg)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

জাভা ফিডব্যাক এবং স্ট্রাকচার্ড কনকারেন্সি: বিবর্তনের গল্প

Introduction এই ভিডিওর নির্দিষ্ট অংশে জাভা ল্যাঙ্গুয়েজ আর্কিটেক্ট ব্রায়ান গোয়েটজ (Brian Goetz) আলোচনা করেছেন কীভাবে জাভার নতুন ফিচারগুলো তৈরি হয় এবং এতে সাধারণ ডেভেলপারদের মতামতের গুরুত্ব কতটুকু। বিশেষ করে Structured Concurrency -এর মতো জটিল ফিচারগুলো কেন বারবার 'Preview' অবস্থায় থাকে এবং কীভাবে কমিউনিটির ফিডব্যাক সেই ফিচারগুলোকে আরও নিখুঁত করতে সাহায্য করে, তা এখানে সহজভাবে বোঝানো হয়েছে। ১. ভালো ফিডব্যাক আসলে কী? ভিডিও রেফারেন্স: [ 34:53 ] ব্রায়ান গোয়েটজ বলছেন যে, জাভা টিম যখন কোনো নতুন ফিচারের খসড়া (Draft) বা প্রস্তাব (JEP) প্রকাশ করে, তখন তারা এমন কিছু জানতে চায় যা তারা নিজেরা আগে ভাবেনি। বিস্তারিত: একজন ডেভেলপার হিসেবে আমরা যখন কোনো নতুন ফিচার দেখি, আমাদের প্রথম প্রতিক্রিয়া হয় সেটার Syntax বা লেখার ধরন নিয়ে। কিন্তু ব্রায়ানের মতে, "এই লেখাটা কেন এমন হলো?" বা "এটা কোটলিন বা স্কালা-র মতো কেন নয়?"—এই ধরনের ফিডব্যাক খুব একটা কাজে আসে না। আসল দামী ফিডব্যাক হলো সেইটা, যা নতুন কোনো বাস্তব সমস্যা (Edge Case) তুলে ধরে। আমার চিন্তা: আপনি যদি কেবল দ...

[Master Post] Machine Learning for Everybody – Full Course

URL: https://youtu.be/i_LwzRVP7bg?t=0 Title: Machine Learning for Everybody – Full Course Topics:- মেশিন লার্নিংয়ের হাতেখড়ি এবং গুগল কোল্যাব সেটআপ মেশিন লার্নিংয়ের খুঁটিনাটি ও ফিচারের সহজ পাঠ Classification বনাম Regression এবং মডেল ট্রেনিংয়ের সহজ পাঠ মেশিন লার্নিংয়ের জন্য ডেটা তৈরি এবং প্রসেসিং করার সহজ গাইড K-Nearest Neighbors (KNN) থিওরির সহজ পাঠ কে-নিয়ারেস্ট নেইবারস (KNN) ইমপ্লিমেন্টেশন সহজ বাংলায় নেইভ বেইজ থিওরি এবং এর প্রয়োগ: সহজ পাঠ লজিস্টিক রিগ্রেশন: থিওরি ও ইমপ্লিমেন্টেশন SVM থিওরি এবং ইমপ্লিমেন্টেশন সহজ পাঠ নিউরাল নেটওয়ার্ক এবং টেনসরফ্লোর সহজ পাঠ টেনসরফ্লো দিয়ে নিউরাল নেটওয়ার্ক ক্লাসিফিকেশন শেখার সহজ গাইড লিনিয়ার রিগ্রেশন: সহজ কথায় মূল ধারণা ও গণিত লিনিয়ার রিগ্রেশন: সহজ ভাষায় খুঁটিনাটি ও হাতে-কলমে শেখা লিনিয়ার রিগ্রেশন এবং নিউরন মডেলের সহজ পাঠ TensorFlow দিয়ে রিগ্রেশন নিউরাল নেটওয়ার্ক তৈরি - পার্ট ১ টেনসরফ্লো দিয়ে রিগ্রেশন নিউরাল নেটওয়ার্ক তৈরি - পার্ট ২ আনসুপারভাইজড লার্নিং: কে-মিনস ক্লাস্টারিংয়ের সহজ পাঠ Principal C...