article

پیش نیازهای یادگیری ماشین

محمد کاظمی 3 سال،8 ماه پیش 1,576 دسته بندی : برنامه نویسی

یادگیری ماشینی بدون شک پر تقاضا ترین فناوری عصر است! اگر مبتدی هستید که می خواهید یادگیری ماشین را شروع کنید ، مهم است که پیش نیازهای یادگیری ماشین را بدانید. این وبلاگ به شما کمک می کند مفاهیم مختلفی را که باید قبل از شروع یادگیری ماشینی بدانید ، درک کنید.

1- جبر خطی

خطی با بردارها ، ماتریس ها و تبدیلات خطی سروکار دارد. این در یادگیری ماشین بسیار مهم است زیرا می تواند برای تبدیل و انجام عملیات روی مجموعه ای داده ها مورد استفاده قرار گیرد.

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

این یک رشته مهم در ریاضیات است و در بسیاری از الگوریتم های یادگیری ماشین نقشی اساسی دارد. مجموعه داده های دارای چندین ویژگی برای ساخت مدل های یادگیری ماشین مورد استفاده قرار می گیرند و برای ساخت مدل یادگیری ماشین نقش مهمی دارند.

3- احتمالات

احتمالات به پیش بینی احتمال وقوع کمک می کند ، در واقع به ما برای پیش بینی اتفاق افتادن یا نیوفتادن یک وضعیت کمک می کند. علم احتمالات یکی مهم ترین مباحث در یادگیری ماشین است.

4-آمار

آمار شامل ابزاری است که می تواند برای گرفتن نتیجه از داده ها مورد استفاده قرار گیرد.آمار به ما کمک می کند تا اطلاعات مفیدی را از داده های خام (داده هایی که هیچ پردازشی روی آنها صورت نگرفته) به دست بیاوریم.

5- یک زبان برنامه نویسی

برای پیاده سازی کل فرایند یادگیری ماشین ، دانستن زبان های برنامه نویسی مانند R و Python ضروری است. Python و R هر دو کتابخانه داخلی دارند که اجرای الگوریتم های یادگیری ماشین را بسیار آسان می کنند.

جدا از داشتن دانش اولیه برنامه نویسی ، مهم است که شما بدانید که چگونه داده ها را استخراج ، پردازش و تجزیه و تحلیل کنید. این یکی از مهمترین مهارتهایی است که برای یادگیری ماشین مورد نیاز است.

مورد استفاده یادگیری ماشین

یادگیری ماشینی در واقع ایجاد الگوریتمی است که می تواند با استفاده از داده ها پیش بینی کند مانند انواع اشیای موجود در تصویر یا بهترین ترکیب داروها برای درمان بیماری خاص یا فیلتر کردن هرزنامه و...

یادگیری ماشین بر اساس پیش نیازهای ریاضی بنا شده است و اگر می دانید چرا ریاضیات در یادگیری ماشین استفاده می شود ، آن را سرگرم کننده می کند. شما باید بدانیدریاضیات پشت توابعی که استفاده خواهید کرد را بدانید و اینکه کدام مدل و چرا برای داده ها مناسب است.

بگذارید با یک مساله در مورد پش بینی رشد قیمت مسکن شروع کنیم:

با داشتن مجموعه ای از داده ها که حاوی مساحت خانه و قیمت آن می باشد شروع می کنیم.

اکنون یک مجموعه داده داریم که شامل دو ستون است که در زیر نشان داده شده است:

باید بین این دو متغیر همبستگی وجود داشته باشد تا دریابیم که ما نیاز به ساخت مدلی داریم که بتواند قیمت خانه ها را پیش بینی کند ، چگونه می توانیم این کار را انجام دهیم؟

بیایید این داده ها را نمودار کنیم و ببینیم چگونه به نظر می رسد:

در تصویر بالا محور X بهای هر متر مربع فضای زندگی و محور Y بهای خانه است. اگر تمام نقاط داده را رسم کنیم ، یک نمودار پراکندگی بدست خواهیم آورد که می تواند توسط یک خط نشان داده شود ، همانطور که در شکل بالا نشان داده شده است و اگر برخی از داده ها را وارد کنیم ، نتیجه آن پیش بینی می شود. در حالت ایده آل ، باید خطی پیدا کنیم که حداکثر نقاط داده را قطع کند.

در اینجا ما سعی می کنیم یک خط ایجاد کنیم که به این صورت نوشته می شود:

Y = mX + c

این روش پیش بینی رابطه خطی بین هدف (متغیر وابسته) و متغیر پیش بینی کننده (متغیر مستقل) به عنوان رگرسیون خطی نامیده می شود. این به ما امکان می دهد تا رابطه بین دو متغیر را مطالعه و خلاصه کنیم.

X = متغیر مستقل
Y = متغیر وابسته
c = y - خط حایل
m = شیب خط
اگر معادله را در نظر بگیریم مقادیری برای X داریم که یک متغیر مستقل است ، بنابراین تنها کاری که باید انجام دهیم این است که مقادیر m و c را محاسبه کنیم تا مقدار Y را پیش بینی کنیم.

بنابراین چگونه این متغیرها را پیدا می کنیم؟

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

بنابراین برای یافتن بهترین حالت متناسب ، می توان از تابع خطای حداقل مربعات استفاده کرد که خطایی بین مقدار واقعی y و مقدار پیش بینی شده y پیدا خواهد کرد.

تابع خطای حداقل مربعات را می توان با استفاده از معادله زیر نشان داد:

با استفاده از این تابع می توان با مقایسه آن با مقدار واقعی نقطه داده ، خطای مربوط به هر نقطه داده پیش بینی شده را کشف کرد. سپس جمع بندی همه این خطاها را می گیرید و آنها را مربع می کنید تا انحراف در پیش بینی را به دست آورید.

اگر محور سوم را به گراف خود اضافه کنیم که شامل تمام مقادیر خطای احتمالی است و آن را در فضای 3 بعدی رسم کنیم ، خروجی به صورت زیر خواهد بود:

در تصویر بالا ، مقادیر ایده آل در قسمت سیاه پایین است که قیمت های نزدیک به نقطه واقعی داده را پیش بینی می کند. مرحله بعدی یافتن بهترین مقادیر ممکن برای m و c است. این کار را می توان با استفاده از تکنیک بهینه سازی موسوم به نزول گرادیان انجام داد.

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

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

Y = b0 + b1x1 + b2x2 +… .. + bnxn + c

این رگرسیون چندخطی است و به جبر خطی تعلق دارد ، در اینجا می توانیم از ماتریس های اندازه m*n استفاده کنیم که در آن m ویژگی هستند و n نقطه های داده اند.

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

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

اکنون پیش نیازهای یادگیری ماشینی را می دانید.

 

مطالب پیشنهادی
article

نقشه راه کامل برای تسلط بر ماشین لرنینگ از صفر تا حرفه ای!

توی این مطلب می خوام به طور کامل در مورد مسیر و روند یادگیری ML یا ماشین لرنینگ از صفر تا حرفه ای صحبت کنم و مسیر راه رو بهتون نشون بدم!

محمد کاظمی 5,578 بیشتر بخوانید
article

کاربردهای پایتون در دنیای واقعی

در این مقاله به معرفی کاربردهای پایتون در دنیای واقعی می پردازیم

محمد کاظمی 975 بیشتر بخوانید
article

php در برابر python : تفاوتشون چیه؟

توی این مقاله میخوایم بپردازیم به تفاوت های بین دو زبان برنامه نویسی محبوب یعنی PHP و Python

محمد کاظمی 685 بیشتر بخوانید