به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام
داده ها به صورت سری زمانی هست و مربوط به بورس هستند
مسئله دو کلاسه هست ولی تعداد ویژگی ها 25000 تا هست و حدود 80000 سطر داده هم دارم
1- میخوام بدونم چه روشی از یادگیری عمیق مناسب کار من هست ؟
2- LSTMقابلیت هندل کردن این حجم از ویژگی رو داره ؟ 25000 ورودی ؟
3- فرق LSTM با RNN چیه؟
4- تولباکس خوب روی R و python واسه اینکار چیه ؟
با تشکر

توسط (208 امتیاز)

1 پاسخ

+1 امتیاز
  1. به صورت کلی برای داده‌های سری زمانی (دنباله) می‌تونید از شبکه‌های عصبی بازگشتی استفاده کنید به این دلیل که توانائی به یادسپاری وابستگی‌ها در طول زمان رو دارن.
    ۲. ورودی باید به صورت سه بعدی باشه: تعداد سری‌ها زمانی تعداد step‌ها ویژگی‌های هر step . من متوجه نشدم ۲۵۰۰۰ ویژگی یعنی چی. اگه میشه ورودی رو در قالب سه بعدی بگید. در کل ولی من جائی ندیدم گفته بشه lstm محدودیتی تا حجم داده‌های ورودی داشته باشه. ولی مثلاً اینجا گفته شده که بهتره طول سری‌های زمانی برای اینکه performance خوبی داشته باشید، کمتر از ۲۰۰ باشه:
    https://github.com/fchollet/keras/issues/2057
    ۳. در کل بخوام بگم اینکه RNN‌ها مشکلاتی به نام vanishing و exploding gradient دارن که باعث میشه نتونن اطلاعاتی رو که در گذشته‌ی دور بدست آوردن خوب به خاطر بسپرن. LSTM‌ها این مشکل رو حل کردن. LSTM‌ها دارای چندین gate هستن که روند یادگیری و به یادسپاری به صورت بهتری نسبت به RNN‌ها انجام میشه.
    ۴. R رو نمی‌دونم ولی برای پایتون، keras و sklearn به نظرم ابزارهای دم‌دست‌تری هستن.

اینجا رو حتما بخونید:
https://groups.google.com/forum/#!topic/keras-users/9GsDwkSdqBg

توسط (115 امتیاز)
ویرایش شده توسط
ممنون از پاسختون
ورودی باید به صورت سه بعدی باشه: تعداد سری‌ها زمانی * تعداد step‌ها * ویژگی‌های هر step
منظورتون رو متوجه نشدم میشه مثال بزنید؟
من 25000 ویژگی یا ستون داده دارم (داده ها پشت سر هم هستن) و  نزدیک 80000 سطر داده(نمونه) دارم
آهان. پس شما یک سری زمانی دارید. در کل باید این سری رو بشکنید.
برای مثال به جای اینکه یه سری زمانی به صورت زیر داشته باشید:
n_samples = ۸۰۰۰۰۰
n_features = 25000

داده‌هاتون رو باید تغییر بدید تا به این صورت بشن. برای مثال اگه فرض کنیم می‌خوایم طول هر سری زمانی حداکثر ۲۰۰ باشه:
n_samples = 4000
n_steps = 200
n_features = 25000

این لینکی که پایین میذارم، به صورت کامل یه مثال تقریبا مشابه رو پیاده‌سازی کرده. می‌تونید از اون استفاده کنید:
http://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/
این یعنی هر داده ی آموزش ما میشه یه سری 200 تایی از 250000 ویژگی یعنی هر بار 200*25000 تا ورودی داریم درسته ؟

خیلی کند اجرا میشه با GPU تست کردید راحته نصب نرم افزار های وابسته اش؟
...