۵. یادگیری مثالهای متنوع و کاربردی در حوزه ی داده کاوی
۶. شبکههای عصبی و یادگیری عمیق
۷. یادگیری زیرحوزههای تخصصیِ علوم داده
۸. یادگیری الگوریتمها و روشهای پیشرفته مانند یادگیری تقویتی و روشهای بهینه سازی کاربردی
متن کاوی
جمع بندی
هنگامی که از متخصص علم داده صحبت میکنیم، منظورِ ما تبدیل شدن به شخصی است که بتواند از میان انبوهی از داده ها، الگوها و به دنبال آن، ارزشهای نهفته در بین آنها را کشف کند. کشف این الگوهاست که میتواند ارزشِ افزوده ی یک کسب و کار را بالا و بالاتر ببرد. اما برای تبدیل شدن از یک فردِ غیر متخصص به یک متخصص در حوزه ی داده کاوی مراحلی لازم است. طبیعی است که مراحلی که در این مقاله نوشته میشوند تنها راهکار موجود نیستند، با این همه، به نظر میرسد که یک متخصص علم داده بایستی این ۸ قدم را دنبال کند. در ادامه ی مقاله این ۸ قدم را شرح میدهیم، سپس یکی از زیر حوزههای داده کاوی که متن کاوی است را معرفی میکنیم و چند کاربرد آن در حوزههای مختلف را توضیح میدهیم.
مثالی از کاربرد علم داده
فرض کنید شرکتی مانند آمازون (یا نمونههای مشابه دیگر) که در واقع یک خرده فروشی و واسط فروش به صورت آنلاین هستند با استفاده از دادههای خود، پیش بینی کنند که در سه ماه آینده کدام محصولات و هر کدام به چه مقدار، فروش خواهند رفت. طبیعی است که، این پیش بینی میتواند به مقدار زیادی به رشد این کسب و کار و افزایش سود آن منجر شود. همین پیش بینیِ ساده که در بالا گفته شد، میتواند به تنظیم انبارهای فروش در مناطق مختلف کمک کرده و هزینههای انبارداری و لجستیک را به میزان قابل توجهی کاهش دهد. مثلا آمازون پیش بینی میکند که در آغاز فصل تابستان، در منطقه ی خاورمیانه، فروشِ نوعی لپ تاپ افزایش پیدا میکند. این شرکت میتواند توسط کشتیهای تجاری مختلف، آن نوع لپ تاپ را قبل از ایجاد نقطه ی پیکِ تقاضاها، به انبار خود در خاورمیانه، انتقال دهد و در هنگام سفارش، به سرعت محصول را تحویل مشتری نماید. این کار باعث افزایش سرعت تحویل و رضایت مشتری و همچنین کاهش هزینههای حمل و نقل میشود. در مثال گفته شده، افرادی که این سیستمِ پیش بینی را تولید میکنند، متخصصان علم داده هستند. این افراد که به متخصصین یادگیری ماشین یا متخصص داده کاوی نیز شناخته میشوند، میتوانند سیستم هایی با قابلیت پیش بینی و یادگیری ساخته و به قسمتهای مختلف کسب و کارها کمک کنند. توجه کنید که عبارتهای «داده کاوی» و «یادگیری ماشین» ممکن است به جای همدیگر استفاده شوند.
۱. یادگیری مبانی آمار و احتمالات
آمار و احتمالات یکی از علوم اساسیِ مورد نیاز در بسیاری از فعالیتهای علوم مهندسی است. علوم داده هم از این مورد استثنا نیست و در واقع علوم داده، خود را مدیونِ آمار و احتمالات و دانشمندان این حوزه میداند. بسیاری از الگوریتمهای ارائه شده در حوزه ی داده کاوی و یادگیری ماشین، بر مبنای آمار و احتمالات ارائه شده اند و این خود میتواند دلیلی بر این گفته باشد که علم آمار و احتمال، مادر علوم مرتبط با داده است. البته سوالی که برخی از دانشجویان مطرح میکنند این است تا چه مقدار بایستی آمار و احتمالات را برای حوزه ی علوم داده یاد گرفت؟ پاسخ به این سوال بستگی به علاقه دانشجویان در زیر حوزه ی مورد نیازشان دارد. برخی از دانشجویان بیشتر به سمت تحلیل و آنالیز داده میروند. این دانشجویان طبیعتاً بیشتر نیاز دارند تا مباحث آماری و تحلیلهای آماری را یاد بگیرند. اما اگر دانشجویی بیشتر به سمت پیاده سازی و رفتارهای مهندسیِ داده برود، نیاز به مباحث آماری کمتر حس میشود. با این همه، انتظار میرود تمامی دانشجویان، مستقل از حوزه ی کاری، با مباحث پایه ی آمار و احتمالات و تئوریهای اولیه ی آن در حوزه ی داده آشنایی داشته باشند. برای یادگیری آمار و احتمالات منابع زیادی وجود دارد. برای مثال کتاب آمار و احتمالات مهندسی تالیف دکتر نعمت الهی و یا کتاب آمار و کاربرد آن در مدیریت که در دو جلد تنظیم شده است، از جلمه کتب اکادمیک خوب در این حوزه هستند. البته این کتابها بیشتر کتابهای دانشگاهی هستند ولی به دلیل محتوای بسیار خوب، میتوانند در راستای یادگیری آمار و احتمالات کاربردی مفید باشند. همچنین دورههای مختلف آنلاین به صورت رایگان وجود دارند که میتوانید از آنها در جهت یادگیری آمار و احتمالات استفاده کنید.
۲. یادگیری یک زبان برنامه نویسی
در مورد مزایای یادگیری یک زبان برنامه نویسی که سخنهای بسیاری رفته است. لازم به گفتن نیست که امروزه در بسیاری از رشتههای مهندسی، آموختنِ یک زبان برنامه نویسی از ملزومات پیشرفت تخصصی در آن رشته است. علوم داده نیز جدا از این رشتهها نیست. و هر متخصص علم داده بهتر است با زبانهای برنامه نویسی مانند پایتون، R یا جاوا، آشنایی داشته باشد، این زبانها میتوانند الگوریتمها و فرآیندهای یادگیری ماشین را بر روی یک پلتفرم اجرایی، پیاده سازی کنند. همچنین کتابخانههای آماده در این زبانهای برنامه نویسی وجود دارند که سرعت پیاده سازی فرآیندهای داده کاوی را افزایش میدهند.
۳. یادگیری مبانی ماتریسها و جبر خطی
بسیاری از الگوریتمهای داده کاوی مبتنی بر فضای جبر خطی (Linear Algebra) هستند. آنها از ماتریسها و عملیاتِ ماتریسی در فرآیندهای خود، بسیار استفاده میکنند. از این جهت، یادگیری مباحث پایه ی ماتریسها و جبرخطی کمک شایانی به درک کارکرد الگوریتمهای علوم داده میکند. در برخی از کتابهای آموزش داده کاوی و یادگیری ماشین، معمولاً یک فصل به این موضوع اختصاص داده شده است و یا در خلال آموزش مباحث، به بحث ماتریسها و جبر خطی میپردازند. ولی اگر بخواهیم کتابی را در این حوزه معرفی کنیم، میتوانیم به کتاب جبر خطی آقای اوار نرینگ اشاره کنیم.
۴. یادگیری مقدمات داده کاوی و یادگیری ماشین
الگوریتمهای مقدماتی داده کاوی و یادگیری ماشین، میتوانند راه حلی برای مسائل ابتدایی و کلاسیک این حوزه باشند. این الگوریتمها توانایی این را دارند که یک دید مناسب نسبت به مسائل و روش حل آنها را به دانشجویان این حوزه آموزش دهند. الگوریتمها و تنوع آنها میتوانند به وسعت دانشِ دانشجو کمک کرده و مباحث پایه را با این الگوریتمها فرا گیرند. در فرآیند یادگیری داده کاوی دانشجو بایستی به روشها و الگوریتمهای مختلف طبقه بندی (Classification) و خوشه بندی (Clustering) آشنا شده و بتواند با کمک آن ها، مسائل مختلف این حوزه را حل نماید. همچنین بایستی بتواند دادهها را با توجه به نیاز خود، برای این الگوریتمها آماده و تمیز نماید. در این قسمت دانشجو همچنین باید بتواند مدلهای خود را ارزیابی کرده و مدلها و الگوریتمهای مختلف را با هم مقایسه کند تا بهترین الگوریتم و مدل را برای مسئله ی خود پیدا کند.
۵. یادگیری مثالهای متنوع و کاربردی در حوزه ی داده کاوی
یادگیری به جز با تمرین و تکرار در ذهن ماندگار نمیشود. اگر میخواهید به فردی خبره در این حوزه تبدیل شوید حتماً بایستی الگوریتمهای متنوع را بر روی مجموعه دادههای متنوع آزمایش کرده و نتایج را ببینید. مشاهده ی مثالهای مختلف و روش حل آنها میتواند الگوی حل مسئله ی داده کاوی را در ذهن دانشجو هر چه بیشتر تعمق دهد. برای خبره شدن در این حوزه شرکتها و موسسات مختلفی وجود دارند که میتوانید در آنها به کارآموزی بپردازید یا مسائل آنها را حل کنید. برای مثال میتوان به سایت Kaggle اشاره کرد که با برگزاری مسابقات متعدد، توانسته مرجع خوبی از مثالهای واقعی در حوزه ی داده کاوی باشد. با مراجعه و خواندن دادههای موجود در دنیای واقعی در این سایت، ذهن دانشجو میتواند به سرعت به صورت داده محور فکر کرده و مسئله را با توجه به ساختار موجود حل نماید.
۶. شبکههای عصبی و یادگیری عمیق
شبکههای عصبی (Neural Networks) و شبکههای عصبی عمیق یا همان یادگیری عمیق (Deep Learning)، کیفیت خروجیهای داده کاوی را بالاتر بُرد و توجه بسیاری از افراد و دانشمندان این حوزه را به خود جلب کرد. در داده کاوی دانشجویان میتوانند با استفاده از شبکههای عصبی عمیق و روشهای مختلفِ یادگیری عمیق، مسائل به مراتب پیچیدهتری را حل کرده و کیفیت مسائل مختلف را ارتقا ببخشند. این دست از الگوریتمها توانایی یادگیری الگوهای به مراتب پیچیدهتر در دادهها را دارند و رفته رفته به یکی از پایههای اصلی در حل مسائل داده کاوی تبدیل شده اند.
۷. یادگیری زیرحوزههای تخصصیِ علوم داده
بخشهای متفاوتی مانند متن کاوی (Text Mining)، تصویرکاوی (Image Mining)، فیلم کاوی (Video Mining)، صداکاوی (Voice Mining)، کار بر روی دادههای اقتصادی و… از زیرحوزههای مطرح در داده کاوی هستند. دانشجویان بعد از فراگیری الگوریتم ها، میتوانند یک یا چند زیر حوزه را به عنوان زیرحوزه ی تخصصی انتخاب کرده و بر روی مسائل مربوط به آن زیرحوزه تمرکز کنند. همچنین یک فرد متخصص علم داده ، معمولاً در یکی از این زیرحوزهها تخصصِ لازم را پیدا کرده و مسائل پیچیدهتر هر زیرحوزه را به خوبی شناسایی و حل میکند.
۸. یادگیری الگوریتمها و روشهای پیشرفته مانند یادگیری تقویتی و روشهای بهینه سازی کاربردی
یادگیری تقویتی یا همان Reinforcement Learning و ترکیب آن با روشهای یادگیری عمیق، میتواند مسائل پیشرفتهتری را حل کند. یادگیریِ این روشها به دانشجو این امکان را میدهد تا بتوانند مسائل پیشرفتهتر در محیط پویا را حل کند.
متن کاوی
در ادامه برای تثبیت و تحکیم یادگیری و ایجاد یک دید از آینده ی شغلی در این حوزه، به یکی از زیر حوزههای داده کاوی یعنی متن کاوی (Text Mining) میپردازیم. متن کاوی (Text Mining) یا پردازش زبان طبیعی (NLP) یکی از زیرحوزههای علم داده و داده کاوی است. که بسیاری از شرکتهای فعال در حوزه ی داده کاوی، تمرکز خود را بر روی متن کاوی و استخراج الگوها از متن قرار داده اند. در متن کاوی تمرکز روی دادههای متنی یعنی همان نوشتارهای روزمره است که از کلمات مختلف تشکیل شده اند (مانند کلمات در زبانهای فارسی یا انگلیسی). حجم زیادی از دادههای تولید شده توسط بشر امروزی، به صورت متن جمع آوری شده است و این خود محتوایی ارزشمند و غنی و به تبع آن، الگوهای پیچیده در میان دادههای متنی ایجاد کرده است. اما چگونه با استفاده از ابزارهای جدید، مانند کامپیوترها و ابرکامپیوترها، میتوان این الگوهای ارزشمند را از میان دادهها استخراج کرد؟ پاسخ این سوال، حوزه ی متن کاوی را پدید آورد و بسیاری از دانشمندان، بر روی داده هایی از جنس متن شروع به کار کردند. در حوزه ی متن، روشهای مختلف و متفاوتی ارائه شده است که هر کدام برای یک یا چند مورد از مسائل این حوزه کاربرد دارند. این الگوریتمها معمولا توسط زبانهای برنامه نویسیِ مطرح مانند پایتون یا جاوا پیاده سازی هم شده اند و برخی از آنها در کسب و کارهای بزرگ نیز مورد استفاده قرار گرفته اند.
تحلیل احساس کاربران توسط متن کاوی
برای مثال، فرض کنید کسب و کاری مانند گوگل پلی (و یا مشابههای داخلی آن) میتوانند توسط الگوریتمهای متن کاوی، نظرات درج شده توسط کاربران در هر کدام از اپلیکیشنها را ارزیابی کرده و از کیفیت یا عدم کیفیت هر کدام از نرم افزارها (با توجه تحلیل احساس هر کدام از نظرات) با خبر شوند. این تحلیل احساس یا همان Sentiment Analysis میتواند بسیار دقیقتر یا پیشرفتهتر نیز شود. فرض کنید هر کدام از متنها حاوی نظراتی راجع به قسمتی از نرم افزار باشند. مثلاً شخصی گفته باشد که «این اپلیکیشن از لحاظ ظاهری خوب است ولی سرعتش کم است». الگوریتمهای پیشرفته و روشهای ترکیبی تحلیل احساس میتوانند این تفکیک را در یک نرم افزار خاص متوجه شوند. در واقع الگوریتمها و روشهای متن کاوی، توانایی تحلیل متون را مانند انسان دارند. بیشتر بخوانید:مزایا، روش ها و تخصصهای لازم برای کسب درآمد از داده کاوی با پایتون
جستجو در میان انبوهی از متنها توسط متن کاوی
از دیگر مسائلی که متن کاوی به دنبال حل آن است، جستجو در میان انبوهی از متن هاست. ساخت موتورهای جستجو مانند گوگل یا یاندکس از جمله ی این مسائل هستند. گروه بندی متنها و صفحات مختلف و واکشی محتوای مناسب از میان انبوهی از متون، میتواند در جستجوی بسیار سریع از میان انبوهی از محتواها کمک شایانی کرده و کیفیت جستجو را افزایش دهد. این الگوریتمها توانایی تحلیل و درک متون موجود در یک صفحه را دارند. برای مثال اگر صفحه ای راجع به «بازی موبایل» باشد، این موتورهای جستجو میدانند که در این صفحه میتوان محتوایی مانند «بازی»، «موبایل»، «نرم افزار»، «آی تی» و... پیدا کرد، پس موتورهای جستجو صفحه را در کنار صفحاتی که در همین زمینهها فعالیت دارند، قرار میدهند و در هنگام جستجو، این صفحات را به کاربر نمایش میدهند.
راه اندازی سیستم خودکار پاسخ دهی به تیکت پشتیبانی توسط متن کاوی
یا برای مثال فرض کنید سامانه ای دارید که افراد مختلف، با استفاده از سیستم پشتیبانی، تیکتها (tickets) و درخواستهای متفاوت را برای واحدهای مختلف یک شرکت ارسال میکنند. این تیکتها بایستی برای واحد مربوطه فرستاده شوند. یک سیستم هوشمند با استفاده از الگوریتمهای متن کاوی میتواند به صورت خودکار یک تیکت پشتیبانی را به واحد مربوطه ارسال کند. همچنین در حالت پیشرفته تر، یک پاسخ خودکار تولید کرده و آن را برای کاربر ارسال نماید. بسیاری از شرکتها با توجه به روابطی که با مشتریان خود در طول سالهای متمادی داشته اند، به دادههای ارزشمندی در قسمت پرسش و پاسخ خود رسیده اند. برای مثال مشتریان بسیار زیاد هر روزه با اپراتور به صورت متنی چت میکنند. این چتها میتوانند دادههای ارزشمندی باشند که الگوریتم از همین پرسش و پاسخ ها، یادگیری را انجام داده و از این به بعد، خود الگوریتم به صورت خودکار میتواند پاسخ هایی مفید و راه گشا به پرسش کاربران بدهد.
مدیریت ریسک سرمایه گذاری توسط متن کاوی
کاربرد دیگر متن کاوی را میتوان مدیریت ریسک سرمایه گذاری دانست. شرکتهای بزرگ سرمایه گذاری میتوانند با استفاده از تحلیل اخبار و نوشتههای موجود در روزنامههای رسمی شرکت ها، به نکات مهم و ارزشمندی برای سرمایه گذاری دست پیدا کنند. برای مثال ممکن است الگوریتم، با توجه به اخباری که در گذشته از میان متون خبری یاد گرفته است، که هر گاه خبری در مورد واردات یک محصول خاص مشاهده کند بعد از یک هفته، سهام یک شرکت خاص افزایش پیدا میکند. الگوریتم با توجه به این الگوها و روندهایی که خود تشخیص میدهد، توانایی پیشنهاد سرمایه گذاری بر روی یک شرکت خاص را میدهد به گونه ای که این شرکت خاص، سود زیادی برای صاحبان سرمایه به دست آورد.
تشخیص جرایم آنلاین توسط متن کاوی
متن کاوی در تشخیص جرایم آنلاین نیز میتواند نقش موثری ایفا کند. برای مثال سارقینی که طعمههای خود را از طریق فضای مجازی شکار میکنند، میتوانند صاحب الگوهایی خاص در میان چتها و یا کامنتها در شبکههای اجتماعی باشند. پلیس امنیت فضای مجازی در هر کشور میتواند با رصد کردن هوشمند شبکههای مجازی، به شناسایی این الگوها و مقابله با آنها به صورت قانونی اقدام کند.
تبلیغات هوشمند آنلاین توسط متن کاوی
از دیگر حوزه هایی که متن کاوی میتواند نقش موثری در آن داشته باشد، تبلیغات هوشمند آنلاین است. شرکتهای تبلیغاتی با تحلیل صفحاتی که تبلیغاتشان در آنها قرار دارند، میتوانند محتوای صفحه ی وب را درک کنند و تبلیغی را در آن صفحه نمایش دهند که مرتبط با موضوعِ موجود در آن صفحه باشد. برای مثال در یک صفحه ممکن است مطلبی در مورد «کیت الکترونیکی» باشد. موتورهای تبلیغاتی هوشمند که توسط مدیر سایت قرار داده شده است و دسترسی به آن صفحه دارند، سعی میکنند تا بتوانند مرتبطترین تبلیغ را به کاربر نمایش دهند.
جمع بندی
برای تبدیل شدن به یک متخصص علم داده در حوزه ی داده کاوی مراحلی لازم است. در این مقاله ۸ قدم تبدیل شدن به متخصص علم داده را توضیح دادیم، اما مسیر گفته شده در بالا، تنها مسیر موجود نیست و هر کدام از دانشجوها با توجه به علایق و تواناییهای خود میتوانند راههای مختلف را طی کنند ولی مسیر و نقشه ی راه گفته شده در بالا، یکی از راه هایی است که به نظر، مورد توجه بسیاری از دانشمندان حوزه ی علوم داده است. در ادامه ی مقاله به معرفی یک از زیرحوزههای داده کاوی یعنی متن کاوی پرداختیم و چند کاربرد متن کاوی را توضیح دادیم، البته متن کاوی و پردازش زبان طبیعی موارد ذکر شده محدود نمیشود. ساخت و تصحیح متون، ایجاد متون تحلیلی، ساخت زیرنویس ها، ترکیب متون برای ایجاد متون جدید، طبقه بندی اسناد به صورت خودکار، کشف روابط پنهان میان مقالات، ایجاد رباتهای گفتگو کننده (چت بات) و موارد متعدد دیگر میتوانند از کاربردهای دیگر متن کاوی باشد. اگر در مورد این مقاله سوال یا نظری دارید خوشحال میشویم که در بخش نظرات با ما و کاربران سون لرن به اشتراک بگذارید.
اگر دوست داری به یک متخصص داده کاوی اطلاعات با زبان پایتون تبدیل شوی باید قبلش با زبان برنامه نویسی پایتون آشنا باشی ، پیشنهاد ما دوره آموزش پایتون هست
سلام.
در دوره ی دیتا ساینس سون لرن این 8 سر فصل آموزش داده میشه؟
یعنی مثلا در ابتدا آمار و احتمالات تدریس میشه، بعد زبان پایتون به صورت کامل تدریس میشه، و بعد جبر خطی تدریس میشه و ...
در کل دوره به جه صورت هستش؟
نازنین کریمی مقدم۲۱ مرداد ۱۴۰۱، ۱۳:۲۷
درود
جواب سوالات تون رو میتونید با بررسی سرفصلها در <a href="https://7learn.com/course/data-science-expert" rel="noopener nofollow" target="_blank">صفحه دوره علم داده </a>به طور جامع بگیرید.
یک دوره آمار کاربردی جدا هم برای دانشجوها درنظر گرفته شده که بنده در جریان نیستم و نمیدونم مربوط به این دوره هست یا مهندسی داده. برای اطلاعات بیشتر با مجموعه تماس بگیرید تا بهتر راهنمایی تون کنم.
برقرار باشید
رضوی۳۱ تیر ۱۳۹۹، ۰۴:۳۶
سلام وخسته نباشید. مثل همیشه، مقاله جامع و ارزشمندی بود. موفق باشید و از زحمات شما سپاسگزارم
behrooz۱۰ خرداد ۱۳۹۹، ۱۳:۰۸
باسلام خدمت مهندس کاویانی من شنیدیم زبان پایتون به پختگی نرسیده و در قسمت روباتیک فقط در حد ازمایش ازش استفاده میشه ولی برای رندر بهتر مثلا ربات که با زبان python و رباتی دیگه که با زبان java باشه اون رباتی از پلهها بالا میره که جاواست ... میخواستم بدونم این مطلب درسته ؟؟؟
بابت مقاله خوبتون ممنون عالیه ....
مسعود کاویانی۲۵ مرداد ۱۳۹۹، ۱۸:۵۱
سلام، ممنون از شما
در حوزهی رباتیک شرکت گوگل و بسیاری از شرکتهای دیگه از C و جاوا و پایتون استفاده میکنند و پایتون هم در این حوزه به بلوغ رسیده
البته ممکنه برای یک کار خاص جاوا بهتر باشه ولی در بسیاری از کارها و آزمایشات پایتون به عنوان زبان اول مورد استفاده قرار گرفته است
شروع رایگان یادگیری برنامه نویسی
کلیک کنید 👇
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: