کاربرد یادگیری ماشین در اینترنت اشیا
همه دربارهی دادهها، اینترنت اشیا (Internet of Things) و هوش مصنوعی (Artificial Intelligence) بسیار هیجانزده هستند! در مقالات زیادی در مورد این که روزانه چه حجمی از داده تولید میکنیم صحبت شده است و آمار بسیاری میزان دادههایی که تا پنج سال آینده تولید میکنیم را نشان میدهند. اما در این مطلب ا در مورد این بحث میکنیم که کاربرد یادگیری ماشین در اینترنت اشیا چیست و یادگیری ماشین چگونه اینترنت اشیا را بهبود میبخشد.
یادگیری ماشین چیست؟
یادگیری ماشین از زمانی که رباتهای هوشمند فیسبوک زبان جدیدی را برای مکالمه با یکدیگر کشف کردند بر سر زبانها نشست. و با بحث و تئوریپردازیهای افراد در اینترنت در مورد رباتهای آینده، تقریبا فهمیدیم که یادگیری ماشین دربارهی چیست.
به زبان ساده، یادگیری ماشین در تکنولوژی امروز، به معنای حذف دخالت انسان در هر جای ممکن است. یعنی دادهها بتوانند الگوهای خود را پیدا کنند و بدون این که فردی کد جدیدی بنویسد، تصمیمهای خودمختار بگیرند. مثلا اگر از دستیار صوتی Siri استفاده کنید، میبینید که با استفادهی بیشتر از آن، پاسخهای بیعیبتر و مناسبتری خواهید گرفت. این یکی از کاربردهای سادهی یادگیری ماشین است.
چرا از یادگیری ماشین در اینترنت اشیا استفاده کنیم؟
وقتی وارد مبحث پیچیدهای مثل اینترنت اشیا میشویم، یادگیری ماشین چگونه میتواند اوضاع را بهبود بخشد؟ هر بار که سنسورهای اینترنت اشیا دادهای دریافت میکنند، باید فردی دادهها را دستهبندی کند، آنها را بررسی کند و مطمئن شود که اطلاعاتی را برای تصمیمگیری به دستگاه برگرداند. اما اگر دادههای بسیار زیادی داشتهباشیم، این فرد چگونه میتواند این جریان عظیم داده را مدیریت کند؟ مثلا خودروهای خودران باید در لحظه تصمیمهای متعددی بگیرند و متکی بودن به انسانها کاملا غیرممکن است. اینجاست که نقش یادگیری ماشین در اینترنت اشیا نمایان میشود.
انتخاب الگوریتم مناسب یادگیری ماشین در اینترنت اشیا
هر الگوریتم یادگیری ماشین وظیفه خاصی را انجام میدهد؛ پس لازم است ابتدا کارهایی که باید انجام شود را مشخص کنیم. بعضی کارها شامل «پیدا کردن دادههای غیرعادی»، «ساختاریابی»، «پیشبینی دستهبندیها» و «پیشبینی مقادیر»، «استخراج ویژگیها» و … میشوند.
طبقهبندی دادهها باعث میشود وظایف به راحتی مشخص شوند و ما بتوانیم به آسانی الگوریتم مناسب را اعمال کنیم. برای مثال، برای کار کردن روی «ساختاریابی دادهها»، میتوان از الگوریتمهای خوشهبندی (clustering) مثل K-means استفاده کرد. این الگوریتم طوری طراحی شدهاست که بتواند مجموعه دادههای عظیمی که در آن انواع دادههای مختلفی وجود دارد را مدیریت کند. همچنین برای کار با دادههای غیرعادی و دادههایی با نویز بالا، میتوان از الگوریتمهای One-Class Support Vector Machines و PCA-Based Anomaly Detection استفاده نمود.