بخش دوم: سیستم‌های هوشمند

2-1 مقدمه

در فصل 1، یک نمای کلی از تجزیه و تحلیل داده‌های بزرگ ارائه داده شده است. در این فصل بیشتر به یادگیری ماشین و سیستم‌های هوشمند پرداخته خواهد شد. طبق تعریف، الگوریتم دنباله‌ای از مراحل در یک برنامه رایانه‌ای است که ورودی داده شده را به خروجی دلخواه تبدیل می‌کند. یادگیری ماشینی مطالعه الگوریتم‌های هوشمندانه مصنوعی است که عملکرد آن‌ها را در بعضی کارها با تجربه بهبود می‌بخشد. با در دسترس بودن عظیم داده‌ها، یادگیری ماشین در حال تبدیل شدن به بخشی جدایی ناپذیر از سیستم‌های مختلف رایانه‌ای است. در چنین سیستم‌هایی، تحلیلگر داده به داده‌های نمونه دسترسی دارد و مایل است فرضیه‌ای را بر روی داده‌ها بسازد. به طور معمول، یک فرضیه از مجموعه الگوهای نامزد فرض شده در داده‌ها انتخاب می‌شود. الگویی به عنوان خروجی الگوریتمی حاصل از تبدیل ورودی خام گرفته می‌شود. بنابراین پارادایم‌های یادگیری ماشین سعی در ایجاد الگوهای کلی از داده‌های شناخته شده برای پیش بینی داده‌های ناشناخته می‌کند.

طبق یک تعریف استاندارد ، الگوها باید 1) به راحتی قابل درک باشند 2) فرضیه را معتبر سازند 3) در یک حوزه خاص از برنامه‌‌کاربردی مفید باشد 4) جدید یا ناشناخته باشند.

زبانهای برنامه نویسی اعلامی که برای تجزیه و تحلیل داده‌ها استفاده می‌شوند ساختارهای برنامه نویسی زیر را دارند که به تحلیلگر داده کمک می‌کند تا معناشناسی را بدست آورد و اطلاعات را در عظیم داده‌ها تأیید کند.

پرس و جوها: بسته به سازمان داده و متاداده در مدل داده، پرس و جوهای مختلف به دانشمند داده اجازه می‌دهد تا 1) مجموعه داده های تراکنشی را از طریق انتخاب، پیش بینی، پیوستن به یک جدول رابطه‌ای 2) مجموعه داده‌های تحلیلی را از طریق drill-down  انبار داده‌ها کشف کند.

الگوریتم‌ها: بسته به الگوهای علم داده در مدل مفهومی، الگوریتم‌های مختلف به دانشمند داده اجازه می‌دهد تا 1) مدل توصیفی را از طریق الگوهایی مانند همبستگی، تداعی، خوشه‌بندی 2) مدل سازی پیش بینی را از طریق الگوهایی مانند طبقه بندی، رگرسیون، پیش بینی تجزیه و تحلیل کند.

تکنیک‌ها: بسته به پیچیدگی محاسباتی الگوریتم‌ها و از دست دادن اطلاعات در مفاهیم، تکنیک‌های مختلف یادگیری ماشین برای نمایه‌سازی عملکرد، مدل و الگوریتم مورد استفاده در الگوهای علم داده طراحی شده‌اند.

pipelines: pipelines داده‌ها ساختار معماری است که معمولاً برای ترکیب انفورماتیک بدست آمده از پرس و جوها، الگوریتم‌ها و تکنیک‌های مناسب برای یک سیستم یا کاربرد خاص در علم داده استفاده می‌شود.

2-1-1 علم داده منبع باز:

برنامه نویسی علم داده تا حد زیادی توسط زبان‌های برنامه نویسی توصیفی مانند SQL ، R ، Scala و زبان‌های برنامه نویسی شی‌گرا مانند جاوا ، پایتون و جولیا هدایت می‌شود. بسته به انتخاب زبان برنامه نویسی، پشته های برنامه نویسی علم داده زیر موجود است:

  • JavaScript
  • R
  • Python
  • Java
  • Scala
  • C
  • Julia

برای مقیاس‌سازی یادگیری ماشین با برنامه نویسی چند رشته‌ای، می‌توان از یک یا چند حافظه اصلی، هسته‌های پردازنده و دیسک سخت استفاده مجدد کنیم. در اين فصل نرم افزار منبع باز طراحی الگوریتم های مقیاس پذیر یادگیری ماشین برای علم داده با پردازش موازی از یک خوشه سخت افزاری ارائه شده است. این طرح ترکیبی از روشهای داده موازی و وظیفه موازی برای پردازش موازی است. کتابخانه های به دست آمده مانند Mahout و MLLib به طور گسترده ای در انجمن علم داده استفاده می شوند.

  • برنامه های کاربردی تکراری و در زمان واقعی: Hadoop رایج ترین چارچوب محاسباتی تکراری است. نرم افزار مانند Hadoop عمدتا برای مشکلات موازی شگفت آور در محاسبات تکراری و ساختار داده‌های حافظه‌ای برای ذخیره داده‌ها در تکرارها ساخته شده است. اگر در هر داده یا تقسیم وظیفه، آمار کافی قابل تعریف نباشد، این نرم افزار مناسب نخواهد بود.
  • نمودارهای پردازش موازی گراف: برنامه‌های افزودنی به چارچوب‌های محاسباتی تکراری با استفاده از MapReduce، اضافه کردن برنامه حل وظیفه آگاهانه حلقه، حافظه نهان ناپایدار و نمودارهای چرخشی هدایت شده در حافظه مانند مجموعه‌های توزیع شده قابل انعطاف ممکن است در حافظه ذخیره شده و در تکرارها مجدداً مورد استفاده قرار گیرند. برای مقایسه، محیط برنامه نویسی R برای اجرای تک رشته ای و تک گره در یک معماری آرایه مشترک مناسب برای محاسبات تکراری طراحی شده است. R مجموعه بزرگی از الگوریتم های یادگیری ماشین سریال دارد. الحاقات R برای پشتیبانی از اجرای توزیع شده روی خوشه های Hadoop R را با Hadoop ادغام می کنند.

2-1-2 هوش ماشین و هوش محاسباتی

هوش ماشین مطالعه بکارگیری یادگیری ماشین، هوش مصنوعی در Big Data Analytics است. در حالی که تجزیه و تحلیل عظیم داده‌ها اصطلاح گسترده‌تری است که شامل داده‌ها، ذخیره‌سازی و محاسبات است، هوش ماشین برای برنامه‌های هوشمندی که می‌توان برای عظیم داده‌ها ساخته شود، تخصصی شد. فن‌آوری‌های هوش ماشین برای انواع مختلفی از مشکلات مانند طبقه‌بندی و خوشه بندی برای پردازش زبان طبیعی، مدل‌سازی ماشین‌های برداری و شبکه‌های عصبی مورد استفاده قرار می‌گیرند. نوآوری‌ها در فناوری ماشین آلات، صنایع، شرکت‌ها و جوامع را در بر می‌گیرد. فناوری‌های هوش ماشین در دست توسعه شامل پردازش زبان طبیعی، یادگیری عمیق، مدل‌سازی پیش‌بینی، پردازش سیگنال، دید رایانه، تشخیص گفتار، رباتیک و واقعیت افزوده است. هوش ماشین در صنایع مانند کشاورزی، آموزش، امور مالی، حقوقی، ساخت، پزشکی، رسانه، خودرو و خرده فروشی اعمال می‌شود. هوش ماشین در حال توسعه شرکت‌هایی در زمینه فروش، امنیت، استخدام، بازاریابی و کشف تقلب است.

2-1-3 مهندسی داده و علم داده

کشف دانش در پایگاه‌های اطلاعاتی (Knowledge discovery in databases: KDD)  و شناخت الگو (pattern recognition: PR) اصلی‌ترین تکنیک‌های حل مسئله هستند که برای به کارگیری تکنیک‌های مهندسی داده در مشکلات علوم داده استفاده می‌شوند. قبل از درک KDD، تکنیک‌های حل مسئله را مرور می‌کنیم. به طور کلی، خروجی روش های حل مسئله دانش است. دانش می‌تواند یک یا چند مضمون مانند دانش تجربی ، عقلی و عملی را ارضا کند. افراد می‌توانند بین بخش‌های مختلف این دانش انسجام ایجاد کنند. یا اجماع می‌تواند معیار نهایی برای قضاوت در مورد چنین دانش باشد. روش‌های مختلف برای کسب دانش شامل روش‌های هستی شناختی، معرفت شناختی ، بدیهی و بلاغی است.

2-2 محاسبات عظیم داده

2-2-1 سیستم های توزیع شده و سیستم‌های پایگاه داده

یادگیری ماشین به طور سنتی با طراحی، تجزیه و تحلیل و سنتز الگوریتم همراه است. با این حال، با ظهور عظیم داده‌ها، یادگیری ماشین در حال تبدیل شدن به جزئی جدایی ناپذیر در بسیاری از سیستم‌های رایانه‌ای است. در این بخش، دو سیستم کامپیوتری از جمله سیستم‌های پایگاه داده و سیستم‌های توزیع شده پوشش داده خواهد شد.

2-2-2 سیستم های جریان داده و استخراج جریان

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

2-2-3 زیرساخت های محاسباتی Ubiquitous

در این بخش، مدیریت و تجزیه و تحلیل عظیم داده‌ها، سیستم عامل‌ها، محصولات و سیستم‌های نسل بعدی پیشرفت تکنولوژی در علم، پزشکی و تجارت مورد توجه قرار گرفته است. اگرچه عظیم داده ها از نظر 4Vs تعریف می‌شوند (حجم ، تنوع ، سرعت و صحت) اما تعریفی که محاسبات الگوریتمی مورد نیاز اکثر چارچوب‌های عظیم داده‌ها را در نظر می‌گیرد، ما را به مطالعه عظیم داده‌هایی که در زیرساخت‌های محاسبات همه جا جاسازی شده‌اند، هدایت می‌کند. محاسبات Ubiquitous  ادغام طیف گسترده‌ای از زمینه‌های تحقیقاتی مانند محاسبات توزیع شده، محاسبات همراه ، تعامل انسان و کامپیوتر، شبکه‌های بی‌سیم و هوش مصنوعی است. زیرساخت محاسبات Ubiquitous  به تغییر مداوم از سیستم‌های اصلی متمرکز و ریز رایانه‌های مستقل به محاسبات غیرمتمرکز و فراگیر اشاره دارد. هم علم داده و هم محاسبات فراگیر سعی دارند هوش انسانی را با هوش محاسباتی افزایش دهند. چارچوب عظیم داده‌ها در محاسبات فراگیر به مدل‌های جدید برنامه نویسی و پارادایمی نیاز دارد که پیچیدگی داده‌های ناشی از منابع محدود و توپولوژی‌های بزرگ و پویای شبکه را کاهش دهد. در زیر برخی از برنامه‌های کاربردی رایج آمده که در آن از فناوری عظیم داده‌ها استفاده می‌شود.

  • Science: در علومی مانند نجوم و زیست شناسی برای کشف الگوهای پنهان در داده‌های علمی که در انبار داده‌های عمومی ذخیره شده است.
  • Education: رویكردهای مربوط به اثربخشی آكادمیك فعالیت‌های آموزشی با در نظر گرفتن علاقه و عملكرد دانشجو در هر دو دوره مقدماتی و سطح پیشرفته در حال طراحی است.
  • Health: از فناوری اطلاعات برای کاهش هزینه‌های مدیریت مراقبت های بهداشتی استفاده شده است. عظیم داده‌ها امکان مراقبت‌های بهداشتی شخصی را در پزشکی پیشگیرانه و تجویزی فراهم می‌کند.
  • Society: تجزیه و تحلیل عظیم داده‌ها در سیستم‌های اطلاعات جغرافیایی امکان برنامه ریزی بهتر شهری، مدل سازی محیط زیست، استفاده از انرژی، حمل و نقل و امنیت را فراهم می‌کند.
  • Enterprise: نوآوری هایی که توسط Big Data Analytics هدایت می‌شوند، می توانند فرایندها، سیاست‌ها و معماری‌های تجاری را بهبود بخشیده و تغییر دهند. این نوآوری‌ها روش‌ها و روشهای جدیدی را برای تعریف قیمت، محصول، بازار و مشتری در یک شرکت فراهم می‌کند.
  • Machines: در سراسر جهان، بخش‌های اقتصادی مانند انرژی، خودرو، هوا فضا، تولید، مخابرات، خرده فروشی، حمل و نقل و اتوماسیون صنعتی از چندین ماشین فیزیکی پیچیده در زیرساختهای خود استفاده می‌کنند. داده های جمع آوری شده از این ماشین‌ها یا توسط ماشین آلات یا فرایندها یا هر دو مصرف می‌شوند. تجزیه و تحلیل زمینه تولید و مصرف داده‌های ماشین امکان تصمیم گیری در مورد کارایی و درآمد ناشی از مکانیسم‌های جمع آوری، پردازش، بررسی و تفسیر داده‌ها را فراهم می‌کند.