Deep Time
3.78K subscribers
101 photos
10 videos
7 files
298 links
Machine Learning 💻 Quantitative Finance💲Time Series 📈 Artificial Intelligence 🤖Data Science 📚 Startup 🚀
Download Telegram
مسابقه 100 هزار دلاری Kaggle برای پیشبینی Volatility در بازار های مالی

برای استفاده از متریال و بحث های این مسابقات (و نه لزوما شرکت در مسابقه)، مثل هر پروژه دیگری در حوزه دیتاساینس و دیپ لرنینگ نیاز هست که Domain Expertise داشته باشید و نسبت به حوزه اون پروژه تسلط پیدا کنید.
اگر با مفاهیم بازار های مالی مثل Option و Volatility آشنا نیستید به لینک های زیر که برگزار کننده مسابقه قرار داده میتونه مفید باشه:
Notebook to start
Introduction to financial markets and instruments - Kaggle edition
2
از معجزات Huggingface و transformer ها برای کار ترجمه

"few years ago, I almost ACCIDENTALLY ran up a $30,000 bill on Google's Translate API. Now I do it for free in 3 lines of code with huggingface pipelines."

https://twitter.com/_nateraw/status/1431057101992841224?s=20
👍2
نکته ۱، سری زمانی

از مهم ترین ملاحظات در مدلسازی برای پیشبینی سری زمانی این هست که ما shuffle نکنیم (shuffle = False) و همیشه داده های test مربوط به یک دور زمانی جدید تر نسب به داده های train باشن.

علت:
علت این هست که نفوذ اطلاعات از test set به train set اتفاق نیفته. برای مثال فرض کنید قرار هست میزان فروش یک شرکت بیمه پیشبینی بشه. اگر داده ها به صورت shuffle به train و test تبدیل بشن اینطور میشه که مثلا روز های ۲۰ ام و ۲۲ ام در داده های آموزشی (train) قرار میگیرن و داده مربوط به روز ۲۱ در test. به همین دلیل نفوذ اطلاعات انجام میشه و به احتمال زیاد شما همزمان روی داده های train و test مدلتون overfit میشه. خوشحال از نتایج با دقت بالای مدل هستید در حالی که هیچ تست استاندارد و پیشبینی درستی انجام نشده و overfit شده مدل.

این مسئله فقط مربوط به مدل های ماشین لرنینگ نیست و شما حتی اگر دارین یک اکسپرت معامله گر فارکس (مدل لاجیکال) مینویسید باید دقت کنید همیشه مدلسازی رو مثلا برای داده های ۲۰۱۸ تا ۲۰۲۰ نهایی (پارامتر ها بهینه بشن) کنید بعد روی ۲۰۲۱ تست کنید تا نفوذ اطلاعات اتفاق نیفته. همین موارد باعث میشه افرادی بیان نتایج backtest از ربات های معامله گرشون رو به شما نشون بدن در حالی که اون مدل فقط روی اون چند سال overfit شده و در آینده اصلا عملکرد خوبی نخواهد داشت.

#Time_Series

@deeptimeai
2
سرعت بسیار بالا وقتی فانکشنال واقعی کد مینویسم.

تابع اول سری فیبوناتچی رو ساده محاسبه میکنه که وقتی بهش میگیم عدد ۴۰ ام سری رو محاسبه کن ۷۰ ثانیه طول میکشه که پایین تصویر مشخصه!
تابع دوم با قواعد فانکشنال نوشته شده و صفر ثانیه ای (معجزه؟) عدد ۴۰ ام از سری فیبوناتچی رو براتو حاضر میکنه. حتی اعدا خیلی بالاترش هم با صفر ثانیه.
علت:
استفاده از توابع بازگشتی و از پیش محاسبه کردن تمام حالات منطقی (if).

برای درک بهتر کدنویسی فانکشنال:
https://youtu.be/ITtXuHf0m0c

#بهینه_کد_بزن

#functinal_programming
@deeptimeai
👍1
نکته ۲، سری زمانی
Time Series Cross Validation


یکی از روش‌های مهم برای تعیین هایپرپارامترها و نهایی کردن ساختار مدل های ماشین لرنینگ استفاده از cross validation است.
برای انتخاب یک مجموعه بهینه از هایپرپارامتر ها یکی از مهم ترین روش‌ها این است که با با انجام رندوم سرچ (یا گرید سرچ) روی هایپرپارامتر ها، آن مجموعه ای انتخاب شود که میانگین و انحراف معیار بهتری در تمامی fold های cross validation داشته.
این روش برای داده های سری زمانی به دو شکل خاص مانند شکل انجام می‌شود که همیشه قسمت test از نظر زمانی از قسمت train جلو تر باشد. عدم‌ رعایت این نکته و استفاده از روش عادی (همانطور که در نکته ۱ گفته شد) باعث نفوذ اطلاعات تست به داده های آموزشی می‌شود و بنابراین نتایج کاملا اشتباه خواهد بود در حالی که این نتایج در ظاهر بسیار خوب کار پیشبینی سری زمانی را انجام می‌دهند.

کد:
https://medium.com/@soumyachess1496/cross-validation-in-time-series-566ae4981ce4
#Time_Series

@deeptimeai
👍2
یک مثال قابل لمس از کاربرد GNN

تیم DeepMind گوگل تونستن به همراه Google Maps دقت تخمین زمان رسیدن وسایل نقلیه رو تا ۵۰ درصد افزایش بدن.
و این کار رو با Graph Neural Networks انجام دادن.
لینک مقاله:
https://arxiv.org/abs/2108.11482

@deeptimeai
👍21
محققین دانشگاه واشنگتن ۱۰ سال بود که روی خمیدگی پروتئین خاصی (برای درمان بیماریها) کار میکردند

آنها تصمیم گرفتند این تحقیق رو به یک بازی آنلاین تبدیل کنند و با استفاده از اصول #گیمیفیکیشن، کاربران را تشویق به حل این مساله کنند. در چند روز 46,000 نفر برای انجام این چالش بازی‌گونه ثبت نام کردند و راه حل این مساله پیچیده که ده سال طول کشیده بود، در ۱۰ روز پیدا شد!

وب سایت این تحقیق:
https://fold.it
#protein_folding
منبع: لینکدین Hossein Sharafi
2
#ارائه_علمی

◀️ عنوان سخنرانی:
Change Points Detection in High Dimensional Multivariate Time Series Network

👤 سخنران:
Dr. Ivor Cribben (Associate Professor at Department of Accounting and Business Analytics at University of Alberta)

📆 تاریخ سخنرانی: سه‌شنبه ۱۶ شهریور ماه ۱۴۰۰
ساعت ۱۰:۰۰ الی ۱۱:۳۰

📍 محل برگزاری:
https://vc.sharif.edu/ch/ie-seminar

منبع:
@IE_SUT


🆔@sharif_prm
👍1
دیتاست قیمت خانه در تهران
Mohamadreza Kariminejad, Linkedin:

من اين ديتاست رو با جمع اوري اطلاعت سايت شيپور ساختم. با كمك selenium و beautifulsoap . داده ها كاملا واقعي هستن ويژگي هاي مثل متراژ، ادرس به انگليسي، تعداد اتاق خواب، اسانسور، انباري، پاركينگ ودر نهايت قيمت به تومان و دلار رو شامل ميشه. اميدوارم براتون مفيد باشه. ميتونه تمرين خيلي خوبي براي regression باشه و حس خوبي بهتون بده چون داده ها اشنا به نظر ميان ( همگي مربوط به شهر تهران هستن)

https://www.kaggle.com/mokar2001/house-price-tehran-iran
1
توسعه مدل هایی بر مبنای ماشین لرنینگ برای افزایش سرعت شبیه سازی در عین حفظ دقت

یکی از اساسی ترین مشکلات برای کار شبیه سازی مثل شبیه سازی سیالات، آکوستیک، انفجار و ... سرعت بسیار کم است. محققین مرکز تحقیقات بین المللی لارنس (از فارع التحصیلان استنفرد) روی مدل های بسیار جالبی کار کردن که در واقع قوانین فیزیک در دل مدل نفوذ کرده و مدل از حالت Full Black Box خارج شده.

سرعت تا ۱۰۰ برابر بالا رفته.

YouTube Link
Papers
#simulation
@deeptimeai
👍2
شرکت DeepMind از گوگل، سری سخنرانی های Reinforcement Learning رو رایگان در یوتوب قرار داده.

Link
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Pay Attention to MLPs!

محققان Google Brain با توسعه نوع خاصی از MLP به نام gMLP به دقت عملکردی Transformer ها در مدل های vision و language رسیدن. برای مثال gMLP در BERT در فاز pre-training به عملکرد Transformer رسیده و در بعضی مسائل در فاز fine-tuning عملکرد بهتری نشون داده. پس دیگه لزوما به Attention Mechanism نیاز اساسی نیست.
لینک مقاله:
https://arxiv.org/abs/2105.08050

@deeptimeai
👍1
در مورد تفاوت مدل مورد استفاده در مسائل پردازش زبان طبیعی/بینایی ماشین با مسائل جدولی (داده ساختاریافته) و اینکه چقدر مهندسی ویژگی و روش های خاص در مدلسازی مسائل جدولی مهم هست که بعضا این روش‌ها در راه حل های برنده مسابقات Kaggle دیده میشن:

Here is what I think about the difference between NLP/vision tasks and tabular tasks in machine learning:
NLP and computer vision tasks are among the things that humans are very good at naturally, and similarly, deep learning models can learn these tasks without feature engineering (with enough data).
But when it comes to tabular data, computers are usually better than humans because the human-level error is high due to the complexity of multi-dimensional perception. In my opinion, The most important part of modeling tabular problems is Feature Engineering, like the ones used at Kaggle winning solutions. And sometimes "Xgboost + feature engineering" beats deep learning models in Kaggle competitions.

That's why Abhishek Thakur said: Xgboost is all u need!

#machinelearning
#featureengineering

@deeptimeai
👍2
در این رشته توییت جالب، Jeremy Howard از بزرگان دیتاساینس، مدلسازی اپیدمیک (مدل پخش بیماری های واگیردار) رو با چند خط کد ساده و قابل فهم پایتون توضیح میده که جایگزین مدلسازی به صورت معادلات دیفرانسیل شده.

پارامتر ها:
N کل جمعیت
S جمعیت مستعد
I جمعیت بیمار
R جمعیت بهبودیافته
Beta احتمال درگیری افراد مستعد
Gamma احتمال بهبود افراد بیمار

به نظرم بد نیست این مدلسازی چند خطی رو اجرا کنید.

@deeptimeai
👍2
یادگیری و پیشرفت در علوم داده و ماشین لرنینگ

اولین نکته این هست که در این تخصص، شاید بر خلاف بعضی تخصص های دیگه، یادگیری شروع میشه ولی هیچوقت تموم نمیشه و حتی شدت یادگیری کم نمیشه و شما همیشه باید به روز باشید. یکی از مهم ترین مهارت ها هم همین قدرت یادگیری سریع و سرچ کردن هست. برای مثال اگر اسم‌ یک‌ مدلی رو زیاد شنیدین باید این قدرت را داشته باشین که سریع سرچ کنید و کد ها و داکیومنتشو بخونید و خودتون اجراش کنید.

مراحل کلی دیتاساینتیست شدن به نظر من:

۱_ یادگیری زبان برنامه نویسی پایتون و الگوریتم های مختلف

یک راه این هست که دوره پایتون از کورسرا بگذرونید مثل این دوره. اما به صورت کلی در این قسمت بهتره اول anaconda رو نصب کنید. آناکوندا برای شما پایتون رو نصب میکنه و در کنارش تعداد زیادی از کتابخونه های مهم پایتون. بعد میتونید Jupyter notebook رو بالا بیارید و با استفاده از این نوتبوک ها پایتون یاد بگیرید. اما مهمه که به این راضی نباشید و الگوریتم ها و مسائل مختلف رو پیاده کنید. مثلا اینجا میتونید از کتاب معروف
Cracking the coding interview
استفاده کنید و کد هاشو بنویسید.

۲_ گذروندن دوره های ماشین لرنینگ و دیپ لرنینگ با پایتون و مطالعه کتاب

شما میتونید بهترین دوره های دنیا رو مجانی بگذرونید از اینجا میتونید نحوه درخواست کمک مالی و رایگان شدن دوره های کورسرا رو بخونید. کافیه بگید ایرانی هستید و مشکلات پرداخت هست و دانشجو هستید و ارزش پول پایینه، کورس برای شما مجانی میشه و میتونید سرتیفیکیت هم بگیرید. تا اینجا پایتون رو کار کردید و ازینجا ماشین لرنینگ شروع میشه. ماشین لرنینگ رو بهتره از دوره ساده IBM کورسرا و بعد این دوره یوتوب شروع کنید.
و بعد وارد دیپ لرنینگ میشیم که حتما دوره های عالی Deep Learning Specialization که شامل ۵ دوره به تدریس Andrew Ng استاد استنفرد هست بگذرونید.
بعد از گذروندن ۲ ۳ دوره اول از این اسپیشیالیزیشن میتونید مراحل ۴ و ۵ رو ادامه بدید و بقیه کورس هارو موازی با مراحل بعد پیش ببرید.

بعد دوره های عالی Jeremy Howard در یوتوب رو دنبال کنید و دوره های سایت زیر مربوط به دانشگاه برکلی استفاده کنید:
Fullstackdeeplearning

چند کتاب زیر هم به عنوان مرجع مطالعه کنید:

1_Deep Learning (Ian Goodfelow, ...)

2_ Dive into Deep Learning (Aston Zhang, ...)

3_ Hands on Machine Learning with Sickit-Learn , Keras and TensorFlow (Aurelien Geron)


۳_ خوندن مقالات در مورد الگوریتم ها و سیستم های جدید از سایت ها و دنبال کردن افراد متخصص این حوزه.

بجز ژورنال های علمی این سایت ها معمولا خیلی پر استفاده هستن در این حوزه:

Towardsdatascience.com
Medium.com
Machinelearningmastery.com

پیشنهاد میشه افراد و صفحات زیر (خصوصا در توییتر) دنبال کنید تا همیشه در این زمینه به روز باشید. و اینکه مهم نیست که لزوما اون پست هارو کامل متوجه بشید چون بعضا خیلی خاص و عمیق هستن در یک زمینه.
Francois Chollet
Jeremy Howard
Gabriel Peyre
Two Minute Papers
OpenAI
Andrej Karpathy
DeepMind
Andrew Ng
Yann LeCun
Mark Saroufim
Elvis
AK
Sebastian Raschka


۴_ یادگیری ابزار و تخصص های مهم

با این موارد باید به مرور آشنا شد و نیاز نیست صبر کنید تا همه این موارد رو یاد بگیرید و بعد پروژه شروع کنید. اما خوب چیزی مثل git حتما
نیاز هست برای شروع یک کار تیمی که میتونید از اینجا خیلی سریع یاد بگیرید.
Git
Database: SQL and NoSQL
Network
Linux
Regex
APIs
Stats & Probability
MLOps

۵_کار روی پروژه ها

اینجا دو حالت پیش میاد یا شما شروع به کار روی یک پروژه و ساختن میکنید (به صورت تیمی، در یک شرکت یا تنها) یا این مورد رو بعدا انجام میدین که در این صورت برای شروع توصیه میشه حتما در مسابقات ماشین لرنینگ‌ شرکت کنید.
بعضی مسابقات معتبر:
Kaggle.com
Datacrunch.com
Numer.ai

ولی بعد از اون (یا در کنارش)، شروع کار تیمی و ساختن یک محصول جالب رو شروع کنید. اینجا از از مصرف کنندگی صرف علم و ابزار این حوزه آروم آروم تولید کردن و ارزش خلق کردن شروع میشه. برای کار تیمی در این دوره مهم هست که بتونید ریموت کار کردن رو تمرین کنید و مثلا با استفاده از ابزاری مثل live share در vscode بتونید روی یک کد به صورت همزمان و ریموت کار کنید.

نکته آخر اینکه تمام منابع، مقالات و داکیومت های اصلی در این حوزه به زبان انگلیسی هست و بهتره اگر به این مورد عادت ندارید شروع کنید و به مرور این مهارت بدست میاد. دیدن ویدئو ها به زبان انگلیسی، خوندن مقالات و داکیومنت ها یکی از روزمره های این تخصص هست.
@deeptimeai
👍61
از R² استفاده نکنید!

یکی از پرکاربردترین معیارها برای سنجش دقت مدل‌های رگرسیون R² است. اما این معیار چندان دقیق این مسئله را توصیف نمی‌کند. مشکل اصلی این معیار این است که بیشتر توصیف کننده نویز داده‌ها است تا سیگنال (مانند شکل).
معیار مناسب mse است. یا در موارد دیگر p-value و ..‌

توضیحات
@deeptimeai
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
ساخت اپلیکیشن آنالیز احساسات در ۳۰ ثانیه!

با استفاده از Huggingface: کتابخانه مخصوص ترنسفورمرها
و Codex:
ابزار جدید OpenAI که کافیه بهش بگید چه کدی میخواید، خودش براتون مینویسه.

@deeptimeai
👍1
یکی از متخصصین Time Series مهمان برنامه Abhishek Thakur در یوتوب هست.
ایشون در زمینه‌های زیر کار کردند:
credit risk analysis
trading commodities
predictive maintenance
و در حال حاضر در زمینه e-commerce به عنوان لید دیتاساینتیست کار میکنند‌.
Link
@deeptimeai
👍2