امروزه همونطور که احتمالا شنیدید در عصری زندگی میکنه که دادههای گستردهای وجود داره و توسط کمپانیها یا مراکز متعددی جمعآوری میشه. این دادههای خام به تنهایی تقریبا ارزشی ندارند و گاها چیزی نمیشه از این دادهها متوجه شد و نیازمند تحلیل و بررسی هستند.
خیلی از متخصصان در این حوزه فعالند ، حوزه جمعآوری و تحلیل دادهها ، مثل متخصصان بازاریابی ، جامعهشناسان ، کارشناسان علومسیاسی ، اقتصاددانان ، روانشناسان ، بسیاری از مشاغل مهندسی ، فیزیکدانان ، آماردانان و حتی زیستشناسان و غیره ؛ در حیطه و گستردگی متفاوت. در همه این رشتهها و تخصصها ، افرادی هستند که از طرق مختلف کیفی و کمی داده جمعآوری میکنند. (و نرمافزارهای خوبی هم وجود داره. گاهی این نرمافزارها تخصصی متناسب با یک رشته هستند. هم برای دادههای کیفی و هم دادههای کمی)
حالا آیا ما در دنیا رشتهای داریم که تحت عنوان تحلیل داده وجود داشته باشه؟ رشته دادهکاوی مثلا؟
و
به نظرتون این اتفاق خوبیه که چنین رشتهای باشه یا نه؟ اصلا نیازی هست به چنین رشتهای؟ یا اینکه همین متخصصانی که بالا نام بردند کار تحلیل داده رو هم انجام میدهند و نیازی به چنین رشتهای نیست؟
در واقع در دنیایی که به شکل عظیمی داده تولید میشه و خیلیها «به شکلی کور» (blind) صرفا دنبال مدلسازی با چیزی به اسم هوش مصنوعی هستن و عموما ناموفق (پر از شوآف، پرهزینه و بسیار غیرقابلاعتماد)، رشته تحلیل داده یکی از بنیادیترین و قویترین ابزارهایی هست که افراد دنبال اون هستن. منتها خودِ متخصصین این رشته، هنوز از نظر «سن» به عنوان یک علم بسیار جوان هستن. به همین خاطر مثلا فیزیکدانها یا شیمیدانهایی که حس بسیار خوبی به داده، محتوای داده، ارتباطهای ممکن در داده، اطلاعاتی که متناسب با کاری خاص که از داده میشه استخراج کرد، … ، دارن میتونن نسبتا موفق باشن.
متحصصینی که داده رو استخراج میکنن، میتونن دادهکاوهای خوبی باشن ولی باید به ابزارهای تحلیل داده مسلط باشن. همانطوری که گفتم اگر این متخصصین خودشون به ابزارها مسلط بشن، معمولا بهترین کاندیدها برای تحلیل داده (data analysis) یا دادهکاوی (data mining ) هستن. منتها عموما این اتفاق نمیوفته و نیاز هست که افرادی به شکل کلی، برای همه نوع دادهها، آموزش ببینن و البته اگر به سمت کار خاصی میرن، باید بتونن به سرعت اطلاعات پایه در مورد اون کار رو هم یاد بگیرن.
بعضی از سئوالهایی که در مورد دادهها در این رشتهها مطرح هست، میتونه به این شکل باشه (البته سئوالات بسیار متنوع و برحسب کار ممکنه دارای اهمیت متفاوتی باشن):
الگوهای مختلف در دادههای در دسترس به چه شکلی هستن؟ تناوبهای مختلف یا الگوهای چندبعدی، یا حتی بیرون کشیدن الگوهای خلاقانه. این الگوها در بسیاری از قدمهای بعدی مدلسازی لازم هستن و اگر تخصص خوبی داشته باشین یا ایده نسبتا جدید، به راحتی میتونین در بازار کار بر روی دادهها، شانس خودتون رو امتحان کنین.
ارتباط بین دستهای از دادهها چقدر معتبر هست؟ چقدر میشه امید داشت که رابطه بین دو داده رو به دست آورد یا با استفاده از یک داده، تخمینی برای داده مرتبط به دست آورد؟ تمام این سئوالات به میزان همبستگی دادهها مرتبط هست.
میزان تصادفی بودن در یک داده به چه شکلی هست؟ آیا لازمه که از مدلهای آماری برای مدلسازی استفاده کنیم یا مدلهای مشخصتر برحسب اطلاعات بنیادی از سیستم؟ تحلیل آماری روی داده مرتبط با سئوالاتی از این شکل هست.
چطور میتونم از دادههای با ابعاد بسیار بزرگ، اطلاعات با ابعاد معقول استخراج کنم تا از نظر عملی قابل استفاده در پردازش اطلاعات و مدلسازی باشه؟ مثلا در بازاری مثل بورس با حجم عظیمی از دادهها، چطور میتونم اطلاعات بنیادی و بر اساس مکانیسم بازار، استخراج کنم که امکان تخمین در کاربردهای واقعی (که به دلیل نیاز به سرعت باید حجم داده بسیار کم باشه) فراهم بشه؟ استخراج اطلاعات و خصوصیات (feature extraction) یکی از داغترین کارها در دنیای امروز در حوزه مدلسازی، تحلیل داده و دادهکاوی هست.
تا چه میزان میتونم مستقل از مکانیسم یک سیستم، صرفا براساس داده و مدلهای یادگیری ماشینی، پیش برم و در چه جاهایی باید زحمت بکشیم و مکانیسم سیستم (که عموما پیچیده و در بسیاری از مواقع قابل دسترسی نیست، چون دادهگیری الزاما دست شما نیست!) رو هم وارد کنم؟ این سطح از تحلیلها معمولا بسیار سطح بالا و بیزنسی هست و همهجا متخصصینی با این سطح رو نمیتونن پیدا کنن. دلیل هم اینه که فردی با اطلاعات بسیار وسیع و قدرت تحلیل بسیار بالا نیاز داره.
در سطح آکادمیک و بیزنسی متوسط، تسلط بر روشهای تحلیل داده، روشهای آماری و مباحث آکادمیک میتونه توان رقابت برای به دست آوردن یک موقعیت رو بهتون بده. ولی واقعیتش در سطح بالاتر باید شانسی برای کسب و تجربه در دنیای سریع و واقعی، و البته هوش نسبتا بالا در ارتباط با داده، خلاقیت و اطلاعات گسترده در مورد سیستمهای پرکاربرد (مثلا فیزیک، شیمی، اقتصاد و …) به دست بیارین تا بتونین در موقعیتی خوب وارد چالشهای اساسی بشین.
حالا میشه سوال کرد یک تحلیلگر داده به چه ابزارهای اساسی نیاز داره؟
خب انواع متنوعی از دادهها به شکل کور یا حاصل یک پروژه و تحقیق از پیش تعیین شده با سرعت بالایی در حال تولید هستند و طبعا بسیاری در حیطه خودشون تمایل دارند این دادهها رو تحلیل کنند. خواه اقتصادی ، اجتماعی ، مالی پولی و … . خواه حجم داده خیلی کم یا خیلی کلان و گسترده باشه. و معمولا رشتههای دانشگاهی یک یا چند مدل روش تحقیق و تحلیل داده رو هم به عنوان اساس کار خودشون معرفی میکنند.
این فرد برای اینکه بتونه تحلیلگر خوبی هم باشه باید چه تواناییهای اکتسابی رو کسب کنه؟ چه چیزی باید یاد بگیره؟ آیا واقعا چنین روش و ابزارهایی هستند که فرد تحلیلگر داده باید در بُعد فنی کار اونها رو بدونه؟
پ.ن: فکر میکنم در دوران امروز هر فرد یک تحلیلگر داده است و خوبه که یک تحلیلگر داده باشه. چرا که مشکل امروز نبود یا کمبود داده مناسب نیست. مشکل سونامی دادههاست و سختی تحلیل کردن این دادهها متناسب با هدف شخصی ، کاری - تجاری ، علمی و … .
یاد گرفتن این روشها خوبه. بخصوص اینکه بتونین با دادهها ارنباط برقرار کنین، حس پیدا کنین و بتونین نتایج روشها رو تفسیر کنین. در واقع علاوه بر به کار بردن روشهای تحلیل، تفسیر نتایج هم بسیار مهمه. افراد زیادی میتونن روشها رو به کار ببرن، در واقع کار در این مرحله، کار در حد یک اپراتور نرمافزاری هست و نه بیشتر! نتایج این روشها و نحوه استفاده از اونها برای کارهای بعدی، کاری هست که نیاز به تجربه، استعداد و مطالعهی وسیع داره. در این مرحله معمولا میتونین با یک حرفهای همکار باشین تا اصطلاحا دادهها رو بیشتر لمس کنین و بتونین به حدی برسین که تا حتی با دیدن نمایش دادهها بتونین تحلیل انجام بدین.
به طور خلاصه:
روشهای معمول رو یاد بگیرین. با این روشها با دادهها کار کنین، بفهمین که نتایج هر روش، نشاندهنده چه خاصیتی در دادهها هست. بسیاری از آدمهای وارد در داده، در این مرحله هستن و در همین مرحله هم میمونن.
با دادهها ارتباط برقرار کنین، دادهها پشت خودشون مکانیسم، واقعیت و ارتباطهای مختلف دارن. مثلا قیمت یک عدد هست ولی پشت خودش یک مکانیسم بازار داره، و در این مکانیسم با دادههای مختلف دیگهای ارتباط داره مثلا میزان تقاضا یا وضعیت سیاسی و اقتصادی یا حتی با روز هفته! این حس برای یک دادهکاو مثل یک قطبنما در یک اقیانوس داده هست که بهش میگه دنبال چه چیزی و چه ارتباطهایی بگرده. جستجوی کور مثل کارهایی که گهگاهی میبینین در جاهای مختلف چاپ میشن و توی بوق میشن، بسیار خطرناکه. چون این ارتباطهای فیک (غیرواقعی) برای مدت زمانی باعث گمراهی میشه و بعد از مدت (تازه اگر خوششانس باشین) میفهمین که اشتباه بوده!
به مرحله کسب تجربه و تخصص فکر کنین. در شرایط واقعی با دادهها کار کنین، نه شرایط آکادمیک و شیک و پیک. این تجربه بهتون کمک میکنه که اصطلاحا تجربه کار با دادههای کثیف (پر از سیگنالهای بیربط و غلط، مشکلات مختلف) رو پیدا کنین.
برای نرمافزار میتونین از MATLAB استفاده کنین. تقریبا هر نیازی رو پوشش میده ولی الان ابزارهای مبتنی بر R و Python هم محبویبت دارن و توانایی استفاده و برنامهنویسی با اونها تقریبا یک شرط لازم برای ورود به این شاخه هست.
از نظر خود من (البته من رشته متفاوتی داشتم و سطحی بسیار وسیع از ریاضیات و روشهای عددی رو خوندم. ولی فکر نمیکنم برای شروع نیازی به سطحی با این وسعت داشته باشین. ولی باید توان چرخش بین روشها و ابزارها رو داشته باشین، قدرت یادگیری رو حفظ کنین. با زمان اگر رشد نکنین، به سرعت در برابر ابزارهای جدید کم میارین و عملا شانسی برای تحت تاثیر قرار دادن افراد ندارین)، بهتره که
سطح مناسبی از جبر خطی، آمار و تبدیلهای خطی رو بلد باشین. برای مثال با مقادیر ویژه، همبستگی، تبدیل فوریه، کمیتهای آماری مختلف و تستهای آماری آشنا باشین. برای خبره شدن، فهم خوب از نتایج این روشها لازمه که معمولا در کتابها دیده نمیشه. راه ساده گشتن در بین تجربه آدمها و نگاه کردن به نوشتهها افراد در نت برای درک جنبههای مختلف هر روش هست.
به نظرم ابزارها و روشها مثل مهرههای شطرنج هستن: لازمه که بدونین چه استفادهای دارن ولی این دانش شما رو بازیکن شطرنج خوبی نمیکنه، این چینش و استفاده درست از اونهاست که سطح بازیتون رو نشون میده.
یوسف خیلی خوب توضیح داده و تصور نمیکنم توضیحات من به بار علمی بحث کمکی کنه ولی تصورم اینه که حبابی حول این ترند شکل گرفته که البته بخشیش هم خالی شده. دیتاساینس چیزی متفاوت از متخصص آمار نیست. گاهاً کسایی که خودشون رو دانشمندداده معرفی میکنن پشتوانه نظری لازم اون بحث رو ندارن. کسی با چهارتا کتابخونه import کردن و چهارتا رگرسیون متخصص داده نمیشه. لازمه اینکار پشتوانه تئوری قوی در اون فیلد کاریه.
متاسفانه آدمها با همین شوآفها نون میخورن البته این در برابر شوآفهای هوش و بقیه جاها، به نظرم کمی کمتر هست. کاملا درسته که تسلط بر ابزار، تا حد مناسبی، الزامیه ولی صرفا تسلط بر ابزار، فرد رو شبیه به یک اپراتور میکنه و نه تحلیلگر.
اگر فرصتی بود توضیح میدم و امیدوارم حتی با کمک کسانی که تخصص دارن و علاقه، یک گروه فعال دیتاساینس و یادگیری ماشینی در اینجا را بندازیم که هم کارهای ساده رو انجام بدیم و هم تجربیات مختلف رو با هم به اشتراک بزاریم. کمی باید امکانسنجی کنم این دو تا قدم رو.
اگر تغییری پیش نیاد یا اتفاق عجیبی نیوفته، خوشبختانه به زودی سطح ابتدایی از روشها و کارها رو قراره به شکل عمومی در اختیار افراد علاقهمند قرار بدیم. امیدوارم بتونم به زودی با خبررسانی در این مورد و توضیحات مکمل در رابطه با کار، بتونم این موضوع رو پیش ببرم.
کار الان من روی دادههای بازار هست (نوع بازار و مختصری از هدف کار رو بعدا توضیح میدم )، سطح کار به نسبت خوب و ارزیابی روشهای اجرایی به شکل زمان واقعی انجام میشه یعنی مهم نیست که به شکل نظری چه کاری انجام میدیم، مهم اینکه به شکل عملی و در واقعیت چقدر میتونیم به پیشبینی قیمت بازار نزدیک بشیم!
اگر فرصت شد، در این بحث یا در بحثی مجزا، توضیحاتی در مورد کارهای واقعی «هوش مصنوعی» میدم چون عموما در اثر شوآف و تبلیغات غلطانداز، دیدگاهی نسبتا رویایی در مورد هوش مصنوعی وجود داره که با واقعیت کنونی و چشمانداز این رشته همخوانی نداره.