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

از گذشته فرایند تفکر و طرز کار با مغز مورد توجه دانشمندان بوده است.در آثار به جا مانده از یونانیان نشان می دهد که آنها در تلاش برای ساخت یک مغز مکانیکی بودند.آلن تورینگ از افراد تاثیر گذار هوش مصنوعی در سال 1950 بود.تست تورینگ از معیار هایی برای تشخیص هوشمندی ماشین است.شبکه ی عصبی یکی از اولین پژوهش‌های عملی هوش مصنوعی بود که دو دانشجو در هاوارد اولین شبکه عصبی مصنوعی که شامل 40 نورون بود ساختند امروزه شبکه های عصبی مصنوعی جدید شامل هزاران نورون اندکه از آن ها برای طبقه بندی تصاویر استفاده می شود.باخت کاسپاروف قهرمان شطرنج جهان از سیستم deep blueباعث شد هوش مصنوعی مورد توجه بسیار قرار بگیرد.هوشمندی را می‌توان به شکلهای مختلفی تعریف کرد,در کتاب هوش مصنوعی یک رویکرد مدرن از دو دیدگاه آن را بررسی می‌کند, در دیدگاه اول هوشمندی یا در رفتار است یا در تفکر و در دیدگاه دوم هوشمندی در انسان گونه بودن یا در منطقی بودن است.تعریف هوش مصنوعی با توجه به این دیدگاه ها یعنی:1.منطقی فکر کردن2.منطقی رفتار کردن3.مانند انسان فکر کردن4.مانند انسان رفتار کردنامروزه هر برنامه‌ای که هوشمندی داشته باشد یا به نوعی رفتار انسان را تقلید کند به عنوان هوش مصنوعی پذیرفته میشود. توجه داشته باشید یادگیری ماشین با هوش مصنوعی متفاوت است, یادگیری ماشین را می توان زیر مجموعه ی هوش مصنوعی در نظر گرفت یکی از ویژگی‌های مهم یادگیری ماشین یادگیری با استفاده از داده و بدون استفاده از دستورات مستقیم است, ویژگی دیگر آن تغییر خود با دیدن داده های جدید است یعنی با استفاده از تجربیات جدید رفتار خود را تغییر می‌دهد.الگوریتم های یادگیری ماشین امکانات بسیاری را به جامعه عرضه کرد,مثلاً در حوزه های صنعت دانشگاه سلامت,اقتصاد و تجارت از یادگیری ماشین استفاده میکنند اولین کاربرد های یادگیری ماشین در تشخیص ایمیل های اسپم بود.به دلیل استفاده از الگوهای داده در تصمیم گیری شرکت ها شغل های مرتبط با داده به یکی از محبوب ترین شغلهای حال حاضر تبدیل شده است از دیگر عوامل جذب شدن یادگیری ماشین توجه ویژه برنامه نویسان و شرکت های برنامه سازی به آن است.زبان پایتون و R به دلیل کتابخانه های بسیار قدرتمند که دارد از محبوب ترین زبان ها برای یادگیری ماشین است.با درک اهمیت دانش و اطلاعات جامعه و مردم به تحلیل داده ها و استفاده از آن علاقمند شدند و نیاز به بررسی آمار و داده ها سبب به وجود آمدن تخصص های زیادی در این زمینه شد. برخی از این تخصص ها عبارتند از:1.تحلیلگر داده تحلیلگر داده نسبت به دیگر شغلهای آسان تر است و مهارت‌های برنامه‌نویسی ضروری نیست, او داده های خام را از منابع داخلی و خارجی جمع‌آوری می‌کند و پس از آماده سازی آن رادر پایگاه داده ذخیره‌ میکند و داده های مفید را استخراج میکند.2.دانشمند داده همه کارهایی که تحلیلگر داده انجام می‌دهد را دانشمند داده نیز می تواند انجام دهد علاوه بر آن باید با مفاهیم آماری,ریاضیاتی,برنامه نویسی,یادگیری ماشین و هوش مصنوعی برای تحلیل عمیق تر داده آشنا باشد.3.مهندس داده با ظهور کلان داده و انفجار داده مفاهیم و ابزارهای جدیدی برای مدیریت این پدیده به وجود آمد, کار یک مهندس داده رامی توان با مفاهیم کلان داده یا روند رسیدن داده خام به دست مصرف کنندگان داده نسبت داد.4.مهندس یادگیری ماشین مهندسی یادگیری ماشین نقطه تلاقی مهندسی نرم‌افزار و علم داده است,مهندس یادگیری ماشین و مهندس داده هر دو در فرایند رسیدن داده از محل تولید تا مدل نقش داشته علاوه بر این مهندسی یادگیری ماشین مسئول رساندن خروجی به کاربر نهایی نیز هست.صنایع معدنی با توجه به عدم قطعیت بالا و حجم بسیار زیاد اطلاعات جزو صنایع پیچیده است لذا یادگیری ماشین و هوش مصنوعی در این صنعت مورد استفاده زیادی قرار می گیرد,از جمله این کاربردها عبارتند از:1.پردازش تصاویر ماهواره ای 2.پیش بینی متغیرها ژئومتالورژیکی 3.آنالیز تصاویر مربوط به جعبه مغزه ها(گمانه ها) 4.پردازش تصاویر گرفته شده از پهپاد برای شناسایی هدف های از پیش تعیین شده. یادگیری ماشین ریشه در تحقیقات هوش مصنوعی داشته است.برخی از تعریف های یادگیری ماشین:_یک برنامه کامپیوتری است که به داده دسترسی پیدا می کند و از آن برای آموزش خود استفاده می کند.( اکثر کاربردها) _یادگیری ماشین زمینه‌ای از تحقیقات است که به کامپیوتر ها توانایی یادگیری بدون برنامه نویسی صریح را میدهد.( آرتور ساموئ) _وقتی می توان گفت که یک برنامه از روی تجربیات E برای کاربردT و معیار کارآییP آموزش دیده است که کارآیی Pآن در کاربردT با استفاده از تجربیاتE بالا برود(تام میشل)ویژگی اصلی یادگیری ماشین خود آموزشی می باشد,داده ها عنصر محوری یادگیری ماشین هستند,انواع داده ها:1.تصاویر بینایی ماشین بیشترین پیشرفت را در سال‌های اخیر و زندگی روزمره ما داشته است,کاربردها:تشخیص پلاک خودرو,باز شدن قفل گوشی,هواشناسی و رادیولوژی و سونوگرافی2. کلمات یا جمله ها (پردازش زبان طبیعی) باعث میشود ماشین‌ به منبع بسیار بزرگی از اطلاعات که توسط انسان تولید میشود دسترسی پیداکنند.کاربردها:تشخیص گفتار,دسته بندی متون و نوشتارها و پاسخ به سوال ها3. جدول معادل جدول پایگاه داده,داده های جدولی به دو دسته تقسیم می شوند:1.داده های عددی,مثل سن 2.داده های دسته ای,مثل جنسیت4. سری های زمانی ترتیب و توالی درآن مهم است,مثل داده های قیمت(بورس),داده های پزشکی(نوار قلب ومغز)رویکرد انجام یادگیری ماشین: 1.یک مدل تصمیم گیری 2.یک معیار امتیازگیری 3.یک رویه خودکار برای محاسبه کیفیت مدل بر اساس امتیاز 4.یک رویه خودکار برای بهبود امتیازیادگیری ماشین به 3 دسته کلی تقسیم میشود:1.یادگیری با نظارت (supervised learning)در این نوع از یادگیری، نمونه‌ها دارای برچسب هستند,و به دو دسته طبقه بندی و رگرسیون تقسیم میشود:در طبقه‌بندی، هدف ما پیدا کردن برچسب یا دسته مناسب برای نمونه‌های بدون برچسب می‌باشد.خروجی ها گسسته هستند.در رگرسیون هدف ما تخمین مقدار یک ویژگی برای یک نمونه می باشد,خروجی ها پیوسته هستند.رگرسیوندسته بندی2.یادگیری بدون نظارت(unsupervised learning) در یادگیری بدون نظارت برچسب وجود ندارد ومدل باید به تنهایی الگوهای پنهان را پیدا کند.و به 3 دسته خوشه بندی,کاهش ابعاد و استخراج قانون وابستگی تقسیم می شود.عکس زیر نمونه ای از خوشه بندی داده ها به 3 دسته بر اساس معیار فاصله اقلیدوسی3.یادگیری تقویتی نزدیک‌ترین حالت به یادگیری انسان است.یادگیری فعالیتهایی که پاداش را ماکزیموم می کند.شکل زیر نشان میدهد که چگونه یک ربات یادمیگیرد که به آتش نزدیک نشود:زبان برنامه نویسی پایتون یک زبان بسیار ساده و سطح بالا که در سال1991توسط خیدو فان روسوم در هلند اختراع شد. برخلاف زبان c و c++ که زبان هایی کامپایلری هستند پایتون یک زبان مفسر است,مفسر برنامه را در محیطی به نام kernel به bytecode ترجمه و آن را به صورت خط به خط اجرا می‌کند.پایتون به دلیل وجود کتابخانه ها و ابزار های قوی و متعدد,قابل فهم بودن کد های ,جامعه‌ای بزرگی از توسعه دهندگان که از این زبان استفاده میکنند و چند پارادایمی بودند برای علوم داده مناسب است.برتری‌های پایتون و R نسبت به یکدیگر:پایتون کتابخانه‌های متعدد و قوی‌ای دارد,هر18 ماه یک بار نسخه‌ی جدید عرضه می‌کند,دارای نوشتار ساده است.R توانایی کشیدن نمودارهای با کیفیت و متنوعی را دارد وسرعت در حال توسعه است و تقریبا برای همه‌ی تکنیک‌های آماری پکیج دارد.اما تفاوت اصلی کاربرد بیشتر پایتون در صنعت است. به صورتی که اکثر شرکت‌ها برای بخش productionاز پایتون استفاده می‌کنند و R بیشتر به استفاده‌های آکادمیک محدود شده است.پایتون کتابخانه های متنوعی برای کاربا داده و انجام عملیات یادگیری ماشین دارد,پرکاربردتریت آن ها عبارتند: 1.نامپای(numpy)داد از منابع و قالب های مختلف جمع آوری می شود و در نهایت به شکل آرایه ای از اعداد در می آید. پردازش و محاسبات سریع تر انجام می شود,اعضای یک آرایه همه از یک نوع هستند و این ویژگی باعث می شود تا آرایه ها حجم کمتری اشغال کنند و وجود توابع بسیار از ویژگیهای نام پایه است.2.پاندا (pandas)ساختار اصلی داده به شکل دیتا فریم است (آرایه دو بعدی )ازویژگی های به محاسبات سریع بر روی داده های جدولی وعملیات تحلیل و پاکسازی و آماده سازی داده هاخیلی سریع تر و آسانتر انجام میشود.3.مت پلات لیب(matplotlib)ساخت نمودار هایی 2 بعدی که بتوانند اطلاعات را به خوبی انتقال دهند از مهم ترین ویژگی های این کتابخانه است.4.سایکت لرن(scikit-learn)این کتابخانه ابزارهای متنوعی برای یادگیری ماشین و مدلسازی آماری دارد و واسط کاربری بسیار منسجمی دارد که کار با آن بسیار آسان است.ازکتابخانه ها دیگردر زمینه مصور سازی داده به Plotly,Seaborn ,برای امور یادگیری عمیق Pytorch,TensorFlow,Keras,برای پردازش متن nltk,Spacyو در زمینه پردازش عکس OpenCV,scikit-image نام برد.یادگیری ماشین به دلیل افزایش بی حد و حصر داده ها,ذخیره سازی مقرون ‌به ‌صرفه داده ها و افزایش قدرت پردازنده ها و کاهش هزینه آنها خیلی اسانتر وسریع تر میتوان از آن استفاده کرد.داده اساس یادگیری ماشین است.کیفیت نامناسب داده,داده های بی کیفیت و ویژگی های نامربوط از جمله چالش هایی است که به داده ها مربوط می شود.از دیگر چالش‌های مربوط به داده تعداد ناکافی داده است اگر به تعداد کافی داده به الگوریتم تزریغ نکنیم نمی‌توانیم انتظار عملکرد خوبی داشته باشیم. همواره باید سعی در انتخاب ویژگی هایی داشته باشیم که مدل بتواند از آنها بیاموزد و از دل آنها الگوهایی برای پیش بینی آینده استخراج کند.بیش برازش(Overfitting),کم برازش(Underfitting) و زمان نمونه‌ای از چالش‌های مربوط به مدل ها و الگوریتم های هوش مصنوعی و یادگیری ماشین هستند که در اینجا به آنها می پردازیم.Overfitting نمی تواند آینده را به درستی پیش‌بینی کند علت عدم توانایی در پیش بینی آینده این است که داده های آموزشی را زیاد از حد یاد گرفته است و نمونه کم آموزشی و پیچیدگی مدل از علت های دیگر بیش برازش هستند.Underfitting وقتی به وجود می آید که مدل نتواند به خوبی از دادگان آموزش یاد بگیرد این مسئله می‌تواند به دلیل های زیادی به وجود بیاید,داده نامناسب یکی از آن دلیل ها است.منظور از داده نامناسب آن است که داده به قدری بی کیفیت است که اطلاعات دقیق و جامعی از هدفی که قصد مدل کردن آن را داریم به دست نمی دهد.زمان از دو جهت اهمیت دارد:مدت زمانی که طول میکشد تا آموزش مدل تمام شود,( که طول مدت توسعه محصول را تحت تاثیر قرار می دهد) و زمانی که مدل برای پیش بینی نمونه ها مصرف می کند(زمانی است که به کاربر نهایی تجربه می کند).فرایند آموزش مدل به زمانبر بودن معروف است الگوریتم ها برای یادگیری زمان زیادی احتیاج دارند بنابراین مدلی انتخاب می‌کنیم که پیچیدگی زمانی مناسبی داشته باشد.از راه حل هایی که برای رفع مسئله زمان مطرح می‌شود استفاده از سخت افزار پیچیده و حرفه ای تر است. چرخه تب تکنولوژی اولین بار موسسه گانتر مطرح کرد هر تکنولوژی پنج مرحله اصلی دارد اولین مرحله معروف و مشهور شدن است در مرحله دوم اوج قله است و نام تکنولوژی همه جا شنیده می شود در مرحله سوم محدودیت‌های این تکنولوژی شناخته می شود و از شهرت آن کاسته می شود در مرحله چهارم برخی کسانی که در عرصه آن تکنولوژی باقی ماندند شروع به فعالیت اصلی در این حوزه می کند و در مرحله آخر پختگی و ثبات نسبی برنامه است.در شکل زیر چرخهی تب تکنولوژی در حوزه‌ی هوش مصنوعی سال 2020 را می‌بینیم.عامل های هوشمند که امروزه ساخته می شوند معمولاً در حل یک مسئله خاص به هوشمندی رسیده‌اند مثل تشخیص انسانهای داخل تصویر,به این نوع از هوش مصنوعی هوش مصنوعی محدود یا ضعیف می گویند.در مقابل آن هوش مصنوعی قوی یا عمومی وجود دارد که از ساخت عامل های هوشمندی که مانند انسان از هوشی عمومی برخوردار باشد که توانایی آموختن در مواجهه با هر مسئله جدیدی را داشته باشد و محدود به یک زمینه یا مسئله خاص نباشد.یکی از بهترین راه ها برای تحقیق درباره هوش عمومی مطالعه هوش طبیعی است, هر چه شناخت بهتری نسبت به مغز خودمان و نحوه کارکرد آن پیدا کنیم ابعاد بیشتری از مسائل هوش برایمان باز می شود از همین روست که یکی از زمینه های مطالعه رشته های علوم عصبی و روانشناسی است.زمانی که پیشرفت تکنولوژی به نقطه ای غیر قابل کنترل و برگشت ناپذیر برسد که تمدن انسانی را تحت تاثیر قرار دهد اگر انسان بتواند یک موجود هوشمند تر از خود پدید آورد, این نقطه هم باعث شکوه می شود و هم باعث دلهرهبرای انجام پروژه در زمینه هوش مصنوعی و یادگیری ماشین قدرت پردازشی بالا و فراوانی داده از اهمیت زیادی برخوردار است برخی از این شرکت های پیشرو در این زمینه ها عبارتند از:شرکت دیپ ماین در لندن سال ۲۰۱۰ پایه گذاری شدهشرکت openAI که در سانفرانسیسکو در سال ۲۰۱۵ پایه گذاری شدهگروه AI شرکت فیسبوکگروه AI شرکت گوگلمهمترین کتب یادگیری ماشین عبارتند از:خلاصه ای از مطالب دوره آموزشی دروازه ورود به یادگیری ماشین در سایتqueraمنبع(https://quera.ir/college/land/college/8522) :