پرسپترون
پرسپترون (به انگلیسی: perceptron) کوتهنوشت نورون ادراکی یک الگوریتم یادگیری ماشین است که در دسته یادگیری با نظارت قرار میگیرد. الگوریتم پرسپترون یک الگوریتم دستهبندی دودویی (نوعی از دستهبندی که میتواند با توجه به بردار ورودی تصمیم بگیرد که این ورودی متعلق به یک کلاس هست یا خیر) است. این الگوریتم یک دستهبند خطی است، بهاین معنا که پیشبینیهایش را باتوجه به ترکیب خطی وزن دار ورودی الگوریتم انجام میدهد. همچنین این الگوریتم به دلیل اینکه ورودیهایش را به صورت تک تک در زمان بررسی میکند، یک الگوریتم برخط میباشد. الگوریتم پرسپترون در سال ۱۹۵۷ در لابراتوار کرنل آرونوتیکال به وسیلهٔ فرانک روزنبلت ابداع شد. در واقع این الگوریتم جزء اولین شبکههای عصبی مصنوعی است که بهکار گرفته شدهاست.
تاریخچه
الگوریتم پرسپترون در سال ۱۹۵۷ در لابراتوار کرنل آرونوتیکال توسط فرانک روزنبلت با سرمایهگذاری دفتر تحقیقات دریانوردی ایالات متحده ابداع شد. پرسپترون بیشتر به عنوان یک دستگاه مد نظر بودهاست تا یک برنامه؛ و با اینکه اولین پیادهسازی آن به صورت یک نرمافزار برای آی بی ام ۷۰۴ بود؛ پس از آن به صورت سختافزار اختصاصی "پرسپترون مارک ۱" پیادهسازی شد. این دستگاه برای تشخیص تصویر طراحی شده بود: مجموعهای از ۴۰۰ حسگر نور، که به صورت تصادفی به "نورون"ها متصل شدهاند. وزنها در پتانسیومترها کدگذاری شده بودند، و بروزرسانی وزنها در طول یادگیری با موتورهای الکتریکی صورت میگرفت.
تعریف
پرسپترون یک نوع دستهبند دودودیی است که ورودی خود
وب سرور با استفاده از شبکه عصبی پرسپترون چند لایه ای مدلسازی می شود. به طور کلی یک الگوریتم عصبی است که با توجه به ازدحام وب سرویس در شبکه چند لایه ای پیشبینی هایی را صورت میدهد تا سرور از کار نیافتد.
در مسئله دستهبندی دودودیی مقدار
اگر دادههای مثبت و منفی قابلیت جداشدن توسط یک ابرصفحه را نداشته باشند الگوریتم پرسپترون متوقف نمیشود اما اگر دادهها خطی تفکیکپذیر باشند الگوریتم پرسپترون در تعداد متناهی مرحله پایان مییابد. معروفترین تابعی که الگوریتم پرسپترون قادر به یادگیری آن نیست؛ تابع یا مانع الجمع است.
در زمینه شبکهٔهای عصبی مصنوعی پرسپترون یک نوع نورون مصنوعی است که تابع فعالیت آن تابع پلهای هویساید میباشد.
الگوریتم یادگیری
الگوریتم پرسپترون یک الگوریتم تکرار شونده است، به این صورت که در ابتدا بردار وزن
تعریف مسئله
متغیرهای زیر را تعریف میکنیم:
دادههای آموزشی به صورت
تابع پرسپترون را نیز به صورت زیر تغییر میدهیم
هدف پیدا کردن بردار وزن
مراحل الگوریتم
الگوریتم در هر مرحله باتوجه به نقاطی که اشتباه دستهبندی شدهاند بردار وزن را تغییر میدهد تا نقاط بیشتری را به درستی دستهبندی کند. الگوریتم در هر مرحله بردار وزن جدیدی را بهدست میآورد. در ابتدا بردار وزن را برابر با صفر قرار میدهیم. بردار وزن را در مرحله
input: A training setinitialize:for t = 1,2 ,... if()else
اگر
و در اینصورت خواهیم داشت
بنابراین
همگرایی الگوریتم
اثبات
جستارهای وابسته
منابع
- ↑ Rosenblatt, Frank (1957), The Perceptron--a perceiving and recognizing automaton. Report 85-460-1, Cornell Aeronautical Laboratory.
- ↑ Mikel Olazaran (1996). "A Sociological Study of the Official History of the Perceptrons Controversy". Social Studies of Science. 26 (3): 611–659. doi:10.1177/030631296026003005. JSTOR 285702.
- ↑ Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. Springer.
- ↑ Liou, D. -R.; Liou, J. -W.; Liou, C. -Y. (2013). Learning Behaviors of Perceptron. iConcept Press. ISBN 978-1-4775-5473-9.
- ↑ Shwartz, Shai (2014). Understanding Machine Learning. p. 92.