(matlab) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط...

43
ب ل ت م ط ي ح م در ن آر آ ز ب ه آ ب ع ج اده آر ف ت س ی و آ ب ص عهای که ت( س( MATLAB ) د ن و ل ت ل ج س ا ت ع: ط س و ت د ز گ ت( ش ه د ج آ و ی م ا ل س آ د آ ر آ ه ا گ( ش ن آ د ز ب و یA پ م ا ک ه و ر گ ی م ل ع تK ئ پ ه و ض ع

Upload: hamed-zarei

Post on 06-Aug-2015

51 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی و استفاده از جعبه ابزار آن در (MATLABمحيط متلب )

جلیلوندس

عباط:

ستو

شتگردحد ه

ی واالم

سشگاه آزاد ا

ی گروه کامپیوتر دانعلم

ت ضو هیئ

ع

Page 2: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

رئوس مطالبمقدمه1.مبانی نظری شبکه های عصبی 2.

مصنوعیکاربردهای شبکه های عصبی3.شبکه های عصبی در متلب4.حل چندین مثال از شبکه های 5.

عصبی در متلب

Page 3: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

(AIهوش مصنوعی )-هدف: ساختن ربات انسان نما

-شاخه های هوش مصنوعی:داده کاوی•پردازش تصویر•یادگیری ماشین•پردازش گفتار•پردازش زبانهای طبیعی•رباتیک•

Page 4: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

(Data Mining)داده کاوی

Page 5: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

روشهای داده کاوی

Page 6: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

عملیات، کاربردها و تکنیکها

Page 7: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی (ANNsمصنوعی )

الهHام مطالعHه زیHادی تHا حHد هHای عصHبی مصHنوعی شHبکه گرفتHه از سیسHتم هHای یHادگیر طHبیعی اسHت کHه در آنهHا یHک هم بHه عصHبی)نرونهHای( سHلولهای از پیچیHده مجموعHه

متصل در کار یادگیری دخیل هستند.

نHرون تشHکیل 11 10گمHان مHیرود کHه مغHز انسHان از تعHداد نHرون دیگHر در ارتبHاط 104شHده باشHد کHه هHر نHرون بHا تقریبHا

است.

Page 8: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی مصنوعی (ANNs)

ثانیHه اسHت کHه در 3-10 سHوئیچنگ نرونهHا در حHدود سرعت ( ثانیHه ) بسHیار نHاچیز مینمایHد. 10- 10مقایسHه بHا کامپیوترهHا

در اسHت قHادر آدمی وجHود این یHک 0.1بHا تصHویر ثانیHه انسHان را بازشناسHائی نمایHد. این قHدرت فHوق العHاده بایHد از نرونهHا از زیHادی تعHدادی در شHده توزیHع مHوازی پHردازش

حاصل شده باشد.

Page 9: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی تاريخچهدر و پيتس خمك كالمطالعه برروي شبكه هاي عصبي توسط

آغاز شد. شبكه هاي تك اليه، با توابع فعال سازی 1943 سال بنيان گذاري شدند 1962 در سالروزنبالت آستانه اي، توسط

ناميده شدند. پرسپترون كه اين نوع شبكه ها،

، به صورت تجربي نشان داده شد كه 1960در دهه ولیپرسپترون ها قابليت حل مسائل فراواني را دارند،

وسط آنها قابل حل نبود.تبسياري از مسائل پيچيده

توسط 1966در سال يك اليه هایمحدوديت پرسپترون آنها به چاپ رسيد. نتايج كتاب پرسپترون در مينسكي و پپرت

مطالعه اين كتاب باعث شد كه شبكه هاي عصبي به مدت دو دهه كمتر مورد توجه قرار گيرند.

رملهات، هينتن و توسط انتشار-الگوريتم پس کشف با مطالعات جديد بر روي شبكه هاي 1986 در سالويليامز شد. اهميت ويژه اين الگوريتم اين بود مجددا شروع عصبي

كه شبكه هاي عصبي چند اليه توسط آن مي توانستند آموزش داده شوند.

Page 10: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

( بیولوژیکیNeuron)نرونهر نرون طبيعي از سه قسمت اصلي تشكيل شده است :

(Dendriteدندريت )(Cell bodyبدنه سلول )(Axonاكسون )

Page 11: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

( بیولوژیکیNeuron)نرونالكHتريكي - بHه عنHوان منHاطق دريHافت سHيگنال هHاي دنHدريت هHا

هسHتند كHه داراي سHطح نHامنظم و شHاخه هHاي انشHعابي بي شHمار مي باشند.

-بدنHه سHلول ، وظیفHه تHامین انHرژی مHورد نیHاز جهت فعHالیت هHای نرون را به عهده دارد.

-اكسHون بHر خالف دنHدريت هHا از سHطحي همHوارتر و تعHداد شHاخه هHHاي سHHيگنال اكسHHون باشHHد. مي برخHHوردار كمHHتري هHHاي الكتروشHيميايي دريHافتي از هسHته سHلول را بHه نHرون هHاي ديگHر

منتقل مي كند.

-محHل تالقي يHك اكسHون از يHك سHلول بHه دنHدريت هHاي سHلول هHاي ديگHر را سHيناپس مي گوينHد. توسHط سHيناپس هHا ارتباطHات مHا بين نHرون هHا برقHرار مي شHود. بHه فضHاي مHابين اكسHون و دنHدريت هHا

فضاي سيناپسي گويند.

Page 12: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

نرون مصنوعی

Page 13: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

مک کالخ-پیتس-مدل ریاضی یک نرون )1943)

Inputs Weights Summation Activation Output

b

w1

w2

wn

x1

x2

xn

+

w0

x0

f(y)

yO

Page 14: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

متداولتوابع فعال سازی

y

f(y)sgn(y)

tanh(y)

1

-1

Page 15: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی مصنوعی (ANNs)

شبکه از تعداد دلخواهی سلول یا گره یا واحد و یا شود که مجموعه ورودی ها را نرون تشکیل می

به خروجی ربط میدهد.

Page 16: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

ساختار شبکه عصبی

خاصHي - روش بHه طHبيعي صHورت بHه هHا نرون اتصHال مي يابنHد تHا يHک شHبکه عصHبي را تشHکيل دهنHد نحHوه اتصHال نHرون هHا مي توانHد بHه گونHه اي

باشد که شبکه تک اليه يا چند اليه باشد.

از يHک اليHه ورودي، يHک اليHه چنHد اليHه شبکه هHاي -خHروجي و يHک يHا چنHد اليHه بين آنهHا )الیHه پنهHان( نتHايج و ورودي هHاي داده بHه مسHتقيما کHه

خروجي متصل نيستند تشکيل يافته اند.

Page 17: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های عصبی چند الیه یا MLP

x0=1

x1

x2

y0=1

y1

y2

y3

Input

Layer 1

Hidden

Layer 2

Output

Page 18: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

نکته

در شبكه هاي پرسپترون چند اليه ، تعداد اليه هاي پنهان مي تواند هر تعداد باشد. البته در بيشتر

كاربردها يك اليه پنهان كفايت مي كند . در بعضي مواقع نيز دو اليه پنهان يادگيري شبكه را ساده تر

مي كند.

Page 19: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

مراحل کار با شبکه عصبی، شHبکه الگوهHای موجHود در آمHوزشدر مرحلHه 1.

داده هHHاي ورودي را یHHاد می گHHیرد. هHHر شHHبکه عصHبی بHرای یHادگیری از قHانون خHاص اسHتفاده

می کند.

قHدرت شHبکه عصHبی در ایجHاد پاسHخ هHای تعمیم،2.قابHل قبHول بHرای ورودی هHایی اسHت کHه عضHو

مجموعه آموزشی نبوده اند.

نHیز شHبکه عصHبی بHرای عملکHردی اجHرا در مرحلHه3.کHه بHه آن منظHور طHراحی گردیHده اسHت، اسHتفاده

می شود.

Page 20: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبكه هاي عصبي مصنوعيیادگیری دررسHيدن بHه شHرايطي اسHت كHه شHبكه هدف از آمHوزش شHبكه،•

قHادر بHه پاسHخگويي صHحيح بHه داده هHاي ارائHه شHده در آمHوزش )بHHه خHHاطر سHHپردن( و همچHHنين داده هHHاي مشHHابه و شHHبكه

متفHHاوت از ورودي هHHايي كHHه از آنهHHا بHHراي آمHHوزش شHHبكه استفاده شده است)تعميم دادن(،باشد.

برتHHري عمHHدة شHHبكه هاي عصHHبي آمHHوزش داده شHHده بHHر •محاسHبات كالسHيك اين اسHت كHه نتHايج مHورد نيHاز بHا تالش كمHتر و در زمHان كمHتري قابHل حصHول اسHت.در نتيجHه اين مزايHا خصوصHاa بHراي مسHائلي كHه مسHتلزم محاسHبات طHوالني

هستند بسيار مفيد و موثر واقع گردد.

دو نوع آموزش شبكه به شكل زير است: • الف H آموزش با معلم

ب H آموزش بدون معلم

Page 21: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

ايHودن پارامترهHذير بHديل پHبی تبHبکه عصHلي شHده اصHع ایHدر واق بHوده (بايHاس و وزن هHاي ارتبHاطي بين نHرون هHا) آن

انتظHار کHه شHوند تنظيم طHوري تواننHد مي پارامترهHا اين کHه مHورد نظHر را تHامين کننHد. بنHابراين بHا اسHتفاده از آمHوزش شHبکه نظHر خHود مHورد کHار انجHام بHراي را پارامترهHا اين تHوانيم مي

تعديل کنيم

شبکه عصبی

ورودی ها خروجی هامقایسه

مقدار واقعی

شبکه عصبی چگونه کار میکند؟

Page 22: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

مثال پرسپترون

x w1

x w2

+ >8?

inputs weights

outputthreshold

Page 23: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

P2 :الگویی است که باید پرسپترون یاد بگیرد

باشد1 با ید خروجی هستند، 1 ورودی یعنی، اگر هر دو

x 2

x 3

+ >8?inputs

weights

outputthreshold

x1مثال x2 T

0 1 0

1 1 1

… … …

P1 =P2 =Pn =

Page 24: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

x 2

x 3

+ >8?

inputs weights

outputthreshold

1

1

مثال آموزشی (1و1)

Page 25: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

x 2

x 3

+ >8?

inputs weights

outputthreshold

1

1

2

3

مثال آموزشی (1و1)

Page 26: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

1

1

x 2

x 3

+ >8?

inputs weights

outputthreshold2

3

5

مثال آموزشی (1و1)

Page 27: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

1

1

x 2

x 3

+ >8?

inputs weights

outputthreshold2

3

50

مثال آموزشی (1و1)

Page 28: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

x 2

x 3

+ >8?

inputs weights

outputthreshold

1

1

2

3

50

مثال آموزشی (1و1)

x1 x2 T

0 1 0

1 1 1

… … …

P2 =

Page 29: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

x 2

x 3

+ >8?

inputs weights

outputthresholdMust increase weights!

1

1

2

3

50

مثال آموزشی (1و1)

wi = wi + η)T – O( xi

Page 30: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

1

1

x 4

x 5

+ >8?

inputs weights

outputthreshold4

5

91

مثال آموزشی (1و1)

Page 31: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

يك مدل شبكه عصبي به طراحيمراحل :منظور طبقه بندي يا پيش بيني )تخمين(

خروجي و- شناخت متغييرهاي ورودي1

- تبديل مقادير ورودي و خروجي به دامنه صفر تا 2

يك

مناسب براي شبكه )توپولوژی( - انتخاب هندسه 3

عصبي

- آموزش با داده هاي آموزشي معرف4

- آزمون شبكه با داده هايي مستقل از مجموعه 5

آموزشي و در صورت لزوم ادامه آموزش و

شبكه و توپولوژیتنظيم مثال هاي آموزشي،

پارامترهاي آن.

Page 32: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

Data set

Training Set

Testing Set

Initial Neural Net

Training

Trained Neural Net

Testing

Trained Net with Performance Measurement

Page 33: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه های یمزایا عصبی

یادگیری انطباق پذیر

سازماندهی توسط خود

انجام محاسبات بصورت موازی

تحمل اشتباه بدون ایجاد وقفه

Page 34: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

معایب شبکه های عصبی

دسHتورات مشخصHی بHرای طHراحی شHبكه جهت •یك كاربرد اختیاری وجود ندارد.

مجموعHه • انHدازه بHه زیHادی بسHتگی نتHایج دقت آموزش دارد.

حHتی • یHا مشHكل اسHت ممكن شHبكه آمHوزش غیرممكن باشد.

پیش بیHنی عملكHرد آینHده شHبكه ) عمHومیت یHافتن •( آن به سادگی امكان پذیر نیست.

Page 35: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

کاربردهای شبکه های عصبی

دHHویر و دیHHپردازش تص (Image processing and computer vision)

(پردازش عالئمSignal processing ی وHHامل ریخت شناسHHش :) تجزیه و تحلیل عالئم مربوط به زمین لرزه ها و…

(اHHایی الگوهHHشناسPattern recognition اییHHامل شناسHHش :) چهHره، اثHر انگشHت، تشHخیص نHوع صHدا و نHوع صHحبت کHردن، دسHتخط

و … (کیHHپزشMedicine خیص عالئمHHل و تشHHه و تحلیHHامل تجزیHHش :)

دسHتگاه ضHربان نگار قلب )الکتروکاردیوگرافیHک(، تشHخیص امHراض گوناگون و …

(امیHتم های نظHسیسMilitary systems ایHابی مین هHامل ردیHش :) زیردریHHایی، دسHHته بندی صHHداهای نابه هنجHHار و مخHHل در رادارهHHا و

شناسایی گوینده رزمی. (اریHتم های تجHسیسFinancial systems لHه و تحلیHامل تجزیHش :)

انبار مغازه ها، ارزیابی واقعی امالک و … (تجوHHHترل و جسHHHامه ریزی، کنHHHبرنPlanning, control, and

search.شامل اجرای موازی مسائل و کنترل رباتها :) (نوعیHHHHهوش مصArtificial intelligence رخیHHHHامل بHHHHش :)

سیستم های طبی و اجرای سیستم های خبره. (درتHتم های قHسیسPower systems عیتHرآورد وضHامل بHش :)

سیسHتم، ردیHابی سHریع و دسHته بندی ردیHابی، ردیHابی خطHا و تHرمیم آن، پیش بینی و برآورد تخمین امنیت.

Page 36: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

مثال

Page 37: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

AND Gateمثال

Page 38: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

OR Gateمثال

Page 39: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

XOR Gateمثال

Page 40: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه عصبی در متلب

Page 41: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه عصبی در متلب

Page 42: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه عصبی در متلب

Page 43: (MATLAB) شبکههای عصبی و استفاده از جعبه ابزار آن در محيط متلب

شبکه عصبی در متلب