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

سرگذشت هوش مصنوعی...آلن تورینگ یکی از تاثیرگذارترین افراد در حوزه هوش مصنوعی است و بسیاری مقاله‌ای که او در سال ۱۹۵۰ منتشر کرد را تولد هوش مصنوعی می‌دانند.آزمون تورینگ : هدف این آزمون بررسی هوشمندی ماشین بود.در این آزمون یک شخص به شکل غیر مستقیم با شخص دیگر و یک ماشین در ارتباط است و نمی داند کدامشان ماشین است. او از آنها سوالاتی می پرسد و اگر از روی جواب آنها نتواند شخص را از ماشین شخیص دهد می گوییم ماشین تست تورینگ قبول شده است.آزمون تورینگدر کتاب« هوش مصنوعی، یک رویکرد مدرن» دیدگاه‌های مختلف از دو بعد مورد بررسی قرار گرفته‌اند:· هوشمندی یا در رفتار است یا در تفکر· هوشمندی در انسان‌گونه بودن یا در منطقی بودن است.اگر همه حالات را در نظر بگیریم هوش مصنوعی چیزی است که:منطقی فکر کند.منطقی رفتار کند.مانند انسان فکر کند.مانند انسان رفتار کند.یادگیری ماشین همان هوش مصنوعی نیست!ویژگی‌های یادگیری ماشین: یادگیری با استفاده از داده و بدون استفاده از دستورات مستقیمتغییر خود با دیدن داده‌های جدید است؛ یعنی همانند انسان با کسب تجربیات جدید رفتار خود را تغییر می‌دهد.یادگیری عمیقعمری بسیار کوتاه‌تر از یادگیری ماشین دارد.استفاده از شبکه‌های عصبی مصنوعی یکی از انواع روش‌های یادگیری ماشین است این شبکه‌ها از ساختار ذهن انسان الگوبرداری شده‌اند و ساختاری لایه لایه دارند.یادگیری عمیق می‌تواند الگوهای پیچیده‌ تری را در داده پیدا کند.هوش مصنوعی : توانایی ماشین برای تقلید از رفتار انسان و اتخاذ تصمیم هوشمندانه مانند انسانیادگیری ماشین: توانایی ماشین برای یادگیری بدون نیاز به برنامه نویسی اختصاصییادگیری عمیق: استفاده از شبکه عصبی مصنوعی مانند مغز انسان برای یادگیری مسائل مختلفموقعیت‌های شغلی مرتبط با یادگیری ماشینData Analystتحلیل‌گر داده (Data Analyst) : معماری مناسب برای جمع آوری اطلاعات یک سازمان را بررسی می کند و پایگاه داده مناسب برای این کار را انتخاب می کند؛پس از آماده سازی و انتخاب قالب مناسب آنها را در پایگاه داده ای که طراحی کرده ذخیره می کند.سپس بعد از بررسی داده از داده ها اطلاعات مفید استخراج می کند که برای این کار باید اطلاعاتی در زمینه فعالیت های سازمان و اهداف آن داشته باشد.او نتایج را به شکل قابل فهم و ساده در اختیار افراد مختلف سازمان می گذارد.همچنین باید قدرت تحلیل بالا و دید نقادانه به مسائل داشته باشد.داشتن مهارت های برنامه نویسی برای تحلیل گر داده ضروری نمی باشد.Data Scientistدانشمند داده ( Data Scientist ) : نیازمند دانش آماری و ریاضیاتی و برنامه نویسی قوی تری نسبت به تحلیل گر داده است.همه اموری که تحلیل گر داده انجام می دهد،دانشمند داده هم می تواند انجام دهد علاوه بر آن باید با مفاهیم یادگیری ماشین و دانش برنامه نویسی آشنا باشد.دانشمند داده امور داده‌کاوی را معمولا با زبان‌های برنامه‌نویسی و کتابخانه‌های آن انجام می‌دهد ولی تحلیل‌گر از پلتفرم‌ها و نرم‌ افزار‌ها استفاده می‌کند. تحلیل‌گر با همه در ارتباط است و معمولا سوالات را دیگران برایش مطرح می‌کنند اما دانشمند داده خودش سوالات را طرح می‌کند، سوالاتی که در تصمیمات شرکت تاثیرگذار هستند.Data Engineerمهندس داده (Data Engineer) :می توان کار یک مهندس داده را با مفاهیم کلان‌ داده شرح داد یا روند رسیدن داده خام به دست مصرف‌ کنندگان داده را به او نسبت داد.او پس از مشورت با دیگر اعضای شرکت انتخاب می‌کند که چه داده‌ای از میان سیل داده تولیدی در اختیار شرکت قرار بگیرد. پس از انتخاب منابع داده، داده‌های منابع مختلف را یکپارچه می‌کند و برای نگهداری بهینه آن‌ها برنامه‌ریزی می‌کند.Machine Learning Engineerمهندس یادگیری ماشین (Machine Learning Engineer) : نقطه تلاقی مهندسی نرم‌افزار و علم داده است. مانند مهندس داده در فرآیند رسیدن داده از محل تولید تا مدل نقش داشته و با ساختار‌ های داده و پیچیدگی‌های مرتبط با آن آشنایی دارد.دانش یادگیری ماشین برخلاف مهندس داده برای مهندس یادگیری ماشین الزامی است.او داده را تا رسیدن به مدل همراهی می‌کند، و مسئول رساندن خروجی به کاربر نهایی نیز هست.پس از انجام بررسی‌های لازم، مدل نظری را وارد فرآیند عملیاتی می‌کند. باید پیچیدگی‌های محاسباتی و حافظه‌ای را محاسبه کند و مدل طراحی شده توسط دانشمند داده را برای کار در مقیاس بزرگ آماده کند. وظایف او جنبه نظری و عملیاتی دارند.به این صورت که او باید دانش کاملی از الگوریتم‌ها و روش‌های یادگیری ماشین داشته باشد.هم قبل از استقرار مدل، آن را مورد بررسی و تحلیل قرار دهد و هم بر فرآیند عملیاتی ساختن آن و محاسبه پیچیدگی‌ها نظارت داشته باشد. سپس بعد از از استقرار، مسئول نظارت و رسیدگی به آن خواهد بود.داده و انواع آنداده‌ها عنصر محوری یادگیری ماشین هستند و ماشین‌ها از داده‌ها یاد می‌گیرند.کلمات(زبان طبیعی)تشخیص گفتار،دسته‌بندی نوشتارها یا نظرات،پاسخ دادن به سوالاتتصویر(بینایی ماشین)تشخیص پلاک خودروها، تصاویر پزشکی اشعه ایکس، MRI یا سونوگرافیجداول بانک (قبول یا رد درخواست وام مشتری)،سیستم های توصیه گر(فروشگاه های اینترنتی) انواع داده تا اینجا را داده‌های ساختار نیافته و نوع جدولی را داده ساختارمند می‌نامیم.داده‌های عددی( مثل سن فرد یا موجودی حساب او) داده‌های دسته‌ای( مثل جنسیت یا شهر محل زندگی )سری زمانی: ماشین می‌تواند با دیدن تغییرات ویژگی مشخصی از یک داده در طول زمان، الگوی تغییرات آن را یاد بگیرد و به مسائل بر حسب زمان‌ ، در یک زمان مشخص پاسخ دهد( ارزش یک سهم در بورس، نوار قلب)مراحل انجام یادگیری ماشین به طور کلی رویکرد انجام یادگیری ماشین، دارای ۴ عنصر اساسی است:1. یک الگوریتم (مدل) برای تصمیم‌گیری2. یک معیار برای امتیازدهی اینکه عملکرد مدل چقدر خوب بوده3. بررسی خودکار کیفیت مدل بر اساس امتیاز4. یک روش خودکار برای بهبود امتیاز بر اساس ایجاد تغییرات در مدلانواع یادگیری ماشینیادگیری با نظارت نمونه‌هایی که دارای برچسب هستند شامل دو دسته:طبقه‌بندی (classification) :پیدا کردن برچسب به صورت متغیری گسسته (مانند مرد یا زن بودن)می‌باشد.رگرسیون (regression): تخمین مقدار یک ویژگی به صورت متغیری پیوسته(مانند قیمت و دما) برای یک نمونه می‌باشد. این الگوریتم‌ها برای پیش‌بینی روند بازار، قیمت خانه و ... به کار می‌روند.یادگیری بی‌نظارت نمونه های بدون برچسب هستند. به طور کلی به سه دسته تقسیم‌بندی می‌شوند:خوشه‌بندی :(clustering)در این گام باید معیاری برای سنجش فاصله بین داده‌ها انتخاب کنیم.کاهش ابعاد (dimensionality reduction):کاهش دادن تعداد ویژگی‌های آموزش مدل یادگیری ماشیناستخراج قانون وابستگی (association rule mining)یادگیری تقویتی عامل هوشمند، طبق حالت جاری،حرکتی انجام می‌دهد و بر اساس آن حرکت بازخورد هایی مثبت یا منفی دریافت می کند و عامل با این بازخورد خط ‌مشی خود را تغییر می‌دهد.این یادگیری وابسته به داده نیست، بلکه به واسطه تعامل با محیط می‌آموزد.سنجش یادگیری برای بررسی دقت مدل آموزش داده شده باید پاسخ‌های آن را روی داده‌ی جدیدی تست کرد. با تعداد زیادی سوال مختلف و سپس محاسبه‌ی دقت مدل روی تمامی آن‌ها، به همین دلیل معمولا تعدادی از دادگان برای انجام ارزیابی کنار گذاشته می‌شوند (دادگان آزمایش((test) و باقی آن‌ها برای آموزش (دادگان آموزش (train) )مدل استفاده می‌شود.زبان ها و ابزار هاپایتون برای علم داده پایتون به خصوص در صنعت از همه پر‌کاربرد‌ تر است زیرا: پایتون کتابخانه‌ها و ابزار‌هایی قوی و متعدد دارد کدهای پایتون قابل فهم است جامعه‌ای بزرگ از توسعه‌دهندگانچند پارادایمی بودنپایتون در مقابل Rپایتون و R دو زبان پرطرفدار در حوزه‌ی علم داده هستند. اشتراکات زیادی از جمله رایگان و متن باز بودن بین دو زبان وجود دارد. مستندات هر دو زبان با کمک کاربران نوشته‌ شده است و هر دو اجتماعات فعالی در اینترنت دارند. اما هرکدام برتری‌هایی نسبت به دیگری دارند.پایتون کتابخانه‌های متعدد و قوی‌ای دارد که در بالا به آنها اشاره شده است.تقریبا هر ۱۸ ماه یک بار نسخه‌ی جدید و با ثباتی از پایتون عرضه می‌شود.پایتون دارای نوشتار ساده است.زبان R توانایی کشیدن نمودارهای با کیفیت و متنوعی را دارد.زبان R به سرعت در حال توسعه است و تقریبا برای همه‌ی تکنیک‌های آماری پکیج دارد.کتابخانه‌های علم‌داده در پایتوننامپای (Numpy)داده ها در نهایت به شکل آرایه‌ای از اعداد درمی‌آید.پردازش و محاسبات روی آرایه‌ها سریعتر انجام می‌شود. اعضای یک آرایه همه از یک نوع می‌باشند و این ویژگی باعث می‌شود تا آرایه‌ها حجم کمتری در رم اشغال کنند. همچنین توابع بسیاری برای انجام انواع عملیات بر روی آرایه‌ها دارد که نسبت به توابع خود پایتون سریع‌تر اجرا می‌شوند. (می‌توان محاسبات را بدون استفاده از حلقه‌های تکرار انجام داد).پانداس (Pandas) ساختار اصلی داده به شکل دیتا فریم است که در واقع یک آرایه دو‌ بعدی است که در آن سطر‌ها و ستون‌ها عنوان دارند. می‌توان عملیات بسیار بیشتری بر روی داده انجام داد.با استفاده از ساختار‌های داده و امکاناتی که تعبیه شده، عملیات تحلیل و پاک‌سازی و آماده‌سازی داده را در پایتون می‌توان خیلی سریع و آسان انجام داد.مت‌پلات‌لیب (Matplotlib) ساخت نمودارهایی که بتوانند اطلاعات را به خوبی انتقال دهند یکی از مهمترین کارها در تحلیل داده است.این کتابخانه بیشتر در ساخت نمودارهای ۲ بعدی کاربرد دارد و رابط کاربری آن بسیار شبیه به متلب است.سایکت‌لرن (scikit-learn) معروف‌ترین و پرکاربردترین کتابخانه یادگیری ماشین در پایتون می‌باشد.حاوی ابزارهای متنوعی برای یادگیری ماشین و مدل‌سازی آماری است هدف از ساخت آن تمرکز بر مدل‌سازی داده به جای دستکاری و مرتب‌سازی و خلاصه کردن داده می‌باشد. واسط کاربری بسیار منسجمی دارد و کار با آن بسیار آسان است.چالش ها و محدودیت هاچالش‌های مربوط به دادهداده اساس یادگیری‌ ماشین است و هیچ الگوریتم و مدلی با داده بد نمی‌تواند عملکرد خوبی داشته باشد.تعداد ناکافی داده الگوریتم‌ها و مدل های یادگیری‌ ماشین برای آموزش باید از داده استفاده کنند. اگر به تعداد کافی داده به الگوریتم تزریق نکنیم، نمی‌توانیم انتظار عملکرد خوبی داشته باشیم.داده‌ بی‌کیفیت داده‌ بی‌کیفیت پر است از مقادیر اشتباه و گم‌شده، این اشتباهات اجازه نمی‌دهند مدل به عملکرد بالا دست پیدا کند.ویژگی‌های مناسب انتخاب ویژگی‌هایی که مدل بتواند از آن‌ها بیاموزد و از دل آن‌ها الگوهایی برای پیش‌بینی آینده استخراج کند.چالش‌های الگوریتمیبیش‌ برازش (Overfitting) مدل داده‌های آموزش را زیاد از حد یاد گرفته است.کم‌ برازش (Underfitting) مدل نتواند به خوبی از دادگان آموزش، یاد بگیرد. داده نامناسب ، (داده بی‌کیفیت که اطلاعات دقیق و جامعی از هدفی که قصد مدل کردن آن را داریم به دست نمی‌دهد) یکی از چندین دلیل کم‌ برازش است.زمان : مدت زمانی که طول می‌کشد تا آموزش مدل تمام شود، طول مدت توسعه محصول را تحت تاثیر قرار می‌دهد و زمان مصرفی توسط مدل برای پیش‌بینی نمونه‌ها زمانی است که کاربر‌ نهایی تجربه می‌کند. دانشمند داده همواره سعی می‌کند هر دو زمان را کمینه کند.فرایند آموزش مدل به زمان‌بر بودن معروف است. الگوریتم‌ها برای یادگیری زمان زیادی مصرف می‌کنند؛ بنابراین باید مدلی انتخاب کنیم که پیچیدگی زمانی خوبی داشته باشدیادگیری ماشین در عملتخمین وزن افراد :در این مسئله با در اختیار داشتن قد و جنسیت افراد باید وزن آن‌ها را پیش‌بینی کنیم.هر ردیف از دادگان مسئله مربوط به یک فرد و مشخصات آن طبق جدول زیر است:در حل این مسئله از کتابخانه‌های: scikit learn برای مدل‌سازی، pandas برای خواندن و دستکاری داده و از seaborn برای مصورسازی استفاده شده است.در این مسئله، اطلاعات هر فرد که شامل قد، وزن و جنسیت اوست، یک نمونه به شمار می‌آید.تکلیف T در این سوال، پیش‌بینی وزن افراد است!تجربه E در این مسئله، اطلاعات هر یک از افراد است که مدل با دیدن آن‌ می‌تواند سنجه P را در انجام تکلیف T بهبود دهد.سنجه P برای این سوال MAE است( Mean Absolute Error یا میانگین خطای مطلق)توضیحات گام به گام کد نویسی خواندن داده از فایل csv تغییر واحد داده‌هامصورسازی داده ساختن دادگان آموزش و آزمایش انتخاب مدل مناسب و آموزش تخمین مقادیر تست و ارزیابی عملکرد مدلبیش تر بدانیدچرخه تب تکنولوژی نمودار رشد تکنولوژی‌­های مختلف را در طی زمان نشان می‌دهد. هر تکنولوژی ۵ مرحله اصلی را طی می‌کند. به این صورت که ابتدا معرفی می‌شود و شروع به مشهور شدن می‌کند. در این مرحله اغلب شرکت‌ها به استفاده از این فناوری جدید روی می‌آورند. در مرحله دوم که اوج قله است، نام آن تکنولوژی در همه‌جا شنیده شده و با جذب سرمایه‌گذار، بسیاری از استارت‌ آپ‌ها شروع به معرفی و استفاده از آن می‌کنند. اما در مرحله سوم محدودیت‌های این تکنولوژی شناخته می‌شود و آهسته از شهرت آن کاسته شده و بسیاری استفاده از آن را کنار می‌گذارند. در مرحله چهارم، تنها برخی کسانی که در عرصه‌ آن تکنولوژی باقی‌مانده‌اند شروع به فعالیت اصلی در این حوزه کرده و تکنولوژی شروع به رشد می‌کند تا زمانی که به مرحله پایانی یعنی پختگی و ثبات نسبی برسد.هوش مصنوعی عمومیساختن عامل هوشمندی که مانند انسان از هوشی عمومی برخوردار باشد که توانایی آموختن در مواجهه با هر مسئله جدیدی را داشته باشد و محدود به یک زمینه یا مسئله خاص نباشد.شرکت‌های پیشروشرکت DeepMind شرکت دیپ‌ مایند هدف بلند مدت خود را حل مسئله هوشمندی و ساخت سیستم‌های حل مسئله با عمومیت و توانایی بیشتر که از آن به همان هوش مصنوعی عمومی یاد می‌کند اعلام کرده است. از پروژه‌های دیپ‌ مایند می‌توان به تشخیص بیماری‌های چشمی از روی تصاویر، بهینه کردن انرژی در مراکز داده گوگل و بهبود محصولات گوگل با استفاده از هوش مصنوعی اشاره کرد.شرکت OpenAI هدف خود را ساختن هوش مصنوعی عمومی‌ای می‌داند که برای بشریت مفید واقع شود. مدل زبانیGPT-3 و مدل ساخت تصاویر از روی متن DALL.E از محصولات این شرکت هستندگروه AI شرکت Facebook زمینه‌های تحقیقاتی این بخش شامل ابعاد مختلف یادگیری ماشین از جمله بینایی ماشین و پردازش زبان طبیعی می‌شود اما معروف‌ترین محصول آن یک کتابخانه متن‌باز یادگیری ماشین به نام PyTorch است. این ابزار سادگی در استفاده و امکانات زیادی که دارد.گروه AI شرکت Googleشرکت گوگل هم به پشتوانه منابع پردازشی و داده‌ای عظیمش گروهی ویژه هوش مصنوعی تاسیس کرده است که به دنبال توسعه هوش مصنوعی و استفاده از آن در محصولات و زمینه‌های مختلف است.چرا از یادگیری‌ ماشین استفاده می‌کنیم؟ یادگیری‌ ماشین به شرکت‌ها این امکان را می‌دهد که کارهایی که قبلاً تنها توسط انسان‌ها امکان‌پذیر بود را با سرعت بالاتر و دقت بیشتر انجام دهند. استفاده از یادگیری‌ ماشین به دلایل زیر خیلی آسان‌تر و فراگیرتر شده است:افزایش بی حد و حصر داده‌هاذخیره سازی مقرون به صرفه داده‌هاافزایش قدرت پردازنده‌ها و کاهش هزینه‌های آن‌هامنبع :https://quera.ir/college/land/college/8522/