من «پویا»ام 😊 سه سال پیش فقط ۱۲ سالم بود و یه ویدیوی یوتیوب دیدم که کل زندگیم رو عوض کرد! همون موقع فهمیدم یادگیری ماشین خیلی باحاله و اگه بخوام توش حرفهای بشم، باید مثل یه مهندس فکر کنم. یعنی چی؟ یعنی باید بتونم هر مسئله سختی رو تیکهتیکه کنم، روش فکر کنم، امتحانش کنم و اگه اشتباه شد، ناراحت نشم.
از همون اول فهمیدم شکست، بخشی از مسیر یاد گرفتنه 💡
تو این مسیر یاد گرفتم همهچی باید با پروژه واقعی یاد گرفته بشه. نه فقط خوندن، بلکه ساختن و امتحان کردن. مثلاً وقتی پایتون یاد گرفتم، باهاش یه اسکریپت کوچیک ساختم. بعد رفتم سراغ کار با دادهها، و کمکم رسیدم به ساخت مدلهای واقعی که تو دنیای بیرون کار میکنن 😍
🔹 یادآوری مهم: این مسیر واقعاً پروژهمحوره! هر وقت به یه موضوع سخت مثل ریاضی یا الگوریتم رسیدی، فقط همونقدر یادش بگیر که بتونی پروژهات رو جلو ببری. بقیهاش خودش با تجربه جا میافته.
🔗 بیشتر بخوانید: ai چیست؟ آموزش هوش مصنوعی در ۱۰ دقیقه برای همه (حتی تازهکارها!)
اینفوگرافیک مراحل یادگیری ماشین از مبتدی تا پیشرفته.
سلام!
من پویام، همون پسری که یه روز با دیدن یه ویدیوی یوتیوب عاشق یادگیری ماشین (Machine Learning) شدم.
اینجا قراره برات تعریف کنم چطوری از صفر شروع کردم و قدمبهقدم وارد دنیای شگفتانگیز هوش مصنوعی شدم، بدون اینکه چیزی بدونم!
اول از همه رفتم سراغ پایتون، چون همه میگفتن پایتون قلب یادگیری ماشینه
یعنی تقریباً همهٔ مدلها، رباتها و الگوریتمها باهاش ساخته میشن!
اما من فقط ویدیو ندیدم یا درس حفظ نکردم — خودم دستبهکد شدم!
مثلاً یه برنامه نوشتم که جمع و تفریق انجام بده، یا یه اسکریپت کوچیک ساختم برای جمعآوری داده از سایتها (به این میگن Web Scraping یعنی اینکه برنامهات خودش از سایتها اطلاعات میگیره).
بعد یاد گرفتم چطور فایلهای دادهای مثل CSV (Comma-Separated Values) رو بخونم.
این فایلها مثل جدولهای اکسل هستن و توش اطلاعات با کاما از هم جدا شدن، مثلاً:Name, Age, Score
من یاد گرفتم این فایلها رو با پایتون باز کنم، دادههاش رو تمیز کنم (یعنی خطاها یا جاهای خالی رو درست کنم)، و بعد یه خروجی تمیز و باحال بگیرم
پایتون یه عالمه کتابخونه (Library) داره — یعنی یه مجموعه کد آماده که بقیه نوشتن تا تو فقط ازش استفاده کنی.
من از بین همه، با سهتا کتابخونه خیلی دوست شدم
اولش یه کم از ریاضی میترسیدم
ولی فهمیدم برای Machine Learning لازم نیست ریاضیدان باشی! فقط باید همونقدری یاد بگیری که پروژهات نیاز داره.
من این سه بخش رو یاد گرفتم
نکته طلایی پویا:
نترس از ریاضی! اول با پروژه شروع کن، هر وقت یه مدل یا مسئله رو نفهمیدی، فقط همون بخش ریاضی رو یاد بگیر.
بعد از چند هفته تمرین، وقتش بود یه کاری واقعی انجام بدم!
من دوتا پروژه ساختم که هنوزم وقتی یادشون میافتم ذوق میکنم
۱. پروژه تحلیل دادهها (Exploratory Data Analysis یا EDA):
EDA یعنی “کاوش دادهها”.
یعنی اینکه قبل از ساخت مدل، یه نگاهی به دادهها بندازی تا ببینی چه چیزهایی توشون هست.
من چند تا فایل داده از اینترنت گرفتم (مثل اطلاعات دانشآموزا یا حیوانات )
بعد با نمودارها نشون دادم مثلاً بیشترین سن یا بیشترین وزن چقدره.
این پروژه خیلی ساده بود (سختی ۲ از ۱۰)، ولی یاد گرفتم که دانشمندان داده بیشتر وقتشون رو دارن همین کارو میکنن!
۲. پروژه دستهبندی گل زنبق (Iris Flower Classification):
این پروژه معروفه و مثل “سلام دنیا”ی یادگیری ماشینه
دادهاش دربارهٔ سه نوع گل زنبق بود: Setosa، Versicolor و Virginica.
من یه مدل ساختم که با دیدن اندازهٔ گلبرگها و کاسبرگها، حدس بزنه گل از کدوم نوعه.
برای این کار از چندتا الگوریتم (Algorithm) استفاده کردم:
نتیجهی فاز اول؟
فهمیدم یادگیری ماشین فقط فرمول و عدد نیست، بلکه یه بازی فکریه بین من و دادهها
هر بار که یه مدل درست جواب میداد، حس میکردم واقعاً یه جادوگر کوچولوی هوش مصنوعی (AI Wizard) شدم
اینفوگرافیک انواع یادگیری ماشین: نظارتشده، بدون نظارت، تقویتی.
سلام دوباره! 👋
من پویام و حالا وارد یه مرحلهی جدید شدم.
اگه فاز اول مثل ساختن زمین بازی بود، فاز دوم دقیقاً شروع بازی اصلی بود! 🎯
اینجا بود که تازه فهمیدم یادگیری ماشین واقعاً یعنی چی و مدلها چطور فکر میکنن.
وقتی بیشتر یاد گرفتم، فهمیدم یادگیری ماشین سه نوع اصلی داره، و هرکدوم یه روش خاص برای یاد گرفتن از دادهها دارن:
اینجا مدل مثل یه دانشآموزه که معلمش بهش «جواب درست» رو هم میگه 📘
یعنی دادهها برچسبدار (Labeled Data) هستن.
مثلاً من به مدل میگم:
مدل با دیدن این مثالها یاد میگیره قیمت خونههای جدید رو پیشبینی کنه.
به این کار میگن رگرسیون (Regression) چون خروجی عددیه (مثل قیمت 💰).
اما گاهی خروجی ما «بله یا نه» یا «این یا اون» هست.
مثلاً در پروژهٔ تایتانیک، میخوای بدونی «این نفر زنده موند یا نه؟»
به این میگن دستهبندی (Classification) چون مدل بین چند تا گزینه انتخاب میکنه ✅
اینجا دیگه معلمی نیست! 😅
مدل باید خودش توی دادهها الگو پیدا کنه.
مثلاً فرض کن یه عالمه داده از خرید مردم داری، ولی نمیدونی کی چی خریده.
مدل خودش کشف میکنه کدوم آدمها رفتار خریدشون شبیه همهست — مثلاً همهٔ کسایی که پیتزا دوست دارن معمولاً نوشابه هم میخرن 🍕🥤
به این کار میگن خوشهبندی (Clustering) و یکی از معروفترین الگوریتمهاش K-Means Clustering هست.
این یکی از هیجانانگیزترین بخشهاست!
اینجا مدل مثل یه رباته که خودش تصمیم میگیره و از پاداش یا جریمه یاد میگیره ⚡
مثلاً یه ربات بازی یا ماشین مسابقه که وقتی مسیر درستی میره، امتیاز میگیره و وقتی اشتباه میره، امتیاز ازش کم میشه.
به این نوع یادگیری میگن Reinforcement Learning (RL) چون مدل خودش با «تجربه» یاد میگیره.
بعد از فهمیدن این مفاهیم، من رفتم سراغ پروژههای واقعی با یه کتابخونهی معروف به اسم Scikit-learn (سکیتلِرن) که مخصوص پیادهسازی الگوریتمهای یادگیری ماشینه.
اینجا هدفم این بود که بفهمم چه عواملی باعث شدن بعضی از مسافرا زنده بمونن.
ولی قبل از آموزش مدل، یه چالش بزرگ داشتم:
توی دادهها بعضی اطلاعات خالی بود 😱
مثلاً سن بعضی از مسافرا نوشته نشده بود.
من یاد گرفتم چطوری این مقادیر خالی (Missing Values) رو با عددهایی مثل میانگین (Mean)، میانه (Median) یا مد (Mode) پر کنم.
به این کار میگن Imputation (جایگزینی دادههای گمشده).
یه کار باحال دیگه هم کردم: ساختم ویژگی (Feature) جدید.
مثلاً یه ستون درست کردم به اسم «اندازه خانواده» که از جمع تعداد خواهر و برادر و والدین ساخته میشد.
این باعث شد مدل بهتر بفهمه چه کسایی شانس بیشتری برای بقا داشتن.
اینجا وارد دنیای رگرسیون (Regression) شدم.
یعنی مدل من باید یه عدد رو پیشبینی میکرد (قیمت خونه 💰).
فرمول سادهش این بود:
Y = mX + c
که توش Y قیمت خونهست، X تعداد اتاقها، و m و c عددهاییه که مدل یاد میگیره.
وقتی ورودیها زیاد میشن (مثلاً علاوه بر اتاق، سن خونه، محله، و اندازه زمین هم مهم میشن)، مدل از یه خط ساده تبدیل میشه به یه صفحه سهبعدی (Plane) — که بهش میگن رگرسیون چندگانه (Multiple Regression).
من خیلی زود فهمیدم که مدل خوب فقط با دادهٔ تمیز ساخته میشه.
یه جمله معروف هست که میگه:
“Garbage in, garbage out”
یعنی اگه دادههات آشغال باشن، خروجی مدل هم آشغال درمیاد 😅
اگه یه ستون از داده خالی باشه، مدل نمیتونه باهاش کار کنه.
برای همین با استفاده از روش Imputation عددهایی مثل میانگین (Mean) رو جایگزینش میکردم.
گاهی توی داده یه مقدار خیلی عجیب هست (مثلاً حقوق ۱۰۰ میلیون بین بقیه که ۵ میلیون دارن 💸).
این نقاط باعث میشن مدل اشتباه کنه.
برای پیدا کردنشون از نمودار Box Plot (نمودار جعبهای) و روش IQR (Interquartile Range) استفاده کردم.
بعضی ویژگیها مقدارشون بزرگتره (مثلاً «حقوق» چند میلیون تومنه ولی «سن» فقط چند ساله).
مدل ممکنه فکر کنه حقوق مهمتره چون عددش بزرگتره، در حالی که این اشتباهه.
برای حلش از روشهایی مثل Standard Scaler یا Min-Max Scaler استفاده کردم تا همهٔ عددها تو یه محدوده باشن.
مدل فقط عدد میفهمه، نه کلمه.
مثلاً اگه ستون «شهر» داشته باشیم (تهران، مشهد، اصفهان)، باید اونها رو به عدد تبدیل کنیم.
برای این کار از دو روش استفاده میکردم:
یکی از چیزایی که توی این فاز یاد گرفتم، این بود که مدل نباید فقط «حافظه» داشته باشه!
یعنی نباید فقط دادههای آموزش رو حفظ کنه و روی دادههای جدید خراب عمل کنه 😅
یاد گرفتم دادهها رو به دو بخش تقسیم کنم:
اینطوری فهمیدم مدل واقعاً یاد گرفته یا فقط حفظ کرده.
تابع هزینه (Cost Function) یه عدد به مدل میده که نشون میده چقدر اشتباه کرده.
مدل با یه روش باحال به نام گرادیان کاهشی (Gradient Descent) سعی میکنه اون اشتباه رو کمکم کمتر کنه.
یعنی در هر مرحله وزنها (Weights) رو یهذره تغییر میده تا خطا (Error) کمتر بشه.
یه چیزی مثل یاد گرفتن دوچرخهسواریه 🚲 هر بار که میافتی، بهتر میشی!
✨ نتیجهی فاز دوم؟
در ۱۴ سالگی تازه فهمیدم مدلها چطوری یاد میگیرن و چطور میشه بهشون اعتماد کرد.
دیگه فقط یه کدنویس نبودم، یه طراح مدل هوش مصنوعی (AI Model Designer) شده بودم 🤖
تحلیل اکتشافی داده با نمودارهای ساده.
خب، حالا که یاد گرفتم چطور داده رو تمیز کنم و مدلهای ساده بسازم، وقتش بود یادگیری ماشین واقعی رو تجربه کنم — اونجایی که مدلها خودشون یاد میگیرن فکر کنن 🤯
در این مرحله، یاد گرفتم بعضی مدلها میتونن از خطوط ساده (Linear Models) جلوتر برن و رابطههای پیچیدهتری یاد بگیرن.
اینا چندتا از مهمترین چیزایی هستن که یاد گرفتم 👇
تو رگرسیون خطی ساده، مدل یه خط مستقیم رسم میکنه، ولی دنیا همیشه صاف نیست!
گاهی دادهها منحنیان 😅
مثلاً قد و وزن یا دما و فروش بستنی، همیشه خطی نیستن.
Polynomial Regression کمک میکنه مدل بتونه منحنی یاد بگیره — مثلاً با استفاده از (X^2) یا (X^3).
این باعث میشه پیشبینی دقیقتر بشه 🎯
وای این قسمت واقعاً جادوی یادگیری ماشینه ✨
من یاد گرفتم چطور یه شبکهٔ عصبی رو از صفر بسازم (بدون استفاده از کتابخونههایی مثل TensorFlow یا PyTorch).
اولش سخت بود، ولی وقتی فهمیدم چی داره پشت صحنه اتفاق میافته، همهچی برام مثل یه فیلم علمیتخیلی شد!
Neural Network (NN) یعنی یه سیستم از «نورونهای مصنوعی» که داده رو مرحلهبهمرحله پردازش میکنن تا الگوها رو یاد بگیرن.
یه چیز باحال هم یاد گرفتم:
برای اینکه شبکه یاد بگیره، باید اشتباهاتش رو بفهمه و خودش رو اصلاح کنه.
به این میگن پسانتشار خطا (Backpropagation) که با کمک گرادیان کاهشی (Gradient Descent) وزنهای شبکه رو بهبود میده تا خطا کم بشه 🔁
مثال ساده:
من یه شبکه ساختم که یاد بگیره دستنوشتههای اعداد ۰ تا ۹ رو تشخیص بده (مثل اپلیکیشنهای تشخیص عدد).
وقتی مدل اشتباه میگفت، وزنهاش تنظیم میشدن تا دفعه بعد بهتر حدس بزنه.
یاد گرفتم بعضی دادهها رو نمیشه با یه خط جدا کرد.
مثلاً دایرههایی که یکی توی دیگریه 🎯
برای این موارد از الگوریتمهایی مثل ماشین بردار پشتیبان (Support Vector Machine – SVM) یا رگرسیون لجستیک چندجملهای (Multinomial Logistic Regression) استفاده کردم.
اینا میتونن مرزهای پیچیدهتری بین دادهها رسم کنن.
یاد گرفتم یکی از مهمترین کارها اینه که دادههام رو طوری تغییر بدم که مدل بهتر بفهمه.
مثلاً یه تاریخ مثل ۲۰۲۵-۱۰-۲۷ رو میشه به «سال»، «ماه» و «روز هفته» تقسیم کرد.
این کار باعث میشه مدل بفهمه مثلاً در روزهای تعطیل فروش بیشتره! 📆
خیلی وقتا این قسمت باعث میشد دقت مدل من ۲۰٪ بهتر بشه 😲
یاد گرفتم هر مدل یه سری دکمه و تنظیم داره که میتونی با تغییرشها دقت مدل رو بالا ببری.
مثلاً توی درخت تصمیم (Decision Tree) عمق درخت (Tree Depth) خیلی مهمه.
یا توی شبکههای عصبی (Neural Networks)، تعداد نورونها و نرخ یادگیری (Learning Rate).
برای پیدا کردن بهترین ترکیب، از روشهایی مثل:
بعضی وقتا مدل خیلی پیچیده میشه و میخواد هر دادهای رو کامل حفظ کنه — به این میگن Overfitting.
برای جلوگیریش از Regularization استفاده کردم.
دو نوع معروف داره:
حالا نوبت این بود که مدلهام رو در پروژههای دنیای واقعی امتحان کنم 🔥
حتماً دیدی وقتی یه ویدیو توی یوتیوب یا یه فیلم توی نتفلیکس نگاه میکنی، خودش چندتا پیشنهاد مشابه میده؟ 🎥
اونها از Recommendation System استفاده میکنن.
من یاد گرفتم دوتا روش داره:
یکی از خفنترین پروژههام ساخت یه سیستم تشخیص چهره (Face Recognition) بود 😎
با استفاده از شبکه عصبی کانولوشنی (Convolutional Neural Network – CNN) تونستم تشخیص بدم توی یه عکس کی حضور داره.
مثلاً وقتی جلوی دوربین لبخند میزدم، مدل میگفت: “پویا خوشحاله!” 😁
اینجا وارد دنیای متن شدم ✍️
مدلی ساختم که بتونه تشخیص بده یه جمله مثبت، منفی یا خنثیه (بهش میگن تحلیل احساسات – Sentiment Analysis).
حتی با اموجیها هم تمرین کردم 😅
بعدش با مدلهای بزرگتر مثل Transformer آشنا شدم، که همون چیزیه که مدلهای بزرگی مثل ChatGPT ازش استفاده میکنن 🧠✨
فهمیدم فقط دقت (Accuracy) کافی نیست.
گاهی یه مدل با دقت ۹۸٪ میتونه اشتباههای خطرناکی کنه 😬
پس یاد گرفتم از معیارهای بهتر استفاده کنم.
یه جدول کوچیک که نشون میده مدل چند تا جواب درست داده و چند تا اشتباه.
مثلاً چند نفر رو سالم گفته که واقعاً سالم بودن (True Positive)، یا اشتباه تشخیص داده (False Negative).
مثلاً اگه فقط ۲٪ دادهها مربوط به تقلب باشن، مدل ممکنه همیشه بگه “تقلب نیست” و دقتش بالا باشه ولی در واقع بیفایدهست!
من یاد گرفتم با Resampling (نمونهگیری دوباره) دادهها رو متعادل کنم.
آخرش یاد گرفتم ساخت مدل فقط نصف کاره — نصف دیگهش اینه که مدلهام رو در دنیای واقعی اجرا کنم! 🌍
یعنی مدیریت کل چرخهٔ مدل: از آموزش گرفته تا نگهداری، مانیتورینگ، و آپدیت خودکار.
مدلهایی ساختم که خودشون وقتی دقتشون افت میکرد، دوباره آموزش میدیدن 😲
برای اینکه بقیه هم بتونن از مدلهام استفاده کنن، با ابزارهایی مثل:
✨ نتیجهی فاز سوم؟
من توی ۱۵ سالگی یاد گرفتم فقط مدل نسازم، بلکه یه سیستم هوشمند واقعی بسازم — مدلی که کار کنه، یاد بگیره و توی دنیای واقعی نتیجه بده 💡
حالا دیگه فقط یه دانشآموز نبودم، یه متخصص یادگیری ماشین (Machine Learning Specialist) بودم که میتونست از صفر تا صد یه پروژهٔ هوش مصنوعی رو بسازه! 🤖💪
استقرار مدل یادگیری ماشین با Docker و وبسرویس.
| سطح | مهارتهای کلیدی | پروژههای محوری (نمونههای پویا) |
|---|---|---|
| مبتدی (۱–۶ ماه) | Python، NumPy (Numerical Python)، Pandas، EDA (Exploratory Data Analysis)، مفاهیم پایه ریاضی: Calculus، Linear Algebra، Probability & Statistics. | تحلیل داده (EDA Portfolio)، دستهبندی گل زنبق (Iris Classification)، ساخت رگرسیون خطی از صفر (Linear Regression from Scratch). |
| متوسط (۶–۱۲ ماه) | Regression و Multiple Regression، Logistic Classification، Scikit-learn، مدیریت دادههای گمشده (Missing Values) و پرت (Outliers)، تقسیم داده (Train/Test Split)، Scaling و Encoding. | پیشبینی قیمت مسکن (House Price Prediction)، پیشبینی بقای تایتانیک (Titanic Survival)، تحلیل احساسات ساده (Sentiment Analysis). |
| پیشرفته (۱۲+ ماه) | Neural Networks (NN, CNN, Transformer)، MLOps & Deployment، Hyperparameter Tuning، Regularization (L1/L2)، Recommendation Systems. | تشخیص چهره بلادرنگ (Real-time Face Recognition)، ساخت مدل زبان پایه (LLM / Transformer)، کشف تقلب مالی (Fraud Detection)، خط لوله خودکار (AutoML Pipeline). |
میدونی راز من چیه؟
خیلی سادهست: پروژهمحور کار کن، دادههاتو تمیز نگه دار، نتایج رو اندازهگیری کن و بعد مدلهاتو استقرار بده.
من از پروژههای کوچیکی مثل تحلیل داده (EDA) و دستهبندی گل زنبق (Iris Classification) شروع کردم، با پروژههای تایتانیک (Titanic Survival) و پیشبینی قیمت مسکن (House Price Prediction) قویتر شدم، بعدش رفتم سراغ ساخت مدلهای واقعی مثل شبکههای عصبی (Neural Networks)، سیستمهای توصیهگر (Recommendation Systems)، بینایی کامپیوتر (Computer Vision) و پردازش زبان طبیعی (NLP).
در نهایت فهمیدم که دنیای Machine Learning وقتی واقعی میشه که بتونی با MLOps و Docker مدلهاتو وارد محیط تولید کنی و در دنیای واقعی اجراشون ببینی 🚀
اما مهمترین چیزی که یاد گرفتم اینه:
شکست خوردن بخشی از مسیر موفقیته — مخصوصاً توی یادگیری ماشین (Machine Learning).
هر بار که مدل اشتباه میکرد، من نه ناامید، بلکه هیجانزده میشدم چون میدونستم یه قدم به درک واقعی Machine Learning چیست نزدیکتر شدم 💡
اگه تو هم میخوای مثل من مسیرت رو از صفر تا صد یادگیری ماشین بسازی، پیشنهاد میکنم حتماً یه سر به 🔗 موبوش بزنی — اینجا پر از آموزشهای پروژهمحور و کاربردی دربارهی هوش مصنوعی، یادگیری ماشین، و مدلهاست.
Sign in to your account