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

مقدمه ای بر یادگیری ماشینفرایند تفکر و اندیشه و نحوه عملکرد مغز از دیرباز مورد توجه فیلسوفان و دانشمندان بوده است. در اوایل قرنهفدهم دکارت و لایبنیتس تلاش کردند فرایند تفکر را با علائم ریاضی شبیه سازی کنند اما تولد هوش را باید ازمقاله آلن تورینگ در سال ۱۹۵۰ دانست. او تستی ارائه کرد که معیاری برای تشخیص هوشمندی ماشین بود.یکی از اولین پروژه های عملی در هوش مصنوعی در زمینه شبکه عصبی و نورون ها بود که در سال ۱۹۵۰توسط دو دانشجو در هاروارد شکل گرفت.در مورد تعریف تفکر و هوشمندی ابهاماتی وجود دارد و معیار دقیقی برای دقت و هوشمندی نداریم اما دردیدگاه کلی هوش مندی دارای ویژگی های زیر است: ۱ . منطقی فکر کردن ۲ . منطقی عمل کردن ۳ .مانند انسان فکر کردن ۴ . مانند انسان عمل کردن.بعد از انتخاب یکی از روشها باید عامل هوشمند را بسازیم چه به صورت سخت افزاری چه به صورت نرم افزاری.سرگذشت یادگیری ماشینتعریف یادگیری ماشین از دیدگاه آقای آرتور ساموئل چنین است: "زمینه ای تحقیقاتی که به رایانهتوانایی یادگیری بدون برنامه نویسی صریح را می دهد." فرض کنید بخواهیم مربع یک عدد را محاسبهکنیم در برنامه نویسی سنتی باید ورودی را به فرمول مربع مقدار ورودی بدهید و خروجی را تحویلبگیرید اما یادگیری ماشین بدینگونه عمل می کند که عدد و مربع را تحویل میگیرد و یاد می گیرد کاردرست ضرب کردن عدد در خودش است. ویژگی اصلی این یادگیری استفاده از مدلسازی آماری و عدماستفاده از دستورات مستقیم است.یکی از تعاریف یادگیری ماشینتفاوت هوش مصنوعی و یادگیری ماشیناین دو تعریف را نمیتوان یکسان در نظر گرفت یادگیری ماشین زیر مجموعه هوش مصنوعی میباشد. هوشمصنوعی هر برنامهای را شامل می شود که هر چهار روش بالا را به کار ببرد یعنی رفتار و تفکر انسان را شبیه سازی میکند اما یادگیری ماشین، یادگیری با استفاده از داده و بدون استفاده از دستورات مستقیم است. در انواع دیگر هوش مصنوعی ممکن است از داده استفاده نشود. از دیگر ویژگی یادگیری ماشین تغییر خود با دیدن داده جدید است یعنی با کسب تجربیات جدید رفتارش را عوض می کند.کاربردهای یادگیری ماشین در عصر حاضربه دلیل استفاده از الگوهای داده و تصمیم گیری بر مبنای آنالیز داده یادگیری ماشین کاربرد های صنعتی،تجاری، اقتصادی، کسب و کار و حتی شخصی پیدا کرده است. از مثالهای بارز می توان به خودرو خودران،سیستم پیشنهاد دهنده کالا در سایتها، پیش بینی بازار توسط یک تاجر و شرکت اشاره کرد.نمونه ای از کاربردهای یادگیری ماشینتاکنون دریافتیم که داده عنصر ورودی به الگوریتم های یادگیری ماشین هستند و ماشین از داده یادمیگیرد. حال به سراغ انواع داده می رویم.انواع داده عبارتند از: ۱ . کلمات زبان طبیعی۲ . تصویر ۳ . جداول ۴ . سری زمانی.زبان طبیعی داده های ورودی و ماشین کلمات و جملات هستند که ممکن است به صورتصوت یا نوشتار در اختیار الگوریتم قرار گیرد برخی از کاربردهای این حوزه عبارتند از:تشخیص گفتار، دسته بندی نوشته ها و نظرات سایتها، پاسخ دادن به سوالات کاربر.یکی از چالش های این حوزه تفاوت بین زبان روزمره با زبان رسمی است.یعنی درک مباحث زبانروزمره به مراتب مشکل تر از زبان قاعده مند رسمی است.تصویرغنی ترین منبع تجربه انسانها بینایی است پس توانایی استخراج اطلاعات از داخلتصاویر امکان فوق العاده ای برای عامل هوشمند می باشد. تصاویر از طریق دوربین ثبت میشود. معمولاً از تصاویر برای تشخیص شی و یا ناحیه وجود هر شی در تصویر استفاده می شود.از دیگر کاربردهای داده های تصویری میتوان به: خودروهای خودران، پردازش تصاویر ماهوارهای، باز کردن گوشی بر اساس تصویر چهره ) مباحث امنیتی( و تشخیص پلاک خودرو اشارهکرد. کاربردهای پزشکی این فناوری عبارتند از: تحلیل عکس سونوگرافی و MRI.جدولداده های ساختار یافته معمولا در این جداول ذخیره میشوند. معمولا اکثر نرم افزار هایحسابداری و مالی نظیر بانک ها از این جداول بهره میبرند. از دیگر کاربردهای این جداولسیستم های توصیه گر سایت ها نظیر Netflix اشاره کرد.سری زمانی در بعضی از مسائل زمان عامل مهمی محسوب می شود و تغییرات آن مهم تلقیمی گردد. مثل تحلیل داده های بازار های مالی شبیه بورس که حتی در لحظه تصمیم گیریمهم است.انواع یادگیری:بانظارتبدون نظارتتقویتییادگیری با نظارتفرض کنید می خواهیم به ماشین که شبیه بچه است یاد دهیم که خروس چه شکلی است برای اینکار تعدادی عکس از حیوانات را به او نشان می دهیم وقتی عکس خروس را نشان میدهیم جمله اینخوس است را صدا میزنیم و وقتی عکس سایر حیوانات را نشان می دهیم جمله این خروس نیست راصدا میزنیم به این روش آموزش نظارت شده گویند.در این آموزش نمونه ها دارای برچسب ها به این معنا که مدل یادگیری با استفاده از داده های از قبلبرچسب خورده)خروس بودن یا نبودن( الگوهای اساسی را تا رسیدن به دقت رضایتبخش ادامه میدهد.یادگیری بدون نظارتتنها تفاوت یادگیری با نظارت در برچسب نداشتن داده های ورودی میباشد. دراین روش ماشین به تنهایی و بدون کمک برچسب ورودی باید الگوهای پنهان را کشف کند. امروزه اکثرداده های اطرافمان مانند متون بدون برچسب هستند.یادگیری تقویتیذهنیت این روش بر اساس آزمون و خطاست. عامل بر اساس حالت فعلی حرکتی انجام می دهد و براساس آن پاداش دریافت می کند. این بازخورد می تواند مثبت یا منفی باشد و عامل با توجه به پاداشخط مشی خود را تغییر می دهد. این روش نزدیک ترین روش به یاد گیری انسان است مثلاً کودکبرای راه رفتن مدام تلاش می کند و پدر و مادر با تشویق وی سعی در کمک به یادگیری او دارند وهمین زمین خوردن به نوعی تنبیه اوست.این روش برخلاف یادگیری با نظارت و بدون نظارت نیاز به داده ندارد و از تعامل با محیط می آموزد.سنجش کارآمدی مدل هامعمولا از دیدگاه مهندسی برای هر روش ابداعی باید تست و بررسی عملکرد صورت گیرد. در یادگیری ماشین باید مدل خود را برای داده جدید آزمایش کنیم و معمولا مقداری داده آموزشی برای تست کنار میگذاریم(test data) و از بقیه داده ها (data train) برای آموزش استفاده می کنیم.زبانها و کتابخانه هااز زبان سطح بالایی مثل پایتون برای برنامه نویسی یادگیری استفاده میشود.چرا پایتون؟ کتابخانه های قوی پایتونقابل فهم و آسان بودن پایتوندارای جامعه ی بزرگ برنامه نویسی میباشدکتابخانه های پایتونکتابخانه Numpy: برای کار با آرایه ها و پردازش و محاسبات روی آنهاکتابخانه Pandas: تبدیل داده ها به جدول و قابلیت تغییر و انعطاف بالاکتابخانه Matplotlib: مصورسازی نمودارهاکتابخانه Sickitlearn: معروف ترین کتابخانه یادگیری ماشینبرای مطالعه بیشتر به دوره https://quera.ir/college/land/college/8522 مراجعه کنید.