پروژه دیتا ساینس
علم داده (Data Science) به زبان ساده: دنیایی از داده تا بینش
علم داده چیست؟
علم داده ترکیبی از آمار، برنامهنویسی و دانش دامنه (Domain Knowledge) است که از دادهها بینش استخراج میکند تا تصمیمگیری آگاهانه ممکن شود.
چرخه حیات یک پروژه علم داده
1. درک مسئله (Problem Understanding)
-
اولین و مهمترین گام!
-
سوالات کلیدی:
-
چه مشکلی قرار است حل شود؟
-
هدف کسبوکار چیست؟
-
معیار موفقیت چیست؟
-
-
مثال: یک فروشگاه آنلاین میخواهد مشتریانی که ممکن است خرید نکنند را شناسایی کند.
2. جمعآوری داده (Data Collection)
-
دادهها از کجا میآیند؟
-
داخلی: دیتابیسهای شرکت، لاگهای سیستم
-
خارجی: APIها، وبسکرپینگ، دادههای عمومی (Kaggle, UCI)
-
سنتورها: IoT، دستگاههای پزشکی
-
3. پاکسازی و پیشپردازش (Data Cleaning & Preprocessing)
-
“کار کثیف” علم داده! (۸۰٪ زمان پروژه)
-
کارهای اصلی:
-
مقادیر گمشده (Missing Values)
-
دادههای پرت (Outliers)
-
ناسازگاریها (Inconsistencies)
-
تغییر فرمتها و مقیاسها
-
4. کاوش داده (EDA – Exploratory Data Analysis)
-
داستانگویی با داده!
-
تکنیکها:
-
آمار توصیفی (میانگین، میانه، انحراف معیار)
-
مصورسازی (Visualization)
-
کشف روابط و الگوها
-
5. مهندسی ویژگی (Feature Engineering)
-
جادوی واقعی علم داده!
-
ایجاد ویژگیهای جدید از دادههای موجود
-
مثال: از تاریخ تولد، سن را محاسبه کنیم
6. مدلسازی (Modeling)
-
انتخاب و آموزش الگوریتم
-
دستهبندی الگوریتمها:
-
یادگیری نظارتشده: (داده دارای برچسب)
-
رگرسیون: پیشبینی مقدار پیوسته (مثلاً قیمت خانه)
-
دستهبندی: پیشبینی کلاس (مثلاً اسپم یا غیراسپم)
-
-
یادگیری بدون نظارت: (داده بدون برچسب)
-
خوشهبندی: گروهبندی دادههای مشابه
-
کاهش ابعاد: سادهسازی دادهها
-
-
یادگیری تقویتی: یادگیری از طریق پاداش و تنبیه
-
7. ارزیابی مدل (Model Evaluation)
-
مدل ما چقدر خوب کار میکند؟
-
متریکهای رایج:
-
دقت (Accuracy)
-
دقت طبقهبندی (Precision)
-
فراخوانی (Recall)
-
F1-Score
-
RMSE (برای رگرسیون)
-
8. استقرار (Deployment)
-
آوردن مدل به دنیای واقعی!
-
تبدیل مدل به API یا سرویس
-
مثال: یک API که قیمت خانه را پیشبینی میکند
9. نگهداری و نظارت (Maintenance & Monitoring)
-
علم داده هیچوقت تمام نمیشود!
-
نظارت بر عملکرد مدل در دنیای واقعی
-
بازآموزی مدل با دادههای جدید
الگوریتمهای معروف
کلاسیکها:
-
رگرسیون خطی (Linear Regression) – پیشبینی قیمت
-
لوجیستیک رگرسیون (Logistic Regression) – طبقهبندی باینری
-
درخت تصمیم (Decision Tree) – قابل تفسیر
-
تصادفی جنگل (Random Forest) – مجموعهای از درختان
-
XGBoost – قهرمان مسابقات!
هوش مصنوعی عمیق:
-
شبکههای عصبی (Neural Networks)
-
CNN – برای تصاویر
-
RNN/LSTM – برای دادههای دنبالهای (متن، سری زمانی)
-
ترانسفورمرها – پایه GPT و مدلهای زبانی
کاربردهای واقعی
در صنایع مختلف:
-
سلامت: تشخیص بیماری از روی تصاویر پزشکی
-
مالی: تشخیص تقلب در تراکنشها
-
خردهفروشی: سیستمهای توصیهگر (مثل Netflix)
-
تولید: پیشبینی خرابی دستگاهها
-
کشاورزی: پیشبینی محصول بر اساس آب و هوا
مهارتهای مورد نیاز
فنی:
-
برنامهنویسی: پایتون (رایجترین) یا R
-
آمار و احتمال: پایه و اساس
-
دیتابیس: SQL (حتماً!)
-
ابزارهای مصورسازی: Tableau, Power BI
-
پلتفرمهای ابری: AWS, GCP, Azure
نرم:
-
تفکر انتقادی
-
داستانگویی با داده
-
مهارت ارتباطی (توضیح پیچیدگیها به ساده)
-
کنجکاوی
چالشهای علم داده
-
کیفیت داده: “ورودی بیارزش = خروجی بیارزش”
-
سوگیری در داده: مدلهای biased نتایج biased میدهند
-
قابل تفسیر بودن: مدلهای پیچیده مثل جعبه سیاه
-
حریم خصوصی: به خصوص در دادههای حساس
-
افزونگی: هیجان زودگذر حول “هوش مصنوعی”
آینده علم داده
روندهای جدید:
-
هوش مصنوعی تولیدی (Generative AI): ChatGPT، تولید تصویر
-
اتوماسیون: AutoML (یادگیری ماشین خودکار)
-
علم داده مسئولانه: اخلاق، شفافیت، انصاف
-
ادغام با IoT: دادههای لحظهای از سنسورها
چگونه شروع کنیم؟
مسیر یادگیری:
-
پایه: آمار + پایتون
-
کتابخانهها: Pandas, NumPy, Matplotlib
-
یادگیری ماشین: Scikit-learn
-
یادگیری عمیق: TensorFlow/PyTorch
-
پروژههای عملی: روی Kaggle شروع کن!
8. مفاهیم پیشرفتهتر
الف) پردازش زبان طبیعی (NLP)
چگونه کامپیوترها زبان انسان را میفهمند؟
-
پیشپردازش متن:
-
توکنسازی (Tokenization) – شکستن متن به کلمات
-
حذف ایستواژهها (Stopword Removal) – حذف کلمات کممحتوا
-
ریشهیابی (Stemming/Lemmatization) – آوردن کلمات به ریشه
-
-
نمایش متن:
-
Bag of Words (BoW) – ساده اما قدرتمند
-
TF-IDF – اهمیت کلمات در سند
-
Word Embeddings – کلمات به بردار (Word2Vec, GloVe)
-
ترانسفورمرها – انقلابی در NLP (BERT, GPT)
-
-
کاربردها:
-
ترجمه ماشینی
-
چتباتهای هوشمند
-
خلاصهسازی متن
-
تحلیل احساسات
-
ب) بینایی کامپیوتر (Computer Vision)
چگونه کامپیوترها تصاویر را میبینند؟
-
مفاهیم کلیدی:
-
کانولوشن (Convolution) – استخراج ویژگی از تصویر
-
Pooling – کاهش ابعاد
-
CNN – شبکه عصبی کانولوشنی
-
-
کاربردها:
-
تشخیص چهره
-
تشخیص اشیاء در خودروهای خودران
-
تحلیل تصاویر پزشکی
-
واقعیت افزوده
-
ج) یادگیری تقویتی (Reinforcement Learning)
یادگیری از طریق آزمون و خطا – مثل آموزش سگ!
-
مفاهیم:
-
عامل (Agent)
-
محیط (Environment)
-
پاداش (Reward)
-
سیاست (Policy)
-
-
کاربردهای جذاب:
-
AlphaGo (بازی Go)
-
آموزش رباتها
-
بهینهسازی سیستمهای توصیهگر
-
مدیریت انرژی
-
9. معماریهای سیستمهای علم داده در دنیای واقعی
معماری ساده:
دادههای خام → پاکسازی → ویژگیسازی → مدل → API → کاربر
معماری پیشرفته (پایپلاین کامل):
1. جمعآوری داده (Kafka, Flume) 2. ذخیرهسازی (HDFS, Data Lakes) 3. پردازش (Spark, Hadoop) 4. ذخیرهسازی ویژگیها (Feature Store) 5. آموزش مدل (MLflow, Kubeflow) 6. ثبت مدل (Model Registry) 7. استقرار (Docker, Kubernetes) 8. نظارت (Prometheus, Grafana) 9. بازخورد (Feedback Loop)
10. نقشهای شغلی در اکوسیستم علم داده
1. دانشمند داده (Data Scientist):
-
تمرکز: ساخت مدلهای پیچیده
-
مهارتها: آمار پیشرفته، یادگیری ماشین
-
خروجی: مدلهای پیشبینی
2. تحلیلگر داده (Data Analyst):
-
تمرکز: تحلیل گذشته و حال
-
مهارتها: SQL، مصورسازی
-
خروجی: گزارشها، داشبورد
3. مهندس داده (Data Engineer):
-
تمرکز: زیرساخت داده
-
مهارتها: Big Data، ابر، پایپلاین
-
خروجی: پایپلاینهای قابل اطمینان
4. مهندس یادگیری ماشین (ML Engineer):
-
تمرکز: استقرار و مقیاس مدلها
-
مهارتها: مهندسی نرمافزار، DevOps
-
خروجی: مدلهای Production
5. تحلیلگر کسبوکار (Business Analyst):
-
تمرکز: نیازهای کسبوکار
-
مهارتها: دامنه کسبوکار، ارتباطات
-
خروجی: مستندات نیازمندی
11. پروژههای انتهایی (Capstone Projects) – از ایده به محصول
ایدههای عملی:
پروژه ۱: سیستم تشخیص بیماری از تصاویر پوست
مراحل: 1. جمعآوری دادههای تصاویر پوست بیمار 2. برچسبگذاری توسط متخصص پوست 3. آموزش مدل CNN 4. ساخت اپلیکیشن موبایل 5. استقرار مدل روی ابر
پروژه ۲: پیشبینی قیمت سهام با LSTM + اخبار
مراحل: 1. جمعآوری دادههای تاریخی قیمت 2. جمعآوری اخبار مرتبط (وباسکرپینگ) 3. تحلیل احساسات اخبار (NLP) 4. ترکیب دادههای عددی و متنی 5. ساخت مدل ترکیبی
پروژه ۳: سیستم توصیهگر هوشمند برای کتابخانه
مراحل: 1. جمعآوری دادههای کاربران (با حفظ حریم خصوصی) 2. پیادهسازی Collaborative Filtering 3. اضافه کردن Content-Based Filtering 4. ساخت API برای وبسایت 5. A/B تست برای ارزیابی
12. ملاحظات اخلاقی و اجتماعی
چالشهای اخلاقی:
-
سوگیری (Bias):
-
مدلهایی که علیه گروههای خاص تبعیض قائل میشوند
-
مثال: سیستمهای استخدام هوشمند
-
-
حریم خصوصی (Privacy):
-
GDPR در اروپا
-
دیشناسایی (De-identification) دادهها
-
یادگیری فدرال (Federated Learning)
-
-
مسئولیتپذیری (Accountability):
-
اگر مدل اشتباه کند، مقصر کیست؟
-
نیاز به قابلیت تفسیر (Explainable AI)
-
-
شفافیت (Transparency):
-
مدلهای جعبه سیاه در مقابل جعبه سفید
-
LIME و SHAP برای تفسیر مدلها
-
13. منابع یادگیری رایگان
پلتفرمهای آموزشی:
-
Coursera: تخصصهای علم داده
-
edX: دورههای MIT و Harvard
-
Kaggle Learn: آموزش عملی و پروژهمحور
-
Fast.ai: یادگیری عمیق عملی
-
YouTube: کانالهای فارسی و انگلیسی
کتابهای ضروری:
-
“Python for Data Analysis” – Wes McKinney (خالق Pandas)
-
“Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow” – Aurélien Géron
-
“The Elements of Statistical Learning” – کلاسیک آمار
14. بازار کار علم داده در ایران
وضعیت فعلی:
-
رشد سریع تقاضا
-
تمرکز روی: بانکداری، مخابرات، بازار سرمایه
-
چالش: کمبود متخصص ارشد
حقوق (تقریبی):
-
جونیور: ۸-۱۵ میلیون تومان
-
میدل: ۱۵-۲۵ میلیون تومان
-
سنیور: ۲۵+ میلیون تومان
مهارتهای پرتقاضا:
-
یادگیری عمیق (به خصوص برای بینایی کامپیوتر)
-
پردازش زبان طبیعی فارسی
-
مهندسی یادگیری ماشین (MLOps)
-
کار با دادههای بزرگ
۱۵. آینده علم داده – ۵ سال آینده
روندهای پیشرو:
-
AutoML بیشتر: کاهش نیاز به کدنویسی دستی
-
مدلهای چندوجهی (Multimodal): ترکیب متن، تصویر، صدا
-
علم داده کوچک (TinyML): مدلها روی دستگاههای کوچک
-
یادگیری خودنظارتی (Self-Supervised Learning): نیاز کمتر به داده برچسبدار
-
شبکههای عصبی گرافی (GNN): برای دادههای رابطهای
توصیههای نهایی:
-
عمیق شو: در یک حوزه تخصص پیدا کن (مثلاً NLP یا CV)
-
مستندسازی کن: GitHub خودت را با پروژهها پر کن
-
مقاله بخوان: ArXiv، Medium، مقالات کنفرانسها
-
شبکهسازی کن: در LinkedIn فعال باش، در meetupها شرکت کن
-
خلاق باش: فقط از آموزشها کپی نکن، چیزی جدید خلق کن
سوالهای متداول (FAQ)
Q: ریاضیات چقدر مهم است؟
A: بستگی دارد!
-
برای تحلیلگر: آمار توصیفی + احتمال پایه کافی است
-
برای دانشمند داده: جبر خطی + حسابان + احتمال پیشرفته ضروری است
Q: چه زمانی یادگیری عمیق لازم است؟
A: وقتی:
-
دادههای ساختارنایافته دارید (تصویر، متن، صوت)
-
دادههای بسیار زیادی دارید
-
مسئله بسیار پیچیده است
Q: بهترین زبان چیست؟
A: پایتون برای ۹۵٪ موارد بهترین انتخاب است.
Q: چقدر زمان نیاز است؟
A: برای رسیدن به سطح اشتغال:
-
تماموقت: ۶-۹ ماه
-
پارهوقت: ۱-۲ سال
علم داده: یک اقیانوس بیکران از داده تا خرد – ویرایش حجیم و جامع
فصل ۱: فلسفه علم داده – چرا وجود داریم؟
۱.۱ انقلاب دادهها: چهارمین پارادایم علم
علم طی چهار دوره تکامل یافته:
-
تجربی: مشاهده و توصیف پدیدهها
-
تئوریک: قوانین و مدلهای ریاضی
-
محاسباتی: شبیهسازیهای کامپیوتری
-
دادهمحور: استخراج دانش از دادههای انبوه
علم داده درواقع پارادایم چهارم است – جایی که داده خود به منبع اصلی اکتشاف تبدیل میشود.
۱.۲ مثلث طلایی علم داده
آمار
/\
/ \
/____\
کدنویسی دانش دامنه
-
آمار: فهم عدم قطعیت، استنباط
-
کدنویسی: اجرا در مقیاس بزرگ
-
دانش دامنه: پرسیدن سوالهای درست
۱.۳ تفاوت با رشتههای مشابه:
-
علم داده vs تحلیل داده: علم داده بیشتر پیشبینیکننده، تحلیل داده بیشتر توصیفی
-
علم داده vs یادگیری ماشین: علم داده چرخه کامل (از داده تا استقرار)، ML بیشتر روی الگوریتمها
-
علم داده vs مهندسی داده: علم داده از داده ارزش میسازد، مهندسی داده زیرساخت میسازد
فصل ۲: آناتومی داده – شناخت ماده خام
۲.۱ انواع داده:
الف) از نظر ساختار:
-
ساختاریافته (Structured):
-
جداول ردیف-ستون (SQL, CSV)
-
مثال: اطلاعات مشتریان، تراکنشها
-
۲۰٪ دادههای دنیا
-
-
نیمهساختاریافته (Semi-structured):
-
JSON، XML، فایلهای لاگ
-
ساختار انعطافپذیر
-
مثال: دادههای وب، API responses
-
-
غیرساختاریافته (Unstructured):
-
متن، تصویر، ویدیو، صدا
-
۸۰٪ دادههای دنیا
-
مثال: ایمیلها، تصاویر پزشکی
-
ب) از نظر ماهیت:
-
عددی (Numerical):
-
گسسته (Discrete): تعداد فرزندان
-
پیوسته (Continuous): قد، وزن
-
-
طبقهای (Categorical):
-
اسمی (Nominal): جنسیت، رنگ
-
ترتیبی (Ordinal): سطح تحصیلات، رضایت
-
-
زمانی (Temporal): تاریخ، زمان
-
مکانی (Spatial): مختصات جغرافیایی
-
متنی (Textual): نظرات، مقالات
۲.۲ کیفیت داده – ۷ گناه کبیره:
-
مقادیر گمشده (Missing Values):
-
انواع: MCAR، MAR، MNAR
-
روشهای درمان: حذف، پر کردن، پیشبینی
-
-
دادههای پرت (Outliers):
-
تشخیص: IQR، Z-score، Isolation Forest
-
برخورد: حذف، جایگزینی، نگهداری
-
-
نویز (Noise):
-
خطاهای اندازهگیری
-
روشهای کاهش: فیلترها، هموارسازی
-
-
ناسازگاری (Inconsistency):
-
فرمتهای مختلف تاریخ
-
واحدهای مختلف اندازهگیری
-
-
تکرار (Duplication):
-
رکوردهای تکراری
-
تشخیص با Hashing
-
-
تورش (Bias):
-
نمونهگیری نادرست
-
تاثیر بر مدل نهایی
-
-
مقیاس ناسازگار (Scale Mismatch):
-
ویژگیها در مقیاسهای مختلف
-
فصل ۳: زرادخانه ریاضی – ابزارهای تحلیلی
۳.۱ آمار توصیفی (Descriptive Statistics):
معیارهای مرکزی:
-
میانگین (Mean): حساس به outliers
μ = Σx_i / n
-
میانه (Median): نقطه وسط – مقاوم به outliers
-
مد (Mode): پرتکرارترین مقدار
معیارهای پراکندگی:
-
دامنه (Range): Max – Min
-
واریانس (Variance): متوسط مربع فاصله از میانگین
σ² = Σ(x_i - μ)² / n
-
انحراف معیار (Standard Deviation): ریشه واریانس
-
چارکها (Quartiles): Q1 (25%)، Q2 (50% = میانه)، Q3 (75%)
-
IQR: Q3 – Q1 (مقیاس پراکندگی)
شکل توزیع:
-
چولگی (Skewness): عدم تقارن
-
مثبت: دم به سمت راست
-
منفی: دم به سمت چپ
-
-
کشیدگی (Kurtosis): سنگینی دمها
-
Leptokurtic: دمهای سنگین
-
Platykurtic: دمهای سبک
-
۳.۲ آمار استنباطی (Inferential Statistics):
توزیعهای احتمال:
-
نرمال (Gaussian):
f(x) = (1/σ√(2π)) * e^(-(x-μ)²/(2σ²))
-
قاعده 68-95-99.7
-
-
دوجملهای (Binomial): تعداد موفقیت در n آزمایش
-
پواسون (Poisson): تعداد رویداد در بازه زمانی
-
نمایی (Exponential): زمان بین رویدادها
آزمون فرضیه:
-
فرض صفر (H0) و فرض جایگزین (H1)
-
p-value: احتمال مشاهده دادهها اگر H0 درست باشد
-
سطح معنیداری (α): معمولاً 0.05
-
انواع خطا:
-
نوع اول: رد H0 وقتی درست است
-
نوع دوم: پذیرش H0 وقتی نادرست است
-
فاصله اطمینان:
CI = x̄ ± Z*(σ/√n)
-
95% اطمینان که پارامتر واقعی در این بازه است
۳.۳ جبر خطی برای علم داده:
مفاهیم کلیدی:
-
بردارها (Vectors): نقطه در فضای n بعدی
-
ماتریسها (Matrices): آرایش مستطیلی اعداد
-
ضرب ماتریس: ترکیب تبدیلها
-
دترمینان (Determinant): عامل مقیاس تغییر حجم
-
معکوس ماتریس: عمل معکوس
تجزیه ماتریس:
-
SVD (Singular Value Decomposition):
A = U Σ V^T
-
کاهش ابعاد
-
سیستمهای توصیهگر
-
-
Eigen Decomposition:
A v = λ v
-
تحلیل مؤلفههای اصلی (PCA)
-
۳.۴ حسابان برای یادگیری ماشین:
مشتقگیری:
-
مشتق جزئی: تغییر تابع نسبت به یک متغیر
-
گرادیان (Gradient): بردار مشتقات جزئی
∇f = [∂f/∂x₁, ∂f/∂x₂, ..., ∂f/∂x_n]
-
نزول گرادیان (Gradient Descent):
θ_new = θ_old - η * ∇J(θ)
-
η: نرخ یادگیری
-
J: تابع هزینه
-
-
هسین (Hessian): ماتریس مشتقات مرتبه دوم
-
تشخیص saddle points
-
انتگرال:
-
محاسبه مساحت زیر منحنی
-
در احتمالات: PDF به CDF
فصل ۴: پردازش و پالایش داده – از خام به پالوده
۴.۱ چرخه پردازش داده:
داده خام
↓
استخراج (Extraction)
↓
تبدیل (Transformation)
↓
بارگذاری (Loading)
↓
داده پاکشده
۴.۲ تکنیکهای پیشپردازش:
الف) مدیریت مقادیر گمشده:
-
حذف (Deletion):
-
حذف سطر (Listwise)
-
حذف جفتها (Pairwise)
-
-
پر کردن (Imputation):
-
میانگین/میانه/مد
-
K-Nearest Neighbors
-
مدلهای پیشبینی
-
Multiple Imputation
-
-
پرچمگذاری (Flagging): ایجاد متغیر نشانگر
ب) نرمالسازی (Normalization):
-
Min-Max Scaling:
X_scaled = (X - X_min) / (X_max - X_min)
-
بازه [0, 1]
-
-
Standardization (Z-score):
z = (X - μ) / σ
-
میانگین 0، انحراف معیار 1
-
-
Robust Scaling: با میانه و IQR – مقاوم به outliers
ج) رمزگذاری متغیرهای کیفی:
-
One-Hot Encoding: ایجاد ستونهای باینری
-
Label Encoding: تبدیل به اعداد
-
Target Encoding: میانگین هدف برای هر دسته
-
Embedding: یادگیری نمایش فشرده
۴.۳ کاهش ابعاد:
الف) انتخاب ویژگی (Feature Selection):
-
فیلتر (Filter): بر اساس آمار
-
همبستگی (Correlation)
-
آزمون کای-دو (Chi-square)
-
آنالیز واریانس (ANOVA)
-
-
پوشش (Wrapper): جستجوی زیرمجموعهها
-
Forward Selection
-
Backward Elimination
-
Recursive Feature Elimination (RFE)
-
-
جاسازی (Embedded): درون الگوریتم
-
Lasso Regression (L1)
-
Random Forest Importance
-
ب) استخراج ویژگی (Feature Extraction):
-
PCA (Principal Component Analysis):
-
یافتن جهتهای با بیشترین واریانس
-
Eigenvectors از ماتریس کوواریانس
-
-
t-SNE (t-Distributed Stochastic Neighbor Embedding):
-
مصورسازی دادههای چندبعدی
-
حفظ ساختار محلی
-
-
Autoencoders: شبکههای عصبی برای فشردهسازی
۴.۴ مهندسی ویژگی – هنر خلاقیت:
روشهای ایجاد ویژگی جدید:
-
ترکیب ویژگیها:
-
جمع، تفاضل، ضرب، تقسیم
-
میانگین متحرک (Moving Average)
-
-
استخراج از تاریخ/زمان:
-
ساعت روز، روز هفته، فصل
-
تعطیلات، رویدادهای خاص
-
-
گروهبندی و تجمیع:
-
میانگین خریدهای قبلی کاربر
-
تعداد تراکنشهای ۷ روز اخیر
-
-
تعامل (Interaction):
-
ضرب متغیرها
-
ترکیب چندجملهای
-
-
تبدیلهای غیرخطی:
-
لگاریتم، جذر، مربع
-
Box-Cox Transformation
-
فصل ۵: الگوریتمهای یادگیری ماشین – قلب تپنده
۵.۱ طبقهبندی الگوریتمها:
یادگیری ماشین
├── نظارتشده (Supervised)
│ ├── رگرسیون (Regression)
│ │ ├── خطی (Linear)
│ │ ├── چندجملهای (Polynomial)
│ │ ├── ریدج (Ridge)
│ │ ├── لاسو (Lasso)
│ │ ├── الاستیکنت (ElasticNet)
│ │ ├── درخت تصمیم (Decision Tree)
│ │ ├── جنگل تصادفی (Random Forest)
│ │ ├── XGBoost
│ │ ├── LightGBM
│ │ └── SVR
│ │
│ └── طبقهبندی (Classification)
│ ├── لجستیک (Logistic)
│ ├── SVM
│ ├── بیز ساده (Naive Bayes)
│ ├── KNN
│ ├── درخت تصمیم
│ ├── جنگل تصادفی
│ ├── گرادیان بوستینگ
│ └── شبکه عصبی
│
├── بدون نظارت (Unsupervised)
│ ├── خوشهبندی (Clustering)
│ │ ├── K-Means
│ │ ├── DBSCAN
│ │ ├── سلسله مراتبی (Hierarchical)
│ │ ├── گوسیها (GMM)
│ │ └── طیفی (Spectral)
│ │
│ └── کاهش ابعاد (Dimensionality Reduction)
│ ├── PCA
│ ├── t-SNE
│ ├── UMAP
│ └── Autoencoder
│
├── نیمهنظارتی (Semi-supervised)
│
├── یادگیری تقویتی (Reinforcement)
│ ├── Q-Learning
│ ├── SARSA
│ ├── DQN
│ └── Policy Gradient
│
└── انتقالی (Transfer)
└── Fine-tuning
۵.۲ الگوریتمهای کلاسیک با جزئیات:
۱. رگرسیون خطی (Linear Regression):
y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ + ε
فرضیات:
-
خطی بودن رابطه
-
استقلال خطاها
-
نرمال بودن خطاها
-
همسانی واریانس خطاها
-
عدم همخطی (Multicollinearity)
برآورد پارامترها:
-
روش حداقل مربعات (OLS):
β = (XᵀX)⁻¹ Xᵀy
۲. رگرسیون لجستیک (Logistic Regression):
P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x))
تابع سیگموئید:
σ(z) = 1 / (1 + e^-z)
تابع هزینه (Cross-Entropy):
J(θ) = -1/m Σ [y⁽ⁱ⁾ log(h(x⁽ⁱ⁾)) + (1-y⁽ⁱ⁾) log(1-h(x⁽ⁱ⁾))]
۳. درخت تصمیم (Decision Tree):
الگوریتم CART (Classification and Regression Trees):
1. شروع از ریشه با همه دادهها 2. برای هر ویژگی: - محاسبه impurity (Gini/Entropy/MSE) - یافتن بهترین split 3. انتخاب split با بیشترین کاهش impurity 4. تکرار برای زیرمجموعهها 5. توقف وقتی: - عمق حداکثر رسید - نمونههای کمی باقی ماند - کاهش impurity ناچیز بود
معیارهای ناخالصی:
-
جینی (Gini): احتمال طبقهبندی نادرست
Gini = 1 - Σ(p_i²)
-
آنتروپی (Entropy): میزان بینظمی
Entropy = -Σ(p_i log₂(p_i))
-
MSE (برای رگرسیون): میانگین مربع خطا
۴. جنگل تصادفی (Random Forest):
الگوریتم:
1. ساخت B بوتاسترپ نمونه 2. برای هر نمونه: - ساخت درخت تصمیم کامل - در هر split، انتخاب تصادفی k ویژگی 3. ترکیب نتایج: - طبقهبندی: رأی اکثریت - رگرسیون: میانگین
ویژگیها:
-
کاهش overfitting نسبت به درخت تکی
-
قابلیت تخمین اهمیت ویژگیها
-
مقاومت به outliers
۵. XGBoost (Extreme Gradient Boosting):
تقویت گرادیان (Gradient Boosting):
1. شروع با مدل اولیه (مثلاً میانگین) 2. برای m=1 تا M: - محاسبه residual (gradient) - آموزش مدل روی residual - به روز رسانی مدل
مزایای XGBoost:
-
Regularization (L1/L2)
-
Handles missing values
-
Parallel processing
-
Tree pruning
-
Built-in cross-validation
۶. SVM (Support Vector Machine):
ایده اصلی: یافتن hyperplane با حداکثر حاشیه
مسئله بهینهسازی:
min ½||w||² s.t. y_i(w·x_i + b) ≥ 1
Kernel Trick: نگاشت به فضای با ابعاد بیشتر
-
خطی: K(x_i, x_j) = x_i·x_j
-
چندجملهای: K(x_i, x_j) = (γ x_i·x_j + r)^d
-
RBF: K(x_i, x_j) = exp(-γ ||x_i – x_j||²)
۷. K-Means Clustering:
الگوریتم:
1. انتخاب تصادفی k مرکز خوشه 2. تکرار تا همگرایی: - انتساب: هر نقطه به نزدیکترین مرکز - بهروزرسانی: محاسبه مراکز جدید
انتخاب k:
-
روش Elbow: رسم SSE بر حسب k
-
Silhouette Score
-
Gap Statistic
۸. شبکه عصبی مصنوعی (ANN):
یک نورون (Perceptron):
z = w·x + b a = σ(z)
لایهها:
-
ورودی (Input)
-
پنهان (Hidden) – حداقل یک لایه
-
خروجی (Output)
تابع فعالسازی:
-
Sigmoid: σ(z) = 1/(1+e^-z)
-
Tanh: tanh(z)
-
ReLU: max(0, z)
-
Leaky ReLU: max(αz, z)
-
Softmax (برای چندکلاسه)
الگوریتم پسانتشار (Backpropagation):
1. انتشار رو به جلو (Forward pass) 2. محاسبه خطا 3. انتشار رو به عقب (Backward pass) 4. به روزرسانی وزنها (Gradient Descent)
فصل ۶: یادگیری عمیق – مغز دیجیتال
۶.۱ معماریهای شبکه عصبی:
الف) CNN (شبکه عصبی کانولوشنی):
اجزاء:
-
لایه کانولوشن:
Feature_map = Convolution(Input, Kernel) + Bias
-
Kernel: فیلتر یادگیری
-
Stride: گام حرکت
-
Padding: پر کردن لبهها
-
-
لایه Pooling: کاهش ابعاد
-
Max Pooling: گرفتن حداکثر
-
Average Pooling: میانگین
-
-
لایه Fully Connected: طبقهبندی نهایی
معماریهای معروف:
-
LeNet-5 (اولین معماری)
-
AlexNet (برنده ImageNet 2012)
-
VGGNet (عمق بیشتر)
-
ResNet (Skip connections)
-
Inception (فیلترهای موازی)
ب) RNN/LSTM (شبکه عصبی بازگشتی):
مشکل RNN: Vanishing Gradient
LSTM (Long Short-Term Memory):
1. دروازه فراموشی (Forget Gate): f_t = σ(W_f·[h_{t-1}, x_t] + b_f)
2. دروازه ورودی (Input Gate): i_t = σ(W_i·[h_{t-1}, x_t] + b_i)
3. سلول کاندید: C̃_t = tanh(W_C·[h_{t-1}, x_t] + b_C)
4. بهروزرسانی سلول: C_t = f_t * C_{t-1} + i_t * C̃_t
5. دروازه خروجی (Output Gate): o_t = σ(W_o·[h_{t-1}, x_t] + b_o)
6. خروجی: h_t = o_t * tanh(C_t)
GRU (Gated Recurrent Unit): نسخه سادهتر LSTM
ج) ترانسفورمر (Transformer):
انقلابی در NLP!
اجزاء:
-
Embedding: تبدیل کلمات به بردار
-
Positional Encoding: اطلاعات موقعیت
-
Attention Mechanism:
Attention(Q, K, V) = softmax(QKᵀ/√d_k)V
-
Self-Attention: توجه کلمات به یکدیگر
-
Multi-Head Attention: چندین projection موازی
-
-
Feed Forward Network: پردازش مستقل
معماریهای معروف:
-
Encoder-Only: BERT (برای understanding)
-
Decoder-Only: GPT (برای generation)
-
Encoder-Decoder: T5, BART
۶.۲ یادگیری انتقالی (Transfer Learning):
استراتژیها:
-
استخراج ویژگی (Feature Extraction): ثابت نگه داشتن وزنهای پایه
-
ریزتنظیمی (Fine-tuning): آموزش مجدد وزنها
-
یادگیری چندوظیفهای (Multi-task): آموزش همزمان چند وظیفه
مدلهای ازپیشآموزشدیده:
-
تصویر: ResNet, EfficientNet, ViT
-
متن: BERT, GPT, T5
-
چندوجهی: CLIP, DALL-E
فصل ۷: ارزیابی و بهینهسازی – علم سنجش موفقیت
۷.۱ ارزیابی مدلهای طبقهبندی:
ماتریس درهمریختگی (Confusion Matrix):
پیشبینی شده
مثبت منفی
واقعی مثبت TP FN
منفی FP TN
متریکهای اصلی:
-
دقت (Accuracy):
(TP + TN) / کل
-
مشکل: عدم تعادل کلاس
-
-
دقت طبقهبندی (Precision):
TP / (TP + FP)
-
“وقتی مثبت میگوییم، چقدر مطمئنیم؟”
-
-
فراخوانی (Recall/Sensitivity):
TP / (TP + FN)
-
“چقدر از مثبتهای واقعی را پیدا کردیم؟”
-
-
F1-Score: میانگین همساز
2 * (Precision * Recall) / (Precision + Recall)
-
Specificity:
TN / (TN + FP)
-
ROC Curve: رسم TPR بر حسب FPR
-
AUC: مساحت زیر منحنی ROC
-
PR Curve: برای دادههای نامتعادل
۷.۲ ارزیابی مدلهای رگرسیون:
متریکها:
-
MSE (Mean Squared Error):
MSE = (1/n) Σ(y_i - ŷ_i)²
-
RMSE (Root MSE): ریشه MSE – مقیاس اصلی
-
MAE (Mean Absolute Error):
MAE = (1/n) Σ|y_i - ŷ_i|
-
R² Score: درصد واریانس تبیینشده
R² = 1 - (SS_res / SS_tot)
-
Adjusted R²: تعدیل بر اساس تعداد ویژگیها
۷.۳ اعتبارسنجی متقاطع (Cross-Validation):
روشها:
-
Hold-out: تقسیم به train/test
-
K-Fold: تقسیم به k بخش
-
Stratified K-Fold: حفظ توزیع کلاس
-
Leave-One-Out (LOOCV): هر نمونه یک بار test
-
Time Series Split: برای دادههای زمانی
Bias-Variance Tradeoff:
-
Underfitting: بایاس بالا، واریانس پایین
-
Overfitting: بایاس پایین، واریانس بالا
-
هدف: تعادل (Sweet spot)
۷.۴ بهینهسازی هایپرپارامترها:
روشهای جستجو:
-
جستجوی شبکهای (Grid Search): امتحان همه ترکیبها
-
جستجوی تصادفی (Random Search): نمونهگیری تصادفی
-
بهینهسازی بیزی (Bayesian): استفاده از اطلاعات قبلی
-
الگوریتم ژنتیک (Genetic): شبیهسازی فرگشت
-
Hyperband: تخصیص منابع هوشمند
هایپرپارامترهای مهم:
برای XGBoost:
-
learning_rate (η): 0.01-0.3
-
max_depth: 3-10
-
n_estimators: 100-1000
-
subsample: 0.5-1
-
colsample_bytree: 0.5-1
برای شبکه عصبی:
-
learning_rate
-
batch_size
-
epochs
-
optimizer (Adam, SGD)
-
dropout_rate
فصل ۸: استقرار و نگهداری – حیات مدل در تولید
۸.۱ چرخه حیات مدل ML (MLOps):
[توسعه] → [آزمایش] → [استقرار] → [نظارت] → [بازخورد]
↑ ↓
└─────────────────────────────────────────┘
۸.۲ الگوهای استقرار:
الف) استقرار دستهای (Batch):
-
پردازش دورهای
-
مثال: پیشبینی شبانه فروش
ب) استقرار بلادرنگ (Real-time):
-
API-based
-
مثال: تشخیص تقلب لحظهای
ج) استقرار جریانی (Streaming):
-
پردازش پیوسته
-
مثال: تحلیل احساسات توییتر
۸.۳ معماری استقرار:
الگوی پایه:
Client → API Gateway → ML Model → Database → Client
الگوی پیشرفته:
[Client] → [Load Balancer] → [API Server] → [Model Server]
→ [Feature Store] → [Database] → [Monitoring]
۸.۴ چالشهای استقرار:
۱. افت مفهوم (Concept Drift):
-
تغییر توزیع دادهها در زمان
-
تشخیص: نظارت بر دقت، KL divergence
-
مقابله: بازآموزی دورهای
۲. افت داده (Data Drift):
-
تغییر در ویژگیهای ورودی
-
تشخیص: KS test، تحلیل توزیع
۳. مقیاسپذیری (Scalability):
-
Horizontal scaling
-
Containerization (Docker)
-
Orchestration (Kubernetes)
۴. وابستگیها (Dependencies):
-
محیط یکسان (Conda, virtualenv)
-
Containerization
۸.۵ نظارت و نگهداری:
نظارت چه چیزی:
-
عملکرد مدل:
-
دقت، Precision، Recall
-
Latency، Throughput
-
-
دادهها:
-
توزیع ویژگیها
-
مقادیر گمشده
-
outliers
-
-
سختافزار:
-
استفاده از CPU/GPU
-
حافظه
-
شبکه
-
-
هزینهها:
-
هزینه API calls
-
هزینه ذخیرهسازی
-
ابزارهای نظارت:
-
Prometheus + Grafana: نظارت و داشبورد
-
ELK Stack: لاگها
-
MLflow: مدیریت آزمایشها
-
Weights & Biases: ردیابی آزمایشها
فصل ۹: ابزارها و تکنولوژیها – جعبه ابزار دانشمند داده
۹.۱ زبانهای برنامهنویسی:
پایتون (سلطان علم داده):
کتابخانههای اصلی:
-
پردازش داده:
-
Pandas: DataFrame manipulation
-
NumPy: محاسبات عددی
-
Polars: جایگزین سریع Pandas
-
-
مصورسازی:
-
Matplotlib: پایهای و قابل تنظیم
-
Seaborn: آماده برای آمار
-
Plotly: تعاملی
-
Altair: اعلانی
-
-
یادگیری ماشین:
-
Scikit-learn: الگوریتمهای کلاسیک
-
XGBoost/LightGBM/CatBoost: boosting
-
Imbalanced-learn: دادههای نامتعادل
-
-
یادگیری عمیق:
-
TensorFlow/Keras: گوگل
-
PyTorch: متا – محبوب در پژوهش
-
JAX: ترکیب NumPy و autodiff
-
-
NLP:
-
NLTK: ابزارهای پایه
-
spaCy: صنعتی و سریع
-
Transformers (Hugging Face): مدلهای پیشرفته
-
-
تصویر:
-
OpenCV: بینایی کامپیوتر
-
Pillow: پردازش تصویر
-
-
استقرار:
-
FastAPI/Flask: API
-
Streamlit/Dash: داشبورد
-
MLflow: مدیریت مدل
-
R (برای آماردانان):
-
مزیت: تحلیلهای آماری عمیق
-
معایت: سرعت پایینتر، استقضع سختتر
۹.۲ محیطهای توسعه:
نوتبوکها (Notebooks):
-
Jupyter Notebook: کلاسیک
-
JupyterLab: نسل بعدی
-
Google Colab: ابری + GPU رایگان
-
Kaggle Notebooks: با دادههای مسابقه
IDEها:
-
VS Code: سبک + افزونههای عالی
-
PyCharm: کامل اما سنگین
-
RStudio: برای R
۹.۳ پایگاه دادهها:
SQL:
-
PostgreSQL، MySQL، SQLite
-
ضروری برای هر دانشمند داده!
NoSQL:
-
MongoDB (سندمحور)
-
Cassandra (ستونمحور)
-
Redis (کلید-مقدار)
انبار داده (Data Warehouse):
-
Snowflake
-
BigQuery
-
Redshift
-
ClickHouse
دریاچه داده (Data Lake):
-
AWS S3
-
Azure Data Lake
-
Hadoop HDFS
۹.۴ پردازش توزیعشده:
Apache Spark:
-
RDD (Resilient Distributed Dataset): ساختار پایه
-
DataFrame: شبیه Pandas اما توزیعشده
-
MLlib: کتابخانه ML
-
Spark Streaming: پردازش جریانی
Dask: Spark جایگزین در پایتون
Ray: برای یادگیری تقویتی و آموزش توزیعشده
۹.۵ پلتفرمهای ابری:
AWS:
-
S3 (ذخیرهسازی)
-
SageMaker (ML platform)
-
Redshift (انبار داده)
-
EMR (Spark cluster)
Google Cloud:
-
BigQuery (انبار داده)
-
Vertex AI (ML platform)
-
Colab (notebooks)
Azure:
-
Azure ML
-
Databricks (Spark)
-
Synapse Analytics
فصل ۱۰: کاربردهای صنعتی – علم داده در عمل
۱۰.۱ مالی و بانکداری:
کاربردها:
-
تشخیص تقلب (Fraud Detection):
-
الگوریتمها: Isolation Forest, Autoencoder
-
چالش: دادههای بسیار نامتعادل
-
-
امتیازدهی اعتباری (Credit Scoring):
-
XGBoost، Logistic Regression
-
ضرورت تفسیرپذیری
-
-
معاملهگری الگوریتمی:
-
LSTM برای پیشبینی قیمت
-
Reinforcement Learning برای استراتژی
-
-
مدیریت ریسک:
-
Monte Carlo simulation
-
Value at Risk (VaR)
-
-
Previous Post
شیت بندی معماری
-
Next Post
پروژه داروسازی