You aren't a Data Scientist if you never:
-> Promised to do the task in 2h then spent 2 weeks
-> Waited 3 hours appending pd.DataFrames
-> Re-created repo because you've broken it
-> Forget difference between loc and iloc
-> Done "import pandas as np"
If you did all that, you are on the right track.
Trust me, you aren't alone ❤️
-> Promised to do the task in 2h then spent 2 weeks
-> Waited 3 hours appending pd.DataFrames
-> Re-created repo because you've broken it
-> Forget difference between loc and iloc
-> Done "import pandas as np"
If you did all that, you are on the right track.
Trust me, you aren't alone ❤️
😁16❤6
۹ نکته عملی برای تنظیم (Tuning) الگوریتم Gradient Boosting
۱. پارامترهای خیلی زیادی انتخاب نکن
✅ برای ۹۹٪ از کاربردها همین چند پارامتر کفایت میکنن:
learning rate (نرخ یادگیری)
tree depth (عمق درخت)
number of trees (تعداد درختها)
subsample ratio (نسبت نمونهگیری)
L1/L2 regularization (تنظیم منظمسازی برای جلوگیری از بیشبرازش)
📌 توضیح: بعضیها وسوسه میشن همه پارامترها رو تغییر بدن، ولی واقعیت اینه که چند پارامتر کلیدی هستن و بقیه معمولاً تأثیر کمی دارن.
---
۲. به ارتباط بین هایپرپارامترها دقت کن
نرخ یادگیری (learning rate)، عمق درخت (tree depth) و تعداد درختها (n_estimators) خیلی به هم وابستهان.
نرخ یادگیری پایین → نیاز به درختهای بیشتر
درختهای عمیقتر → نیاز به نرخ یادگیری کوچکتر (تا بیشبرازش اتفاق نیفته)
📌 توضیح: یعنی وقتی یکیشو تغییر میدی، باید حواست به بقیه هم باشه.
۳. روش پیشنهادی برای تیونینگ (tuning)
1. تعداد زیادی درخت ثابت بذار (مثلاً ۵۰۰ تا ۱۰۰۰).
2.نرخ یادگیری learning rate، عمق درخت و بقیه پارامترها رو تغییر بده.
3. از early stopping استفاده کن (یعنی اگر ۱۵–۲۰ مرحله بهتر نشد، متوقف کن) → اینطوری بهترین تعداد درخت پیدا میشه.
📌 توضیح: با این روش عملاً به مدل فرصت میدی یاد بگیره ولی بیخود ادامه نده.
۴. نرخ یادگیری (learning rate) رو در مقیاس لگاریتمی تست کن.
حد پایین: 0.001
حد بالا: 0.05
مقدار پیشفرض خوب: 0.01
📌 توضیح: نرخ خیلی کم باعث میشه مدل خیلی کند یاد بگیره و نرخ خیلی زیاد باعث بیشبرازش یا ناپایداری میشه.
---
۵. به اندازه دیتاست دقت کن
دیتاست کوچک → درختهای ساده (عمق ۱–۳)
دیتاست بزرگ → میتونی عمق بیشتر بذاری (۴–۶)
📌 توضیح: چون دیتاست کوچک نمیتونه پیچیدگی زیاد رو پشتیبانی کنه.
---
۶. از L1 و L2 همزمان استفاده نکن
مقدارL2 (reg_lambda): انتخاب پیشفرض، مخصوصاً وقتی ویژگیها همبستگی بالا دارن.
مقدارL1 (reg_alpha): وقتی مطمئنی ویژگیهای بیربط زیادی داری و میخوای مدل خودش انتخاب کنه کدوم رو نگه داره.
📌 توضیح: L2 فقط وزنها رو کوچک میکنه ولی حذف نمیکنه. L1 میتونه بعضی ویژگیها رو صفر کنه
---
۷. اندازه نمونه (subsample) رو خیلی کم نذار
حد بالا: 0.7
حد پایین: 0.1
مقدار پیشفرض خوب: 0.5
📌 توضیح: subsample کمک میکنه مدل روی کل داده overfit نشه، ولی خیلی کم هم باشه دقت از بین میره.
۱. پارامترهای خیلی زیادی انتخاب نکن
✅ برای ۹۹٪ از کاربردها همین چند پارامتر کفایت میکنن:
learning rate (نرخ یادگیری)
tree depth (عمق درخت)
number of trees (تعداد درختها)
subsample ratio (نسبت نمونهگیری)
L1/L2 regularization (تنظیم منظمسازی برای جلوگیری از بیشبرازش)
📌 توضیح: بعضیها وسوسه میشن همه پارامترها رو تغییر بدن، ولی واقعیت اینه که چند پارامتر کلیدی هستن و بقیه معمولاً تأثیر کمی دارن.
---
۲. به ارتباط بین هایپرپارامترها دقت کن
نرخ یادگیری (learning rate)، عمق درخت (tree depth) و تعداد درختها (n_estimators) خیلی به هم وابستهان.
نرخ یادگیری پایین → نیاز به درختهای بیشتر
درختهای عمیقتر → نیاز به نرخ یادگیری کوچکتر (تا بیشبرازش اتفاق نیفته)
📌 توضیح: یعنی وقتی یکیشو تغییر میدی، باید حواست به بقیه هم باشه.
۳. روش پیشنهادی برای تیونینگ (tuning)
1. تعداد زیادی درخت ثابت بذار (مثلاً ۵۰۰ تا ۱۰۰۰).
2.نرخ یادگیری learning rate، عمق درخت و بقیه پارامترها رو تغییر بده.
3. از early stopping استفاده کن (یعنی اگر ۱۵–۲۰ مرحله بهتر نشد، متوقف کن) → اینطوری بهترین تعداد درخت پیدا میشه.
📌 توضیح: با این روش عملاً به مدل فرصت میدی یاد بگیره ولی بیخود ادامه نده.
۴. نرخ یادگیری (learning rate) رو در مقیاس لگاریتمی تست کن.
حد پایین: 0.001
حد بالا: 0.05
مقدار پیشفرض خوب: 0.01
📌 توضیح: نرخ خیلی کم باعث میشه مدل خیلی کند یاد بگیره و نرخ خیلی زیاد باعث بیشبرازش یا ناپایداری میشه.
---
۵. به اندازه دیتاست دقت کن
دیتاست کوچک → درختهای ساده (عمق ۱–۳)
دیتاست بزرگ → میتونی عمق بیشتر بذاری (۴–۶)
📌 توضیح: چون دیتاست کوچک نمیتونه پیچیدگی زیاد رو پشتیبانی کنه.
---
۶. از L1 و L2 همزمان استفاده نکن
مقدارL2 (reg_lambda): انتخاب پیشفرض، مخصوصاً وقتی ویژگیها همبستگی بالا دارن.
مقدارL1 (reg_alpha): وقتی مطمئنی ویژگیهای بیربط زیادی داری و میخوای مدل خودش انتخاب کنه کدوم رو نگه داره.
📌 توضیح: L2 فقط وزنها رو کوچک میکنه ولی حذف نمیکنه. L1 میتونه بعضی ویژگیها رو صفر کنه
---
۷. اندازه نمونه (subsample) رو خیلی کم نذار
حد بالا: 0.7
حد پایین: 0.1
مقدار پیشفرض خوب: 0.5
📌 توضیح: subsample کمک میکنه مدل روی کل داده overfit نشه، ولی خیلی کم هم باشه دقت از بین میره.
❤24👌4
نشت داده (Data Leakage)
یه بحث و چالش خیلی مهم که خیلی باید بهش به عنوان یه تحلیلگر داده در فرآیند مانیتورینگ و MLOps بهش توجه کنی.
نشت داده در یادگیری ماشین یعنی وقتی اطلاعاتی از بیرونِ فرایند آموزش بهطور ناخواسته وارد مدل میشود و باعث میشود مدل در زمان آموزش خیلی خوب عمل کند، اما در عمل و روی دادهی واقعی/جدید به شدت ضعیف شود.
مثالهای رایج از نشت داده:
1. استفاده از اطلاعات آینده در آموزش
مثلا در پیشبینی فروش ماه آینده، بهطور اشتباه دادههای ماه آینده (که در لحظهی پیشبینی در دسترس نیستند) در ویژگیها قرار داده شوند.
نکته:
🔹 در مسائل سری زمانی، پیشبینی معمولاً بر اساس گذشتهی همان متغیر (فروش) و گاهی متغیرهای کمکی (ویژگیهای بیرونی مثل قیمت، تعطیلات، تبلیغات و ...) انجام میشه.اگر در ساخت ویژگیها، از کل سری استفاده کنید.
مثلا moving average را روی کل داده (شامل روزهای آینده) حساب کنید و بعد به مدل بدهید.
2. نرمالسازی یا Feature Scaling قبل از تقسیم داده
اگر کل داده (Train + Test) را با هم نرمال کنیم، اطلاعات تست به مدل لو میرود.
3. وجود اطلاعات هدف در ویژگیها
مثلا وقتی ستون FinalPrice (که وابسته به Target است) به اشتباه به عنوان ویژگی وارد مدل شود.
.4. ترتیب اشتباه در سریهای زمانی
اگر دادههای زمان آینده در آموزش داده شوند (مثلاً در Cross Validation معمولی بدون توجه به ترتیب زمانی).
راهحلها برای جلوگیری:
✅ همیشه داده را قبل از هر پیشپردازش به Train/Test تقسیم کن.
✅ در مسائل سریزمانی ترتیب زمانی را حفظ کن.
✅ بررسی کن که هیچ فیچری وابسته مستقیم یا غیرمستقیم به Target نباشد.
✅ در Cross-validation، از روشهای مناسب (مثلاً TimeSeriesSplit) استفاده کن.
یه بحث و چالش خیلی مهم که خیلی باید بهش به عنوان یه تحلیلگر داده در فرآیند مانیتورینگ و MLOps بهش توجه کنی.
نشت داده در یادگیری ماشین یعنی وقتی اطلاعاتی از بیرونِ فرایند آموزش بهطور ناخواسته وارد مدل میشود و باعث میشود مدل در زمان آموزش خیلی خوب عمل کند، اما در عمل و روی دادهی واقعی/جدید به شدت ضعیف شود.
مثالهای رایج از نشت داده:
1. استفاده از اطلاعات آینده در آموزش
مثلا در پیشبینی فروش ماه آینده، بهطور اشتباه دادههای ماه آینده (که در لحظهی پیشبینی در دسترس نیستند) در ویژگیها قرار داده شوند.
نکته:
🔹 در مسائل سری زمانی، پیشبینی معمولاً بر اساس گذشتهی همان متغیر (فروش) و گاهی متغیرهای کمکی (ویژگیهای بیرونی مثل قیمت، تعطیلات، تبلیغات و ...) انجام میشه.اگر در ساخت ویژگیها، از کل سری استفاده کنید.
مثلا moving average را روی کل داده (شامل روزهای آینده) حساب کنید و بعد به مدل بدهید.
2. نرمالسازی یا Feature Scaling قبل از تقسیم داده
اگر کل داده (Train + Test) را با هم نرمال کنیم، اطلاعات تست به مدل لو میرود.
3. وجود اطلاعات هدف در ویژگیها
مثلا وقتی ستون FinalPrice (که وابسته به Target است) به اشتباه به عنوان ویژگی وارد مدل شود.
.4. ترتیب اشتباه در سریهای زمانی
اگر دادههای زمان آینده در آموزش داده شوند (مثلاً در Cross Validation معمولی بدون توجه به ترتیب زمانی).
راهحلها برای جلوگیری:
✅ همیشه داده را قبل از هر پیشپردازش به Train/Test تقسیم کن.
✅ در مسائل سریزمانی ترتیب زمانی را حفظ کن.
✅ بررسی کن که هیچ فیچری وابسته مستقیم یا غیرمستقیم به Target نباشد.
✅ در Cross-validation، از روشهای مناسب (مثلاً TimeSeriesSplit) استفاده کن.
👌14❤3👏3😁1
تفاوت های کلیدی XGBoost vs LightGBM vs CatBoost
🟢 مدیریت ویژگیهای دستهای (Categorical Features)
الگوریتم XGBoost به صورت “واقعی” با دادههای دستهای کار نمیکند. یعنی اگر یک ستون مثل Gender یا City داشته باشید، ابتدا باید آن را به اعداد تبدیل کنید (مثلاً با Label Encoding یا One-Hot Encoding) تا مدل بتواند آن را پردازش کند.
در LightGBM میتوانید نام ستونهای دستهای را مستقیم به مدل بدهید (categorical_feature=[...]).
الگوریتم داخلی خودش بهترین تقسیم را پیدا میکند (optimal split) بدون اینکه لازم باشد از one-hot یا label encoding استفاده کنید.
نکته: الگوریتم داخلی Leaf-wise در LightGBM ممکن است کمی overfitting بدهد، مخصوصاً در دادههای کوچک.
🔶 الگوریتم CatBoost طوری طراحی شده که ویژگیهای دستهای را بهترین شکل ممکن مدیریت کند:
1. از Target Encoding استفاده میکند: به جای تبدیل مستقیم به عدد، مدل به طور هوشمند میبیند هر دسته چه تاثیری روی هدف (target) دارد.
2. در کنار آن، از One-Hot Encoding برای دستههای با تعداد کم استفاده میکند.
🟢 استراتژی رشد درخت (Tree Growth Strategy)
الگوریتم XGBoost: رشد درختها سطح به سطح (by depth).
الگوریتم LightGBM: رشد به صورت leaf-wise (با محدودیت عمق) – سریع اما احتمال overfitting دارد.
الگوریتم CatBoost: رشد متقارن سطح به سطح – درختان متوازن و تعمیم بهتر.
🟢 الگوریتم انتخاب تقسیم (Split-Finding Algorithm)
مدل XGBoost: روش greedy کلاسیک، با منطق sparsity-aware.
الگوریتم LightGBM: از GOSS (Gradient-based One-Side Sampling) استفاده میکند – نمونههای با گرادیان کم را رد میکند تا سرعت افزایش یابد.
الگوریتم catboost : از MVS (Minimal Variance Sampling) استفاده میکند – تقسیمهای دقیق و پایدارتر.
🟢 پشتیبانی از GPU و توزیع شده (Distributed & GPU Support)
الگوریتم XGBoost: پشتیبانی بومی از GPU و آموزش توزیع شده.
الگوریتم LightGBM: مشابه XGBoost – سریع و کارآمد روی GPU.
الگوریتم CatBoost: GPU قابل استفاده است (task_type='GPU') ولی ممکن است نیاز به تنظیمات بیشتری داشته باشد.
📌 راهنمای انتخاب الگوریتم:
الگوریتم CatBoost: برای دادههای سنگین دستهای یا زمانی که میخواهید مدل با تنظیمات پیشفرض خوب کار کند.
الگوریتم LightGBM: برای آزمایشهای سریع و دادههای بزرگ.
الگوریتم XGBoost: وقتی که tuning دقیق و کنترل کامل اهمیت دارد.
🟢 مدیریت ویژگیهای دستهای (Categorical Features)
الگوریتم XGBoost به صورت “واقعی” با دادههای دستهای کار نمیکند. یعنی اگر یک ستون مثل Gender یا City داشته باشید، ابتدا باید آن را به اعداد تبدیل کنید (مثلاً با Label Encoding یا One-Hot Encoding) تا مدل بتواند آن را پردازش کند.
در LightGBM میتوانید نام ستونهای دستهای را مستقیم به مدل بدهید (categorical_feature=[...]).
الگوریتم داخلی خودش بهترین تقسیم را پیدا میکند (optimal split) بدون اینکه لازم باشد از one-hot یا label encoding استفاده کنید.
نکته: الگوریتم داخلی Leaf-wise در LightGBM ممکن است کمی overfitting بدهد، مخصوصاً در دادههای کوچک.
🔶 الگوریتم CatBoost طوری طراحی شده که ویژگیهای دستهای را بهترین شکل ممکن مدیریت کند:
1. از Target Encoding استفاده میکند: به جای تبدیل مستقیم به عدد، مدل به طور هوشمند میبیند هر دسته چه تاثیری روی هدف (target) دارد.
2. در کنار آن، از One-Hot Encoding برای دستههای با تعداد کم استفاده میکند.
🟢 استراتژی رشد درخت (Tree Growth Strategy)
الگوریتم XGBoost: رشد درختها سطح به سطح (by depth).
الگوریتم LightGBM: رشد به صورت leaf-wise (با محدودیت عمق) – سریع اما احتمال overfitting دارد.
الگوریتم CatBoost: رشد متقارن سطح به سطح – درختان متوازن و تعمیم بهتر.
🟢 الگوریتم انتخاب تقسیم (Split-Finding Algorithm)
مدل XGBoost: روش greedy کلاسیک، با منطق sparsity-aware.
الگوریتم LightGBM: از GOSS (Gradient-based One-Side Sampling) استفاده میکند – نمونههای با گرادیان کم را رد میکند تا سرعت افزایش یابد.
الگوریتم catboost : از MVS (Minimal Variance Sampling) استفاده میکند – تقسیمهای دقیق و پایدارتر.
🟢 پشتیبانی از GPU و توزیع شده (Distributed & GPU Support)
الگوریتم XGBoost: پشتیبانی بومی از GPU و آموزش توزیع شده.
الگوریتم LightGBM: مشابه XGBoost – سریع و کارآمد روی GPU.
الگوریتم CatBoost: GPU قابل استفاده است (task_type='GPU') ولی ممکن است نیاز به تنظیمات بیشتری داشته باشد.
📌 راهنمای انتخاب الگوریتم:
الگوریتم CatBoost: برای دادههای سنگین دستهای یا زمانی که میخواهید مدل با تنظیمات پیشفرض خوب کار کند.
الگوریتم LightGBM: برای آزمایشهای سریع و دادههای بزرگ.
الگوریتم XGBoost: وقتی که tuning دقیق و کنترل کامل اهمیت دارد.
❤17👌2🔥1
مدل Hyena — انقلاب در یادگیری توالیهای بلند
یکی از چالشهای بزرگ مدلهای زبانی و سریزمانی اینه که طول دنباله (sequence length) هر چی بیشتر میشه، مدلهای معمول مثل Transformer دیگه نمیتونن خوب کار کنن. چون مکانیزم attention تو Transformer با افزایش طول، هزینهاش بهصورت n2 رشد میکنه — یعنی اگر بخوای مثلاً یه کتاب کامل یا سیگنال EEG طولانی رو پردازش کنی، خیلی گرون تموم میشه!
مدل Hyena که توسط تیم پژوهشی استنفورد معرفی شد، اومده این مشکل رو حل کنه.
به جای اینکه مثل Transformer بین همهی کلمات یا نقاط ارتباط مستقیم برقرار کنه، از فیلترهای سلسلهمراتبی و شبهکانولوشنی استفاده میکنه تا وابستگیهای بلندمدت رو یاد بگیره — اما با پیچیدگی زمانی فقط nlogn ! 🔥
نتیجه؟
مدلهای Hyena میتونن با حافظه کمتر، توالیهایی چند برابر طولانیتر رو بفهمن.
در NLP برای درک متنهای طولانی و در دادههای سری زمانی (مثل ترافیک، حسگرها، EEG، و دادههای مالی) کاربرد داره.
جالبتر اینکه کیفیت خروجی تقریباً همتراز یا حتی بهتر از Transformerهاست ولی با هزینهی محاسباتی خیلی پایینتر.
🔹 اگر بخوای یه مدل سبک و مقیاسپذیر برای دادههای ترتیبی طولانی بسازی، Hyena گزینهی بسیار هوشمندانهایه.
یکی از چالشهای بزرگ مدلهای زبانی و سریزمانی اینه که طول دنباله (sequence length) هر چی بیشتر میشه، مدلهای معمول مثل Transformer دیگه نمیتونن خوب کار کنن. چون مکانیزم attention تو Transformer با افزایش طول، هزینهاش بهصورت n2 رشد میکنه — یعنی اگر بخوای مثلاً یه کتاب کامل یا سیگنال EEG طولانی رو پردازش کنی، خیلی گرون تموم میشه!
مدل Hyena که توسط تیم پژوهشی استنفورد معرفی شد، اومده این مشکل رو حل کنه.
به جای اینکه مثل Transformer بین همهی کلمات یا نقاط ارتباط مستقیم برقرار کنه، از فیلترهای سلسلهمراتبی و شبهکانولوشنی استفاده میکنه تا وابستگیهای بلندمدت رو یاد بگیره — اما با پیچیدگی زمانی فقط nlogn ! 🔥
نتیجه؟
مدلهای Hyena میتونن با حافظه کمتر، توالیهایی چند برابر طولانیتر رو بفهمن.
در NLP برای درک متنهای طولانی و در دادههای سری زمانی (مثل ترافیک، حسگرها، EEG، و دادههای مالی) کاربرد داره.
جالبتر اینکه کیفیت خروجی تقریباً همتراز یا حتی بهتر از Transformerهاست ولی با هزینهی محاسباتی خیلی پایینتر.
🔹 اگر بخوای یه مدل سبک و مقیاسپذیر برای دادههای ترتیبی طولانی بسازی، Hyena گزینهی بسیار هوشمندانهایه.
👌6❤3🔥2
Forwarded from Data world with Mina (Mina Ra)
ed3bookaug20_2024.pdf
22.1 MB
کتاب فوقالعاده پردازش گفتار
ویرایش سوم
نوشته دن جورافسکی و جیمز اچ. مارتین
اگر به NLP، هوش مصنوعی یا شناسایی گفتار علاقهمند هستید، این کتاب یک گنجینه است. از مبدلها و مدلهای زبانی بزرگ گرفته تا ترجمه ماشینی و چتباتها، پر از بینشهای پیشرفته و منابع کاربردی است.
ویرایش سوم
نوشته دن جورافسکی و جیمز اچ. مارتین
اگر به NLP، هوش مصنوعی یا شناسایی گفتار علاقهمند هستید، این کتاب یک گنجینه است. از مبدلها و مدلهای زبانی بزرگ گرفته تا ترجمه ماشینی و چتباتها، پر از بینشهای پیشرفته و منابع کاربردی است.
❤8
Forwarded from دکتر شیری
Media is too big
VIEW IN TELEGRAM
اوزجان خواننده و هنرپیشه مشهور ترکیه در این ۱۵۰ ثانیه، داستانی حیرت آور از زمانی نقل میکند که در آلمان کارگری میکرده و زندگیش تغییر میکند و انگاری میخواهد بگوید گاهی خداوند است که بازی را میچیند ؛
در این صورت نیازی به اینهمه
«از خودمچکر بودن» نیست دیگر.
@drshiri
در این صورت نیازی به اینهمه
«از خودمچکر بودن» نیست دیگر.
@drshiri
❤21👌7👍1
چت گروهی به هوش مصنوعی ChatGPT اضافه شد؛ اما فقط در ۴ کشور
اوپناِیآی در حال آزمایش یکی از بزرگترین قابلیتهای ChatGPT در چند بازار منتخب است؛ قابلیتی که امکان چت گروهی با ChatGPT را برای نخستینبار فراهم میکند.
این تغییر، تحول مهمی در شیوهی استفاده از چتباتها محسوب میشود. مایکروسافت نیز اخیراً مفهوم مشابهی را در کوپایلت معرفی کرده بود.
چتهای گروهی بر پایهی مدل جدید GPT-5.1 اجرا میشوند و محدودیت مصرف تنها زمانی محاسبه میشود که ChatGPT پاسخی ارسال کند. این ساختار اجازه میدهد اعضای گروه بدون نیاز به خطابکردن مداوم چتبات گفتوگو کنند و با هر پیام به محدودیت مصرف نرسند.
در حال حاضر، این قابلیت تنها در ژاپن، نیوزیلند، کرهی جنوبی و تایوان در حال آزمایش است. اوپنایآی میگوید بر اساس بازخوردهای اولیه، نحوهی کارکرد چت گروهی اصلاح میشود و بهتدریج در دسترس کاربران مناطق دیگر هم قرار میگیرد.
اوپناِیآی در حال آزمایش یکی از بزرگترین قابلیتهای ChatGPT در چند بازار منتخب است؛ قابلیتی که امکان چت گروهی با ChatGPT را برای نخستینبار فراهم میکند.
این تغییر، تحول مهمی در شیوهی استفاده از چتباتها محسوب میشود. مایکروسافت نیز اخیراً مفهوم مشابهی را در کوپایلت معرفی کرده بود.
چتهای گروهی بر پایهی مدل جدید GPT-5.1 اجرا میشوند و محدودیت مصرف تنها زمانی محاسبه میشود که ChatGPT پاسخی ارسال کند. این ساختار اجازه میدهد اعضای گروه بدون نیاز به خطابکردن مداوم چتبات گفتوگو کنند و با هر پیام به محدودیت مصرف نرسند.
در حال حاضر، این قابلیت تنها در ژاپن، نیوزیلند، کرهی جنوبی و تایوان در حال آزمایش است. اوپنایآی میگوید بر اساس بازخوردهای اولیه، نحوهی کارکرد چت گروهی اصلاح میشود و بهتدریج در دسترس کاربران مناطق دیگر هم قرار میگیرد.
❤5👌2
Forwarded from Data world with Mina (Mina Ra)
«🤖ترانسفورمر» یک مدل یادگیری عمیق است که مکانیسم توجه به خود، بهطور متفاوتی اهمیت هر بخش از دادههای ورودی را وزن میکند. عمدتاً در زمینههای پردازش زبان طبیعی (NLP) و بینایی رایانه ای (CV) استفاده میشود.
✅مانند شبکه عصبی بازگشتی (RNN)، ترانسفورمرها برای مدیریت دادههای ورودی متوالی، مانند زبان طبیعی، برای کارهایی مانند ترجمه و خلاصه متن طراحی شدهاند. با این حال، برخلاف شبکه عصبی بازگشتیها، ترانسفورمرها لزوماً دادهها را به ترتیب پردازش نمیکنند. در عوض، مکانیسم توجه زمینه را برای هر موقعیتی در دنباله ورودی فراهم میکند. به عنوان مثال، اگر داده ورودی یک جمله زبان طبیعی باشد، ترانسفورمر نیازی به پردازش ابتدای جمله قبل از پایان ندارد.
📚این ویژگی اجازه میدهد تا موازی سازی بیشتر از شبکه عصبی بازگشتیها باشد و بنابراین زمان آموزش را کاهش میدهد.
دادههای بزرگتر از زمانی که ممکن بود را میدهد. این منجر به توسعه سیستمهای از پیش آموزش دیده مانند مدل Bert و
GPT( Generative Pre-trained Transformer)
شده است.
آموزش ترانسفورمرها
در کانال یوتیوب
mina rabti
https://m.youtube.com/channel/UCvxKAC5IdZp6U_75sre0CEw
✅مانند شبکه عصبی بازگشتی (RNN)، ترانسفورمرها برای مدیریت دادههای ورودی متوالی، مانند زبان طبیعی، برای کارهایی مانند ترجمه و خلاصه متن طراحی شدهاند. با این حال، برخلاف شبکه عصبی بازگشتیها، ترانسفورمرها لزوماً دادهها را به ترتیب پردازش نمیکنند. در عوض، مکانیسم توجه زمینه را برای هر موقعیتی در دنباله ورودی فراهم میکند. به عنوان مثال، اگر داده ورودی یک جمله زبان طبیعی باشد، ترانسفورمر نیازی به پردازش ابتدای جمله قبل از پایان ندارد.
📚این ویژگی اجازه میدهد تا موازی سازی بیشتر از شبکه عصبی بازگشتیها باشد و بنابراین زمان آموزش را کاهش میدهد.
دادههای بزرگتر از زمانی که ممکن بود را میدهد. این منجر به توسعه سیستمهای از پیش آموزش دیده مانند مدل Bert و
GPT( Generative Pre-trained Transformer)
شده است.
آموزش ترانسفورمرها
در کانال یوتیوب
mina rabti
https://m.youtube.com/channel/UCvxKAC5IdZp6U_75sre0CEw
❤15
مساله سری زمانی مطلق نیست ولی زمان تاثیر داره.
من مدتیه که خیلی عمیق تر از قبل دارم رو پروژه های یادگیری ماشین از نوع سری زمانی و مباحث پیش بینی کار میکنم.
در مباحث پیش بینی برای آینده چیزی که ظاهرا به نظر میرسه که اینه که فیچر زمان خیلی مهمه(حالا بسته به نوع بیزینس) .
از طرفی تو پروژه های سری زمانی در نظر گرفتن زمان برای مدلهای sequence( خانواده Rnn) مثل lstm اینجوریه که باید index باشه یعنی مثلا برای هر روز (یا هر ساعت و..) یک سطر مشخص داشته باشیم که براساس اون بتونیم برای اون آیتم تخمین آینده داشته باشیم.
و اگر در یک آبجکت زمانی مقداری تعریف نشده براساس مفهوم بیزینس، مثلا صفر یا عدد دیگه تعریف کنیم.
در دوره ها و پروژه ها هم معمولا داده ها نسبتا تمیزه و بیشتر تمرکز رو مدل و پارامترها و روشهاست(یکم زیادی شده) و کمتر رو پیش پردازش و آماده سازی داده، زمان میگذارند.
ولی تو کار با یه سری سطر و ستون جدول و فیلدهای به هم ریخته مواجه میشی که تحلیل دقیق تو فقط میتونه اونو به سمت مدل و کشف الگو سوق بده.
در پروژه واقعی داری درک میکنی فصل و زمان تو این بیزینس تاثیر داره ولی برای یک آبجکت زمانی ما فقط یه سطر نداریم. مثلا تو یه روز چندین نوع محصول داریم برای فروش.
یا چندین آیتم خراب داریم برای پروژه های pdm. برای هر نوع آیتم هم که داده به اندازه کافی ممکنه نداشته باشیم که جداگانه مدل بزنیم.
یه داده باید بسازیم برای پیش بینی آینده هر آیتم و تمام.. خوب چیکار کنیم؟
مساله سری زمانی مطلق نیست ولی زمان تاثیر داره.
اولا که اگر داده خوب ندارید(در مورد این باید بعدها بگم) و نمیشه نتایج خوبی گرفت، حتما مطرح کنید و مسوولیت پروژه رو قبول نکنید. قرار نیست Ml همیشه راه حل باشه.
دوما فیچر هدف و خروجی رو همون اول تعیین کنید. یعنی فکر کنید مشتری و کارفرما شما میخواد چی ببینه و چی باید بسازید.
دوما اگر فیچرها خوبه حتما زمان رو به عنوان فیچر بچسبونید به داده : فصل و ماه و شاید سال رو جدا کنید.
موقع تقسیم داده آموزشی و تست آخرین سطرها ( مثلا آخرین خرابی ها) رو داده تست بگیرید از Train test Split کتابخانه sklearn استفاده نکنید.
حواستون به نشت داده و Data Leakage باشه که قبلا هم توضیح دادم.
و آخر اینکه مساله رو پیچیده نکنید. 😊 با AI ها بعد از تحلیل خودتون مشورت کنید. چون خیلی شما رو به خطا میندازن.
و
آخر اینکه عاشق باشید. عاشق شغلتون❤️
من مدتیه که خیلی عمیق تر از قبل دارم رو پروژه های یادگیری ماشین از نوع سری زمانی و مباحث پیش بینی کار میکنم.
در مباحث پیش بینی برای آینده چیزی که ظاهرا به نظر میرسه که اینه که فیچر زمان خیلی مهمه(حالا بسته به نوع بیزینس) .
از طرفی تو پروژه های سری زمانی در نظر گرفتن زمان برای مدلهای sequence( خانواده Rnn) مثل lstm اینجوریه که باید index باشه یعنی مثلا برای هر روز (یا هر ساعت و..) یک سطر مشخص داشته باشیم که براساس اون بتونیم برای اون آیتم تخمین آینده داشته باشیم.
و اگر در یک آبجکت زمانی مقداری تعریف نشده براساس مفهوم بیزینس، مثلا صفر یا عدد دیگه تعریف کنیم.
در دوره ها و پروژه ها هم معمولا داده ها نسبتا تمیزه و بیشتر تمرکز رو مدل و پارامترها و روشهاست(یکم زیادی شده) و کمتر رو پیش پردازش و آماده سازی داده، زمان میگذارند.
ولی تو کار با یه سری سطر و ستون جدول و فیلدهای به هم ریخته مواجه میشی که تحلیل دقیق تو فقط میتونه اونو به سمت مدل و کشف الگو سوق بده.
در پروژه واقعی داری درک میکنی فصل و زمان تو این بیزینس تاثیر داره ولی برای یک آبجکت زمانی ما فقط یه سطر نداریم. مثلا تو یه روز چندین نوع محصول داریم برای فروش.
یا چندین آیتم خراب داریم برای پروژه های pdm. برای هر نوع آیتم هم که داده به اندازه کافی ممکنه نداشته باشیم که جداگانه مدل بزنیم.
یه داده باید بسازیم برای پیش بینی آینده هر آیتم و تمام.. خوب چیکار کنیم؟
مساله سری زمانی مطلق نیست ولی زمان تاثیر داره.
اولا که اگر داده خوب ندارید(در مورد این باید بعدها بگم) و نمیشه نتایج خوبی گرفت، حتما مطرح کنید و مسوولیت پروژه رو قبول نکنید. قرار نیست Ml همیشه راه حل باشه.
دوما فیچر هدف و خروجی رو همون اول تعیین کنید. یعنی فکر کنید مشتری و کارفرما شما میخواد چی ببینه و چی باید بسازید.
دوما اگر فیچرها خوبه حتما زمان رو به عنوان فیچر بچسبونید به داده : فصل و ماه و شاید سال رو جدا کنید.
موقع تقسیم داده آموزشی و تست آخرین سطرها ( مثلا آخرین خرابی ها) رو داده تست بگیرید از Train test Split کتابخانه sklearn استفاده نکنید.
حواستون به نشت داده و Data Leakage باشه که قبلا هم توضیح دادم.
و آخر اینکه مساله رو پیچیده نکنید. 😊 با AI ها بعد از تحلیل خودتون مشورت کنید. چون خیلی شما رو به خطا میندازن.
و
آخر اینکه عاشق باشید. عاشق شغلتون❤️
❤10👌6
Forwarded from Data world with Mina (Mina Ra)
چرا پیرسون برای روابط غیرخطی مناسب نیست؟
همبستگی پیرسون تنها تغییرات خطی را اندازهگیری میکند. اگر دادهها دارای رابطه غیرخطی باشند، پیرسون نمیتواند آن را به درستی تشخیص دهد، زیرا این روش بر اساس محاسبه میانگین و انحراف معیار عمل میکند. در مقابل، همبستگی اسپیرمن که بر اساس رتبهبندی دادهها است، میتواند روابط غیرخطی را نیز به خوبی شناسایی کند.
به عنوان مثال اگر رابطه بین رشد جمعیت و مصرف انرژی که به صورت نمایی و لگاریتمی است را بررسی کنیم، همبستگی اسپیرمن مناسب تر است
همبستگی پیرسون تنها تغییرات خطی را اندازهگیری میکند. اگر دادهها دارای رابطه غیرخطی باشند، پیرسون نمیتواند آن را به درستی تشخیص دهد، زیرا این روش بر اساس محاسبه میانگین و انحراف معیار عمل میکند. در مقابل، همبستگی اسپیرمن که بر اساس رتبهبندی دادهها است، میتواند روابط غیرخطی را نیز به خوبی شناسایی کند.
به عنوان مثال اگر رابطه بین رشد جمعیت و مصرف انرژی که به صورت نمایی و لگاریتمی است را بررسی کنیم، همبستگی اسپیرمن مناسب تر است
👍19👌4❤3
گاهی میبینم دوستانی که تازه وارد مسیر دیتا ساینس میشوند، برای مشاوره و منتورینگ سراغ هر کسی میروند؛ فقط چون خوب حرف میزند، یا محتوای زیادی تولید میکند.
اما واقعیت این است که در این حوزه، حرف کافی نیست. تجربه عملیست که شخصیت یک منتور را میسازد.
اگر میخواهید وقت و انرژیتان تلف نشود، فقط به یک نکته دقت کنید:
منتوری را انتخاب کنید که حداقل یک کار Production واقعی انجام داده باشد.
منظورم یک کار اجرایی درست است؛ پروژهای که خروجی داشته و واقعاً در یک سازمان، محصول یا سرویس استفاده شده باشد.
آدمی که سالهاست فقط وقت دارد هر روز مشاوره بدهد، لایو برود، محتوا تولید کند و در عمل درگیر هیچ پروژه واقعی نیست… طبیعی است که نمیتواند تجربهای را منتقل کند که خودش لمس نکرده باشد.
دیتا ساینس دنیای تئوریها نیست؛
دنیای کار اجرایی، پیادهسازی، خطا، اصلاح، Production، و نتایج واقعی است.
اگر دنبال پیشرفتید،
منتوری را انتخاب کنید که رد پایش در یک پروژه واقعی دیده شود. همین.
اما واقعیت این است که در این حوزه، حرف کافی نیست. تجربه عملیست که شخصیت یک منتور را میسازد.
اگر میخواهید وقت و انرژیتان تلف نشود، فقط به یک نکته دقت کنید:
منتوری را انتخاب کنید که حداقل یک کار Production واقعی انجام داده باشد.
منظورم یک کار اجرایی درست است؛ پروژهای که خروجی داشته و واقعاً در یک سازمان، محصول یا سرویس استفاده شده باشد.
آدمی که سالهاست فقط وقت دارد هر روز مشاوره بدهد، لایو برود، محتوا تولید کند و در عمل درگیر هیچ پروژه واقعی نیست… طبیعی است که نمیتواند تجربهای را منتقل کند که خودش لمس نکرده باشد.
دیتا ساینس دنیای تئوریها نیست؛
دنیای کار اجرایی، پیادهسازی، خطا، اصلاح، Production، و نتایج واقعی است.
اگر دنبال پیشرفتید،
منتوری را انتخاب کنید که رد پایش در یک پروژه واقعی دیده شود. همین.
❤34👏14👌8👍2
یلداتون مبارک 🌼🌻هر بهانه ای که باعث بشه قسمتهای قشنگ فرهنگ ایران عزیزمون زنده باشه زیباست❤️❤️❤️ عمرتون و شادی هاتون طولانی
❤43🙏5🔥2
ما در هلدینگ ماموت به دنبال جذب یک کارشناس هوش تجاری (Business Intelligence) توانمند هستیم تا در طراحی و توسعه داشبوردهای مدیریتی و تحلیل دادهها در کنار تیم ما فعالیت کند.
اگر به ابزارهای هوش تجاری در اکوسیستم مایکروسافت مانند SSIS و SSAS تسلط دارید، سابقه طراحی داشبورد با Power BI را دارید و به یکپارچهسازی دادهها از منابع مختلف علاقهمند هستید، این موقعیت شغلی میتواند برای شما مناسب باشد.
ما به دنبال فردی هستیم که از مواجهه با چالشهای فنی متنوع و مسائل پیچیده دادهای استقبال کند، رویکرد تحلیلی داشته باشد و بتواند راهحلهای مؤثر و قابل اجرا ارائه دهد.
در صورتیکه تمایل به همکاری دارید خوشحال میشیم شما رو در تیم خودمون داشته باشیم. لطفا رزومه خود را به Minarabti32@gmail.com
ارسال کنید.
اگر به ابزارهای هوش تجاری در اکوسیستم مایکروسافت مانند SSIS و SSAS تسلط دارید، سابقه طراحی داشبورد با Power BI را دارید و به یکپارچهسازی دادهها از منابع مختلف علاقهمند هستید، این موقعیت شغلی میتواند برای شما مناسب باشد.
ما به دنبال فردی هستیم که از مواجهه با چالشهای فنی متنوع و مسائل پیچیده دادهای استقبال کند، رویکرد تحلیلی داشته باشد و بتواند راهحلهای مؤثر و قابل اجرا ارائه دهد.
در صورتیکه تمایل به همکاری دارید خوشحال میشیم شما رو در تیم خودمون داشته باشیم. لطفا رزومه خود را به Minarabti32@gmail.com
ارسال کنید.
🔥2👌2
Forwarded from S.soltani
دعوت به همکاری – مهندس کامپیوتر / هوش مصنوعی (Python)
یک تیم فناور مستقر در شهرک علمی و تحقیقاتی اصفهان جهت تکمیل تیم فنی خود در یک پروژه صنعتی در حوزه پایش و بهینهسازی فرآیندهای تصفیه آب، از علاقهمندان واجد شرایط دعوت به همکاری مینماید.
زمینه همکاری:
توسعه مدلهای دادهمحور و الگوریتمهای تصمیمیار برای سیستمهای صنعتی
مهارتهای مورد انتظار:
تسلط به Python
آشنایی با مفاهیم Machine Learning / Data Analysis
توانایی پیادهسازی الگوریتمهای بهینهسازی
علاقهمند به کار بینرشتهای (صنعت + داده)
شرایط همکاری:
نوع همکاری: تماموقت با ساعات کاری منعطف
محل فعالیت: شهرک علمی و تحقیقاتی اصفهان(خمینی شهر)
حقوق و نحوه همکاری: توافقی (متناسب با سطح تخصص و نوع همکاری)
در صورت علاقه به همکاری از طریق زیر با ما در ارتباط باشید
@Sa94soltani
09213523893
یک تیم فناور مستقر در شهرک علمی و تحقیقاتی اصفهان جهت تکمیل تیم فنی خود در یک پروژه صنعتی در حوزه پایش و بهینهسازی فرآیندهای تصفیه آب، از علاقهمندان واجد شرایط دعوت به همکاری مینماید.
زمینه همکاری:
توسعه مدلهای دادهمحور و الگوریتمهای تصمیمیار برای سیستمهای صنعتی
مهارتهای مورد انتظار:
تسلط به Python
آشنایی با مفاهیم Machine Learning / Data Analysis
توانایی پیادهسازی الگوریتمهای بهینهسازی
علاقهمند به کار بینرشتهای (صنعت + داده)
شرایط همکاری:
نوع همکاری: تماموقت با ساعات کاری منعطف
محل فعالیت: شهرک علمی و تحقیقاتی اصفهان(خمینی شهر)
حقوق و نحوه همکاری: توافقی (متناسب با سطح تخصص و نوع همکاری)
در صورت علاقه به همکاری از طریق زیر با ما در ارتباط باشید
@Sa94soltani
09213523893
❤3👍1