یادگیری ماشین و مدلسازی آماری هر دو روشهایی برای کار با دادهها هستند. شباهت این دو روش در این است که هر دو تلاش میکنند به حل مسائل کمک کنند. اما تفاوتهای مهمی میان آنها وجود دارد. به زبان ساده تفاوت میان یادگیری ماشین و مدلسازی آماری در حجم دادههایی است که هر یک از آنها میتوانند با آن کار کنند و البته در روش مدلسازی آماری انسان در ساخت مدلها دخالت دارد. در ادامه دیاگرام Venn آمده است که محدودهی کارایی مدلسازی آماری و یادگیری ماشین در علم دادهها در آن دیده میشود.
سوالی که در آغاز پیش میآید این است که هدف انسان از استفاده از این روشها چیست؟ پاسخ این سوال به صورت کلی «یادگیری از دادهها» است. انسان تلاش میکند به کمک روشهای یادگیری ماشین و مدلسازی آماری، از دادههای تولید شده در یک فرآیند استفاده کرده و دربارهی آن پدیده اطلاعات کافی به دست آورد.
اما تعریف این فرآیندها چیست؟
در یکی از تحقیقاتی که شرکت مشاورهی McKinsey منتشر کرده است، تفاوت این دو روش با یک مثال از حورهی کسبوکار بررسی شده است:
موضوع: ریسک ریزش مشتری در یک دورهی زمانی برای یک شرکت ارتباطات.
دادههای در دسترس: A و B
نموداری که Mckinsey در ادامه به دست آورده است فوقالعاده است. به این نمودار نگاه کنید تا تفاوت میان الگوریتم یادگیری ماشین و مدل آماری را ببینید.
شما در گراف بالا چه چیزی میبینید؟ مدلسازی آماری ایجاد یک فرمولبندی ساده از مسئله است. در اینجا یک نمودار غیرخطی میبینیم که تا حدودی افرادی که ریسک ریزش دارند را از افرادی که ریسک ریزش ندارند جدا کرده است. اما وقتی به نمودارهای کانتوریای که الگوریتم ماشین لرنینگ ایجاد کرده نگاه میکنیم میفهمیم شباهتی به نمودار مدلسازی آماری ندارد. به نظر میرسد کانتورهایی که یادگیری ماشین تولید کرده است تمام الگوهای موجود را پیدا کردهاند. این کاری است که یادگیری ماشین میتواند برای شما انجام دهد.
اگر این به اندازهی کافی برای شما قانع کننده نیست به این مثال توجه کنید:
سامانههای توصیه کننده(recommendation engine) گوگل و یوتیوب از الگوریتمهای یادگیری ماشین استفاده میکنند که میتواند در یک ثانیه میلیاردها مشاهده انجام داده و یک توصیهی عالی را نمایش دهد. این درحالی است که یک مدل آماری برای انجام یک میلیون مشاهده که به پارامترهای زیادی وابستهاند به یک سوپرکامپیوتر احتیاج دارد.
تا اینجا تفاوت خروجی این دو رویکرد را دیدیم. در ادامه دربارهی تفاوتهای ساختاری آنها صحبت خواهیم کرد:
تمام تفاوت هایی که در بالا آمده است این دو را تا حدی از هم جدا می کند. اما در واقع هیچ مرز سفت و محکمی بین ماشین سازی و مدل سازی آماری وجود ندارد.
آنها به عصرهای متفاوتی تعلق دارند
قرنها است بشر از مدلسازی آماری استفاده میکند در حالیکه یادگیری ماشین به تازگی گسترش پیدا کرده است. در دههی ۹۰ گسترش فناوریهای دیجیتال و افزایش قدرت محاسبه دانشمندان علم داده را قادر ساخت تا از مدلسازی دست بردارند و تلاش کنند تا کامپیوترها خودشان مدلسازی را یادبگیرند و به این ترتیب یادگیری ماشین به وجود آمد. همچنین حجم غیر قابل مدیریت و پیچیدگی big data باعث شد نیاز به یادگیری ماشین افزایش پیدا کند و در نتیجه توجهات به این عرصه بیشتر شد و پیشرفتهای زیادی اتفاق افتاد.
مدلسازی آماری در حقیقت کار بر روی یک سری فرضیات است. برای مثال رگرسیون خطی از فرضهای زیر استفاده میکند:
به همین ترتیب رگرسیون لجستیک هم فرضهای خودش را دارد. با وجود اینکه الگوریتمهای یادگیری ماشین هم باید به چنین چیزهایی احترام بگذارند اما به طور کلی از بیشتر این فرضیات در آنها چشمپوشی شده است. مهمترین مزیت استفاده از یک الگوریتم یادگیری ماشین این است که لزومی به وجود یک مرز پیوستگی در آنها وجود ندارد. بنابراین نیازی نیست که توزیع متغیرهای وابسته و مستقل را در الگوریتمهای ماشین لرنینگ مشخص کنیم.
الگوریتمهای یادگیری ماشین ابزارهایی هستند که کاربرد بسیار گستردهای دارند. این ابزارها قابلیت یادگیری از میلیاردها مشاهده را به صورت تک به تک دارند. آنها پیشبینی میکنند و میتوانند همزمان یادبگیرند. الگوریتمهای دیگر مانند big forest و gradient boosting هم در کار با big data بسیار سریع هستند. یادگیری ماشین با حجم زیاد ویژگیها یا تعداد زیاد مشاهدات بسیار خوب کار میکند در حالیکه مدلسازی آماری بهطورکلی برای حجم کمتری از داده قابل استفاده است.
در این جدول میتوانید کلماتی که برای مفاهیم مشابه در هر یک از روشهای یادگیری ماشین و مدلسازی آماری به کار میرود را ببینید.
statistics
Machine learning
model
Network , graphs
parameters
weights
fitting
learning
Test set performance
generalization
Regression\classification
Supervised learning
Density estimation, clustering
Unsupervised learning
حتی اگر هدف نهایی یادگیری ماشین و مدلسازی آماری یکسان باشد باز هم فرمولبندی آنها تفاوت قابل توجهی با یکدیگر دارد.
در یک مدل آماری، ما تلاش میکنیم تابع f را در رابطهی زیر به دست آوریم:
تابع خطا +(متغیر مستقل)f =(y)متغیر وابسته
یادگیری ماشین تابع f را از معادله خارج میکند و در نتیجه رابطه به شکل زیر ساده میشود:
Output(y) -------> input(x)
ماشین تلاش میکند دستههایی از مقادیر x را در n بعد(n در اینجا تعداد ویژگیها است) بفهمد که به ازای آنها رخداد y کاملا متفاوت است.
طبیعت پیش از هر اتفاقی فرض خاصی انجام نمیدهد. بنابراین هرچه تعداد فرضها در یک مدل پیشبینی کمتر باشد در حقیقت قدرت پیشبینی بیشتر خواهد بود. یادگیری ماشین همانطور که از نامش پیداست پیشنهاد میکند نقش انسان را به حداقل برسانیم. هنگامی که کامپیوتر تلاش میکند الگوهای پنهایی که میان دادهها وجود دارد را پیدا کند، یادگیری ماشین تلاش میکند آنها را یادبگیرد. با توجه به این که ماشین روی حجم زیادی از داده کار میکند و این از تمام فرضها مستقل است، در این مدلها قدرت پیشبینی بسیار بالا خواهد بود. مدلسازی آماری برمبنای ریاضیات و تخمین ضرایب انجام میشود. این مسئله نیازمند آن است که شخصی که مدلسازی انجام میدهد رابطهی میان متغیرها را پیش از قراردادن آنها در مدل بداند.
شاید به نظر برسد یادگیری ماشین و مدلهای آماری دو شاخهی مختلف از مدلهای پیشبینی کننده هستند و در حقیقت یکسانند. برق میان این دو در طول دههی گذشته بسیار کاهش یافته است. هر دو شاخه از یکدیگر چیزهای زیادی یادگرفتهاند و در آینده نیز به هم نزدیکتر خواهند شد.