آموزش یک نورون در مطلب برای شبکه های عصبی

در اینجا می خواهیم نورونی را آموزش دهیم که ۴ برداری می گیرد و در دو دسته طبقه بندی می کند. برداری سطری P در نظر بگیرد که شامل ۴ بردار ۲ عنصری است :

P = [-0.5 -0.5 +0.3 +0.0;
-۰.۵ +۰.۵ -۰.۵ +۱.۰];

این بردار ورودی ما است و در ادامه بردار T را که خروجی ما است در نظر بگیرید :

T = [1 1 0 0];

می توانی نمایشی از طبقه بندی ها را با دستور زیر انجام دهیم :

plotpv(P,T);

 

توجه داشته باشیم که ماتریس ورودی و خروجی که دراینجا P و T هستند برای اینکه ترسیم شوند نبایند بیش از ۳ سطر داشته باشند. همان طور که می بینید ۴ بردار ورودی در ۲ طبقه خروجی دسته بندی شده اند . دایره ها یکی از طبقات و  علامت مثبت  در شکل یکی دیگر از طبقات است.در ابتدار نیاز مندیم که یک وزن دهی اولیه بین ورودی و خروجی ایجاد کنیم این کار را با دستور زیر انجام می دهیم :

[W,b] = initp(P,T)

توسط این دستور وزن های اولیه درون W ریخته میشود و b مقدار بایاس اولیه برای تحریک نورون را خواهد داشت. برای اینکه ببینیم که وزن ها چگونه ورودی ها را دسته بندی می کنند بعد از اینکه توسط دستور plotpv(P,T); ترسیمی از طبقه بندیها انجام دادیم توسط دستور زیر خط مرز طبقه بندی ها را با توجه به وزن دهی اولیه که به دست اوردیم مشخص می کنیم :

plotpc(W,b)

خطی به ترسیم ما اضافه می شود که مرز دو طبقه را مشخص کرده است.معمولا در این مرحله نورون به طور مناسب طبقه بندی را انجام نداده است و نیازمند آموزش است.آموزش موجب می شود که وزن های جدید تر و مناسب تر ایجاد شوند این کار را بادستور زیر انجام می دهیم :

[W,b,epochs,errors] = trainp(W,b,P,T,-1);

Epochs تعداد دفعات آموزش را نشان می دهد . w و b حاوی مقادیر جدید وزن و ضریب بایاس هستند. توسط دستور زیر خطای طبقه بندی را نسبت به تعداد دفعات اموزش می توانیم ببینیم :

ploterr(errors);

حال نورون ما تعلیم داده شده است .می توانیم توسط دستور زیر بردار دلخواه ورودی را به آن داده و خروجی را دریافت کنیم :

p = [-0.5; 0.5];

a = simup(p,W,b)

 

 

تالیف و تدوین : علی آقایی فر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

عدد مناسب قرار دهید * Time limit is exhausted. Please reload CAPTCHA.