Don't wanna be here? Send us removal request.
Text

মেশিন লার্নিং মুলত আর্টিফিশিয়াল ইন্টেলিজেন্স এর একটি এপ্লিকেশন যেটি নিজে নিজে কিছু শেখার ক্ষমতা রাখে। এর মানে এই না যে মানুষের মতো প্রোগ্রামটি চারপাশ থেকে জ্ঞান আহরণ করে। আমরা প্রথমে একটা প্রোগ্রামকে প্রসেস বলে দেই, বাকি কাজ ঐ প্রোগ্রাম করে ফেলে। মানে শিখে ফেলে ও সে অনুযায়ী কাজ করে। এটাই মেশিন লার্নিং বা এমএল।
এর জন্য বিপুল পরিমাণ তথ্য-উপাত্ত প্রোগ্রামকে দিতে হয়। প্রোগ্রাম সেই ডেটা এনালাইসিস করবে। কিন্তু তার জন্য কিছু ইন্সট্রাকশন দিতে হয়। কীভাবে সেই ডেটা এনালাইসিস করতে হবে, সেই ডেটার একটি মডেল বা প্যাটার্ন বের করতে হবে, কীভাবে কোন এলগরিদম ব্যবহার করতে হয় এসব ইন্সট্রাকশন দেওয়া লাগে।
এসব করে দিলেই, বাকি সব কাজ ঐ প্রোগ্রামের বা ঐ মেশিন এর।
একটা জিনিস ভেবে দেখুন, একটা প্রোগ্রামকে বিপুল পরিমাণ তথ্য-উপাত্ত দেওয়া মানে তাকে অনেক অভিজ্ঞতা দেওয়া। সেই অভিজ্ঞতা, বিশ্লেষণ এর ফলাফল এর উপর ভিত্তি করে প্রোগ্রামটি আমাদের তথ্য দেয় বা কোনো সিদ্ধান্ত নেয়।
যেমন আবহাওয়া বার্তার প্রোগ্রাম। এই প্রোগ্রামে পুর্বের সব আবহাওয়ার রেকর্ড ইনপুট দেওয়া হয়। ডেটা এনালাইসিস করার এলগরিদম দেওয়ার মাধ্যমে প্রোগ্রামকে ইন্সট্রাকশন দেওয়া হয়। এখন এই প্রোগ্রাম পুর্বের সব রেকর্ড এনালাইসিস করে বলে কালকের আবহাওয়া কেমন হবে।
এটা আপনি দেখতে পাবেন গুগল ওয়েদার বা অন্যান্য ওয়েদার এপ্লিকেশন এ৷ আজকের আবহাওয়ার পাশাপাশি আগামীকালের আবহাওয়ার আগাম বার্তা তারা প্রকাশ করে। এটা মুল ভিত্তি হলো মেশিন লার্নিং।
যদি কম্পিউটার বা ল্যাপটপ এ দাবা খেলে থাকেন, তাহলে দেখবেন কম্পিউটারকে প্রথম প্রথম কয়েকবার হারাতে পেরেছেন। কিন্তু এর পর তাকে আর হারানো যাচ্ছে না৷ কম্পিউটার দাবা খেলা শিখল কীভাবে?
আসলে কম্পিউটারকে দাবা খেলা শেখানো হয় নি। দাবার ঐ প্রোগ্রামে দাবা খেলার চাল সম্পর্কিত সব তথ্য, দাবার ম্যাচ এর রেকর্ড ও তথ্য সব ইনপুট দেওয়া আছে। দাবার ঐ প্রোগ্রাম এসব ডেটা এনালাইসিস করে সিদ্ধান্ত নেয় কোন চাল দিলে আপনার গুটি খাওয়া যাবে বা থামানো যাবে।
আপনি যতই ঐ দাবা খেলবেন, ততই আপনার হেরে যাওয়ার চান্স বেড়ে যাবে। কারণ আপনার সাথে প্রতিটি ম্যাচের তথ্য সে সেভ করে রাখে। তাকে এভাবে ইন্সট্রাকশন দেওয়া হয়েছে।
আজকাল ছোটখাটো এপ্লিকেশনেও এমএল ব্যবহার করা হয়। বুঝতে পারছেন ২০২১ সালের পর টেক কম্পিটিশন এ এগিয়ে থাকতে হলে এআই অথবা এমএল এর উপর দক্ষ হতেই হবে?
এমএল যত উন্নত হচ্ছে, তার শেখার ক্ষমতা ততই বাড়ছে। হয়তো ভবিষ্যতে স্টক মার্কেট এ বিনিয়োগকারিদের খবর বা তথ্য পড়তে হবে না। মেশিন তাদের কাজ করে দেবে।
এখন প্রশ্ন, এমন একটা পর্যায় কী আসবে যেখানে কোনো প্রোগ্রাম মেশিন লার্নিং এর মাধ্যমে আগামীকালকের স্টক মার্কেটের অবস্থা ও শেয়ারের দাম জানাতে সক্ষম হবে?
যদি এর উত্তর আপনার কাছে থাকে, তাহলে অভিনন্দন ❤
0 notes
Text

কোডিং এর ফান্ডামেন্টাল বিষয় হলো কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ কম্পিউটারের ভাষা না! কম্পিউটারের ভাষা হলো বাইনারি! জাস্ট 1 এবং 0! বাইনারি হচ্ছে সবচেয়ে ব্যাসিক যেটা কম্পিউটার খুব সহজে বুঝতে পারে!
এই ভাষাগুলো বুঝতে আমাদের দম বের হয়ে যাবে এটাই স্বাভাবিক। তাই কিছু কোডিং ল্যাঙ্গুয়েজ ব্যবহার করা হয় যা কম্পাইলিং এর কাজ করে৷ যেমন পাইথন, সি, জাভা, জাভাস্ক্রিপ্ট, সি প্লাস প্লাস, রুবি, সুইফট, উবুন্টু, কোটলিন ইত্যাদি ইত্যাদি ইত্যাদি! ৭০০ টি প্রোগ্রামিং ল্যাঙ্গুয়েজ এর নাম লেখা সম্ভব হচ্ছে না। হ্যা, এখন পর্যন্ত প্রায় ৭০০ টি প্রোগ্রামিং ল্যাঙ্গুয়েজ আছে!
প্রশ্ন জাগতে পারে যেহেতু সব ল্যাঙ্গুয়েজ এর কাজ একই, কম্পাইলিং কর��� তাহলে যেকোনো একটি ল্যাঙ্গুয়েজ দিয়েও তো কাজ চালানো যেত? হ্যা তা চালানো যেত। তবে এটা করা থেকে সরাসরি কম্পিউটারের ভাষা দিয়ে কাজ করা সহজ হতো! একজন ডাক্তার যখন কথা বলবে তখন সে নির্দিষ্ট কিছু টার্ম ব্যবহার করে৷ একজন ইঞ্জিনিয়ার যখন কথা বলবে তখন সেও একটি নির্দিষ্ট টার্ম ব্যবহার করবে৷ কিন্তু দুজনেরই কথা বলার ভাষা সেম! ঠিক এভাবেই একটা প্রোগ্রামে হাজারটা ল্যাঙ্গুয়েজ ব্যবহার করলেও কম্পিউটার সেটাকে অনুবাদ করে বাইনারিতে নেয়। ও বুঝে ফেলে৷

৭০০ টি ভাষা লক্ষ লক্ষ কাজে ব্যবহার করা হয়। এই ৭০০ টি ভাষার ২ টি ক্যাটাগরি আছে। লো লেভেল অব এবস্টাকশন, হাই লেভেল অব এবস্টাকশন।
লো লেভেল অব এবস্টাকশন যেমন সি, অ্যাস্যাম্বলি ল্যাঙ্গুয়েজ এগুলো বাইনারির অনেক কাছাকাছি। কম্পিউটার সহজে বুঝতে পারে৷ যার ফলে কম্পাইলিং করার সময় কম্পিউটারের উপর কম ধকল যায়। কম সময়ে, কম শক্তি খরচ করে কম্পিউটার বা মেশিন প্রোগ্রাম পড়তে পারে বা বুঝতে পারে৷ এর জন্য ছোট খাট মাইক্রপ্রসেসর বা কম্পিউটারে লো লেভেল অব এবস্টাকশন ব্যবহার করা হয়। যেমম ঘড়ি, ফ্রিজ, গাড়ির, ট্রাফিক লাইট ইত্যাদির কিছু প্রোগ্রাম ইত্যাদি। সি অথবা অ্যাস্যাম্বলি ব্যবহার করে এগুলো প্রোগ্রাম করা হয়।
হাই লেভেল অব এবস্টাকশন যেমন পাইথন, সি প্লাস প্লাস বাইনারি থেকে অনেক দুরে৷ কম্পিউটারের বুঝতে বা কম্পাইল করতে একটু অসুবিধা হয়, কিন্তু মানুষের বুঝতে তেমন একটা অসুবিধা(!) হয় না। হাই লেভেল অব এবস্টাকশন এর ভাষা কম্পাইলিং করতে কম্পিউটারের উপর অনেক ধকল যায়, রান করার সময় র্যাম, প্রসেসর এসবের উপর দিয়ে অনেক প্যারা যায়। সময় লো লেভেল অব এবস্টাকশন এর তুলনায় বেশি লাগে, স্পেস ও শক্তি খরচ হয়। মোবাইল, ডেস্কটপ এপ্লিকেশন, অপারেটিং সিস্টেম ইত্যাদি তৈরিতে লো লেভেল অব এবস্টাকশন ব্যবহার করা হয়৷
ডেটা স্টোর, এক্সেস করতে হাই লেভেল ল্যাঙ্গুয়েজ যেমন এসকিউএল ব্যবহার করা হয়। ডেটা এনালাইসিস করতে পাইথন ব্যবহার করা হয়। প্রত্যেকটি ভাষার কাজ একই হলেও এগুলোর নিজস্ব একটি ইউনিক কোয়ালিটি আছে। একেকটা একেক বিষয়ে এক্সপার্ট। কিন্তু সব কাজই ক��তে পারে।
এটাই হচ্ছে মূলত ফান্ডামেন্টাল অব প্রোগ্রামিং!
2 notes
·
View notes