یادگیری توسط شبکه عصبی مصنوعی
با الگو گرفتن از عملکرد مدل Walter Pitts و Waren Mc Culloch ایده اصلی شبکه عصبی مصنوعی  آن در ۱۹۴۰ توسط نرون های عصبی مغز انسان مطرح شد. فرضیات مهم در شبکه های عصب ی مصنوعی از این قرار است
١) داده پردازی اطلاعات در اجزا ی ساده به نام نرون صورت م یگیرد
٢) اطلاعات بین نرون ها از طریق ارتباطات آنها ردوبدل می شود
مختص خود هستند که در مقدار اطلاعات ردوبدل شده با W ٣) هر یک از این رابطه ها دارای وزن
سایر نرونها ضرب می شوند و به مرور زما ن این وزن ها تنظیم می گردند. در واقع از این منظر است که
شبکه از محیط تاثیر پذیرفته و آموزش می بیند
هر یک از نرون ها برا ی محاسبۀ خروجی خود، دارای یک تابع عملیاتی  است که معمولاً تابعی غیر
خطی است و روی ورودی ها اعمال می شود
هر نرون در صورتی خروجی خواهد داش ت که حاصل تابع عملیاتی آن از یک آستانۀ آتشی بیشتر شود

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

  مسائل مناسب برای یادگیری شبکه عصبی مصنوعی
خطا در داده های آموزشی وجود داشته باشد. مثل مسائلی که داده های آموزشی دارای
نویز حاصل از دادهای سنسورها نظیر دوربین و میکروفن ها هستند
مواردی که نمونه ها توسط مقادیر زیادی زوج ویژگی- مقدار نشان داده شده باشند نظیر داده های حاصل از یک دوربین ویدئوئی تابع هدف دارای مقادیر پیوسته باشد
زمان کافی برای یادگیری وجود داشته باشد. این روش در مقایسه با روشهای دیگر  نظیر درخت تصمیم نیاز به زمان بیشتری برای یادگیری دارد
نیازی به تعبیر تابع هدف نباشد .زیرا به سختی میتوان اوزان یادگرفته شده توسط  شبکه را تعبیر نمود
یادگیری یک پرسپترون
خروحی پرسپترون توسط رابطه زیر مشخص میشود
O(x1,x2,…,xn) =
١ if w٠ + w١x١ + w٢x٢ + … + wnxn > ٠
-١ otherwise

توابعی که پرسپترون قادر به یادگیری آنها میباشد
یک پرسپترون فقط قادر است مثالهائی را یاد بگیرد که بصورت خطی جداپذیر باشند .اینگونه
قابل جدا سازی میباشند. hyperplane مثالها مواردی هستند که بطور کامل توسط یک
AND, OR, NAND, NOR یک پرسپترون میتواند بسیاری از توابع بولی را نمایش دهد نظیر
را نمایش دهد.در واقع هر تابع بولی را میتوان با شبکه ای دوسطحی از پرسپترونها XOR اما نمیتواند
نشان داد

الگوریتم های یادگیری پرسپترون
مقادیری تصادفی به وزنها نسبت میدهیم
پریسپترون را به تک تک مثالهای آموزشی اعمال میکنیم .اگر مثال غلط ارزیابی شود مقادیر
وزنهای پرسپترون را تصحیح میکنیم
آیا تمامی مثالهای آموزشی درست ارزیابی میشوند
بله ⇓ پایان الگوریتم
خیر⇓به ماحل قبل برمیگردیم
وقتی که مثالها بصورت خطی جداپذیر نباشند قانون پرسپترون همگرا نخواهد شد .برای غلبه بر این مشکل از قانون دلتا استفاده میشود
برای جستجو در فضای فرضیه وزنهای ممکن gradient descent 5. ایده اصلی این قانون استفاده از
است که برای آموزش شبکه با چندین نرون به Backpropagation میباشد .این قانون پایه روش هم متصل بکار میرود
همچنین این روش پایه ای برای انواع الگوریتمهای یادگیری است که باید فضای فرضیه ای شامل فرضیه های مختلف پیوسته را جستجو کنند

سطح خطا بصورت یک سهمی خواهد بود .ما بدنبال وزنهائی هستیم که E با توجه به نحوه تعریف
در فضای وزنها بدنبال برداری میگردد gradient descent حداقل خطا را داشته باشند . الگوریتم
که خطا را حداقل کند .این الگوریتم از یک مقدار دلبخواه برای بردار وزن شروع کرده و در هر
مرحله وزنها را طوری تغییر میدهد که در جهت شیب کاهشی منحنی فوق خطا کاهش داده شود