انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: arman_o71 در 30 امرداد 1386، 06:06 بظ
-
چند وقتی بود که میخواستم یه برنامه شبکه عصبی بنویسم ولی نه مقاله ابتدایی و درست حسابی پیدا میشد نه برنامه تا اینکه چند روز پیش موفق شدم خودم یه برنامه تر و تمیز بنویسم
این برنامه میتونه هر شبکه n لایهای رو بسازه و اونو save و load کنه و فایلی درست کنه که بتونین با برنامه dot (که توی پکیج graphvis هست) شبکتون رو ببینید و برای یادگیری هم از الگوریتم back propagation استفاده میکنه
توی قایلی که ضمیمه کردم برنامه یادگیری xor و جمع (برای اعداد ۴بیتی! یعنی از ۰-۱۵) هست.
اجرا:
make
./xor train
./xor
برای اونا که نمیدونن شبکه عصبی چیه :
برنامههای شبکه عصبی برنامههایی هستند که سعی دارند با شبیهسازی اتفاقهایی که توسط نورونها در مغز میافتد یک فرایندی را یاد بگیرند مثلا برنامه من از نوع همراه با ناظر هست یعنی شما به برنامه مثال میدهید تا رابطهی بین آنها را پیدا کند برنامه جمع من یکبار با ۷۷ مثال جمع رو یاد گرفت (از کل ۱۳۶ مثال برای اعداد ۴ بیتی)
امیدوارم به دردتون بخوره
-
احسنت، احسنت ;D
در ضمن R یک نرم افزار آزاد برای تحلیل داده هست که بر حسب اتفاق توابع بسیار زیادی هم برای انجام روشهای یادگیری ماشینی داره که nn یکیشه، سورسش C هست و فکر کنم اگه علاقمند باشید بسیار به کار میاد.
-
این پوشه رو دانلود کردیم ، حالا باید چطوری در متلب اجراش کنیم
-
این مگه متلبه؟ سورس سی هستش.
من پروژه کارشناسیم همین بود. پیش بینی بار در شبکه های قدرت با استفاده از الگوریتم عصبی.
فقط اینکه پیر شدم تا نوشتمش و از fann استفاده کردم (fann.sf.net ) و البته با دلفی بود.
ممنون.
-
چند وقتی بود که میخواستم یه برنامه شبکه عصبی بنویسم ولی نه مقاله ابتدایی و درست حسابی پیدا میشد نه برنامه تا اینکه چند روز پیش موفق شدم خودم یه برنامه تر و تمیز بنویسم
این برنامه میتونه هر شبکه n لایهای رو بسازه و اونو save و load کنه و فایلی درست کنه که بتونین با برنامه dot (که توی پکیج graphvis هست) شبکتون رو ببینید و برای یادگیری هم از الگوریتم back propagation استفاده میکنه
توی قایلی که ضمیمه کردم برنامه یادگیری xor و جمع (برای اعداد ۴بیتی! یعنی از ۰-۱۵) هست.
اجرا:
make
./xor train
./xor
برای اونا که نمیدونن شبکه عصبی چیه :
برنامههای شبکه عصبی برنامههایی هستند که سعی دارند با شبیهسازی اتفاقهایی که توسط نورونها در مغز میافتد یک فرایندی را یاد بگیرند مثلا برنامه من از نوع همراه با ناظر هست یعنی شما به برنامه مثال میدهید تا رابطهی بین آنها را پیدا کند برنامه جمع من یکبار با ۷۷ مثال جمع رو یاد گرفت (از کل ۱۳۶ مثال برای اعداد ۴ بیتی)
امیدوارم به دردتون بخوره
ایده جالبیه! فقط یه سوال این مثل برنامه های یادگیریه یا نه. چون یکی چند تا از بچه های مدرسه یه پروژه شبیه سازی حرکت ربات نوشته بودند که روبات چندین هزار حرکت رو تست می کرد و بهترینشون رو انتخاب می کرد.
-
این یاد میگیره. اصولا شبه عصبی یعنی یادگیری. بعد از اینکه تعدادی (هر چی بیشتر بهتر ) اطلاعات رو بگیره و جواب خودشو با جواب درست مقایسه کنه و بر اساس همین مقایسه وزن یالهاش رو اصلاح کنه، کم کم نتیجه هاش درست میشه تا حد ۹۹ درصد.
-
حالا این مجوزش چیه؟!
-
با pdp++ چرا کارتو نکردی. خیلی راحت تر بود.
-
با سلام
کد مفید و تمیزی نوشته اید و از اون مهمتر اینکه به صورت آزاد منتشرش کردید. تبریک می گم و تشکر می کنم!
من هم به کد نویسی در زمینه شبکه های عصبی علاقه دارم . وقتی این پست را دیدم فکر کردم شاید بد نباشد اگر شما هم علاقه مند باشید به کمک هم یک کد ساده هم برای شبکه های RBF ایجاد کنیم. متاسفانه علی رغم قدرت بسیار بیشتر این شبکه ها نسبت به MLP من کد مناسبی از آنها در اینترنت پیدا نکرده ام.
علاقه مندم نظر شما را هم بدانم.
موفق باشید.
-
good topic, +1 for all of you thx for your project "arman_o71"
-
تشکر
-
سلام دوستان خیلی ممنون از بابت برنامه
دوستان من یه سوال دارم اگه ممکنه منو راهنمایی کنید استاد ما برای درس هوش مصنوعی یه پروژه به صورت اختیاری تعریف کرده که بازی نقطه نقطه رو انجام میده در واقع برنامه ای که مثلا من نوشتم با برنامه شما با هم بازی نقطه نقطه رو انجام میدن که هر دو این برنامه ها رو یه سرور که بازی رو کنترل میکنه انجام میشه تو درس هوش مصنوعی هم متاسفانه خبری از کد زنی نیست فقط الگوریتم هارو به صورت تئوری به ما میگن حالا اگه ممکنه دوستان منو راهنمایی کنن که چطور میتونم با استفاده از الگوریتم های هوش مصنوعی یه برنامه با هوش بنویسم اگه کمکم کنید ممنون میشم
با تشکر
-
نحوه برنامه نویسی خیلی مربوط به این انجمن نیست. :) سایتهایی مثل «سایت برنامه نویس» برای این نوع سوالات مناسبتر هستن.