مقدمه‌ای بر یادگیری ماشین

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

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

یادگیری ماشین چیست؟

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

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

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

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

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

هوش مصنوعی ایده‌ای است که ماشین‌ها بتوانند فعالیت‌هایی مشابه آنچه معمولا فقط انسان‌ها قادر به انجام آنها هستند را انجام دهند. اگر شما تا کنون مکالمه‌ای با یک چت‌بات داشته‌اید یا اگر از Siri یا Alexa استفاده کرده‌اید شما با هوش مصنوعی تعامل داشته‌اید.

با اینکه یادگیری ماشین با هوش مصنوعی یکسان نیست، اما می‌تواند راهی برای دستیابی به هوش مصنوعی باشد.

یادگیری ماشین چگونه کار می‌کند؟

بررسی اجمالی یادگیری ماشین
بررسی اجمالی یادگیری ماشین

سه روش وجود دارد که ماشین‌ها از طریق آنها یاد می‌گیرند:‌ یادگیری بانظارت (Supervised Learning)، یادگیری بدون نظارت (Unsupervised Learning) و یادگیری تقویتی (Reinforcement Learning).

یادگیری ماشین بانظارت (Supervised Machine Learning)

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

یادگیری ماشین بانظارت
یادگیری ماشین بانظارت

دو نوع یادگیری ماشین بانظارت وجود وجود: طبقه‌بندی (Classification) و رگرسیون (Regression).

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

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

یادگیری ماشین بدون نظارت (Unsupervised Machine Learning)

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

یادگیری ماشین بدون نظارت
یادگیری ماشین بدون نظارت

مانند یادگیری با نظارت دو نوع یادگیری بدون نظارت هم وجود دارد: خوشه‌بندی (Clustering) و وابستگی (Association).

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

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

یادگیری ماشین تقویتی (Reinforcement Machine Learning)

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

الگوریتم‌های یادگیری ماشین

الگوریتم‌های متفاوت زیادی وجود دارد که برای دستیابی به یادگیری ماشین استفاده می‌شود. الگوریتم‌های یادگیری ماشین از این نظر که بسیار بر آمار متکی هستند منحصر بفردند. برخی از رایج‌ترین این الگوریتم‌ها رگرسیون خطی (Linear Regression)، رگرسیون لجستیک (Logistic Regression)، ماشین‌های بردار پشتیبانی (Support Vector Machines)، کی-نزدیک‌ترین همسایه (K-nearest neighbors) و درخت‌های تصمیم (Decision Trees) هستند.

رگرسیون خطی (Linear Regression)

الگوریتم رگرسیون خطی داده‌ها را روی یک دستگاه مختصات دکارتی (یک گراف X و Y) رسم می‌کند و خطی میان داده‌ها رسم می‌کند. این خط تا حد امکان به نقاط زیادی از داده‌ها نزدیک است. سپس این خط برای یافتن روابط میان نقاط داده‌ها و مشخص کردن یک روند کلی استفاده می‌شود. این می‌تواند در پیشبینی کردن به رایانه کمک کند.

رگرسیون لجیستیک (Logistic Regression)

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

ماشین بردار پشتیبانی (Support Vector Machine)

ماشین بردار پشتیبانی هم مانند رگرسیون خطی یک خط روی گراف رسم می‌کند. این خط داده‌ها را در گروه‌هایی از هم جدا می‌کند. داده‌های یک طرف از خط در یک دسته و داده‌های طرف دیگر خط در دسته دیگری خوشه‌بندی می‌شوند.

کی-نزدیک‌ترین همسایه (K-nearest neighbors)

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

درخت تصمیم (Decision Tree)

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

یادگیری ماشین چگونه شما را تحت تاثیر قرار می‌دهد؟

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

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

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

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

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

نتیجه‌گیری

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

https://medium.com/better-programming/an-introduction-to-machine-learning-a4a6506c4bc7