الگوریتم SVM یا ماشین پیشتیبان بردار
الگوریتمهای SVM یا Support Vector Machine از دقیقترین و نیرومندترین الگوریتم های داده کاوی به شمار میرود که برای رده بندی داده های خطی و غیر خطی مورد استفاده قرار میگیرد. محاسبات الگوریتم ماشین پشتیبان بردار به قدری پیچیده است که سریع ترین آن ها هم به کندی عمل میکند. هدف ما جداسازی داده ها و دسته بندی آن ها در دو کلاس مختلف توسط منحنیها و یا ابرصفحهها است. همانطور که در شکل زیر مشاهده میکنید، با وجود این که ممکن است جوابهای متفاوتی برای این جداسازی وجود داشته باشد، ولی در SVM ، ما به دنبال خط و یا ابر صفحه ای هستیم که میزان فاصله آن از نزدیکترین عنصر هر دو دسته، حداکثر باشد. در اینجا منظور از فاصله، فاصله خط قرمز و خط سبز، از داده های مستطیل شکل و دایرهای است. به عبارتی به دنبال خطی هستیم که پهنترین حاشیه امن (خالی از هر کلاس داده) را داشته باشد.
حال برای یافتن بهترین خط در الگوریتم داده کاوی SVM ، همانطور که در شکل زیر و محاسبات مربوطه نشان داده شده است، تنها کافیست مقدار عبارت مخرج را حداکثر کنیم تا فاصله خط تا هر گروه از داده ها حداکثر گردد. توجه کنید که فاصله این خط از Class 1 و Class 2، با یکدیگر برابر است.
در این قسمت به عنوان تمرین، برای دو نقطه (1و1) و (2و3)، بهترین خط گذرنده را مییابیم. برای این کار ابتدا مقادیر این دو نقطه در معادله خط قرار میگیرد و به دو معادله زیر میرسیم. حال با حل دستگاه دو معادله و دو مجهول، بردار مقادیر ω قابل محاسبه است. بدین ترتیب، با یافتن تمامی مقادیر مجهول، معادله خط مورد نظر بهدست میآید. این نکته را در نظر بگیرید که در اینجا، ما با انجام محاسبات زیر، تنها خط گذرنده از بین دو نقطه را یافتیم. در حالتهایی که داده های ما چندین بعد دارند و تعداد آنها نیز بسیار زیاد است، محاسبات مربوط به یافتن ابرصفحه گذرنده از بین این داده ها بسیار دشوار و زمانبر خواهد بود.
جذر خطای میانگین مربعات یا RMSE
خطای میانگین مربعات یا همان Mean Square Error که بهصورت مخفف با MSE نیز شناخته میشود، یکی از ابزارهای آماری برای یافتن دقت پیش بینی انجام شده در مدل سازی میباشد. در مواردی که متغیر هدف در مدل پیش بینی شما از جنس عددی باشد، نحوه ارزیابی دقت با هنگامی که متغیر هدف در مدل پیش بینی چند مقداره است، کمی تفاوت دارد. دقت مدل در حالت پیش بینی چند مقداره، از نسبت تعداد نمونه درست پیش بینی شده به کل داده های مورد بررسی بهدست میآید. ولی وقتی مقادیر بهصورت عددی هستند، باید با روش های آماری به محاسبه خطای میانگین مربعات و جذر خطای میانگین مربعات ( RMSE ) بپردازیم. وقتی میگوییم مدلسازی ما دقت بالاتری دارد که خطای بهدست آمده بهازای یک مدل خاص، کمتر از مدل دیگری باشد. روش محاسبهی RMSE در زیر آمده است:
در تمرین زیر میخواهیم با بهکارگیری زبان برنامه نویسی پایتون به مقایسه چهار مدل داده کاوی زیر بپردازیم و در ادامه دقت این چهار مدل پیش بینی را با ابزار RMSE مورد ارزیابی قرار دهیم:
- K نزدیکترین همسایه یا KNN
- درخت تصمیم یا Decision Tree
- شبکه عصبی یا Neural Network
- و ماشین پشتیبان بردار یا Support Vector Machine
توسعه مهارت با حل تمرین
داده های مربوط به دیتاست Data را وارد پایتون کرده و 30 درصد داده ها را به عنوان داده test جدا کنید. حال 4 مدل KNN، SVM، Decision Tree و Neural Network را برای داده های train پیاده سازی کرده و مقدار MSE و RMSE را بهازای پیش بینی صورت گرفته توسط هر مدل محاسبه و چاپ کنید.
در فیلمک زیر، علیرضا قره داغی به حل تمرین بالا پرداخته است:
<p>
</p>
نظرات (2)