۹۲۷/۲
۷۸۵۶۳۷
۴/۸۳
۰۰۱۳۹/۰
۰۰۱۵۹/۰
۲۹۹/۰
۱/۳۳۶۱
انحراف معیار
نرمافزار و کدنویسی
برای شبیهسازی و برآورد رسوب باید قبل از هر جیز کد یا برنامه مربوطه نوشته شود. در تحقیق حاضر در جهت تسهیل محاسبات و حصول نتایج برای مدل موردنظر ، روند پیش بینی و بهینهسازی مسأله به صورت کد متلب درآمده است. متلب یک محیط نرمافزاری برای انجام محاسبات عددی و یک زبان برنامهنویسی نسل چهارم است. واژه متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامهنویسی مربوطه است که از ترکیب دو واژه MATrix (ماتریس) وLABoratory (آزمایشگاه) ایجاد شده است. این نام حاکی از رویکرد ماتریس محور برنامه است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته میشوند. کار کردن با ماتریسها در متلب بسیار ساده است. در حقیقت تمام دادهها در متلب به شکل یک ماتریس ذخیره میشوند. برای مثال یک عدد (اسکالر) به شکل یک ماتریس ۱×۱ ذخیره میشود. یک رشته مانند «Whale is the biggest animal» به شکل ماتریسی با یک سطر و چندین ستون (که تعداد ستونها به تعداد کاراکترهاست) ذخیره میشود. فایلهای صوتی نیز در متلب به شکل ماتریسهای تک ستون (بردارهای ستونی) ذخیره میشوند. بنابراین جای تعجب نیست که متلب مخفف عبارت آزمایشگاه ماتریس باشد.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
برای نوشتن بدنه اصلی برنامه از جعبه ابزار LSSVMlab کمک گرفته شده است. این جعبه ابزار برای استفاده با بسته تجاری برنامه متلب در نظر گرفته شده است. این جعبه ابزار ابتدا گردآوری و سپس برای معماریهای مختلف کامپیوتری از قبیل ویندوز و لیناکس[۴۹] آزمایش شده است. بسیاری از توابع این جعبه ابزار می تواند در حدود ۲۰۰۰۰ نقطه داده و یا بیشتر را در خود جای دهد. ارتباط LSSVMlab با متلب حاوی یک نسخه ابتدایی برای مبتدیان و یک نسخه پیشرفتهتر همراه با برنامههایی برای تکنیکهای رمزگذاری چند کلاسه میباشد. تعدادی از توابع منحصر به روش LSSVM بوده ( که دارای پسوند lssvm در اسم توابع میباشد از قبیل توابع؛ initlssvm، trainlssvm، simlssvm و ….) و مابقی را به طور کلی میتوان استفاده کرد. تعدادی از نمونههای نمایشی[۵۰] نیز طریقه استفاده از ترکیبات مختلف جعبه ابزار را نشان میدهد. توابع متلب موجود به دو شیوه اصلی سازماندهی شده است: بسته به انتخاب کاربر هم می تواند به طور مستقیم و از راه تابعی، و هم می تواند به صورت ساختار هدفمند[۵۱] (با اشاره به عنوان model) فراخوانده شود. با کمک گرفتن از این جعبه ابزار در نهایت کد نهایی نوشته و متناسب با هدف مورد نظر اصلاح و مورد استفاده واقع شده است.
پس از کدنویسی داده ها از طریق متلب فراخوانی شدند و از میان آنها ۶۰ درصد برای آموزش، حدود ۲۰ درصد برای صحتسنجی مدل و مابقی به عنوان داده های آزمون برای رویکرد نخست، یعنی مدل حداقل مربعات ماشین بردار پشتیبان، در نظر گرفته شد. مدل بارها و بارها اجرا شد و نتایج مطلوبی حاصل شد که در ادامه در مورد آنها بحث می شود. مدل حداقل مربعات ماشین بردار پشتیبان دارای دو پارامتر از پیش تعیین شده بوده و باید در حین مدلسازی واسنجی شوند. این پارامترها عبارتند از: یا پارامتر تنظیم و پارامتر مربوط به تابع کرنل که بسته به نوع کرنل متفاوت است. در ابتدا بر روی داده ها عمل پیشپردازش صورت گرفته و داده ها نیز نرمالیزه شدند. با بهره گرفتن از داده های آموزشی عملیات یادگیری بر روی مدل صورت گرفته و با بهره گرفتن از داده های صحتسنجی پارامترهای مدل واسنجی شده و پس از آن از طریق داده های آزمون میزان یادگیری مدل بررسی شده است. در رویکرد ثانویه، بهینهیابی اجتماع ذرات بر روی داده ها پیادهسازی شد که در ادامه به بحث در مورد آن پرداخته می شود.
بحث و نتایج
رویکرد نخست، حداقل مربعات ماشین بردار پشتیبان
در مدلسازی اولیه مربوط به رویکرد پیشنهادی نخست، سعی شده که پارامترهای کالیبره مدل LSSVR با الگوریتم بهینهسازی اجتماع ذرات واسنجی شود. بدین ترتیب که در ابتدا مقادیر مختلفی را به صورت تصادفی در یک فضای جستوجوی وسیع به پارامترهای مدل حداقل مربعات ماشین بردار پشتیبان اختصاص داده که این مقادیر برای الگوریتم اجتماع ذرات نقش موقعیت ذرات را خواهد داشت. تکتک این موقعیتها به طور جداگانه وارد مدل حداقل مربعات رگرسیون بردار پشتیبان شده و شبیهسازی رسوب انجام میگیرد. مقادیر شبیهسازی با مقادیر اندازه گیری شده مقایسه شده و میزان خطای شبیهسازی محاسبه می شود. از بین ذرات مختلف ذرهای که موقعیت آن موجب کمینه خطا در مدل می شود، به عنوان “بهترین عمومی” در نظر گرفته می شود. از طرفی دیگر بهترین موقعیتی که هر ذره در طول تکرارهای مختلف داشته به عنوان “بهترین فردی” شناخته می شود. از طریق “بهترین عمومی” و “بهترین فردی"، سرعت و موقعیت کلیه ذرات بهروز شده و برای تکرار بعدی به کار برده میشوند. همین روند ادامه یافته تا همه ذرات به سمت یک ذره که دارای موقعیت بهینه است، همگرا شوند. بعضی اوقات ممکن است مدل همگرا نشود برای همین تعداد تکرارها معلوم فرض میشوند. موقعیت بهینه در واقع همان مقادیر واسنجی شده پارامترهای تنظیم و کرنل هستند. در شکل (۵-۱) فلوچارتی از این روند ارائه شده است. با بررسی توابع کرنل مختلف ملاحظه گردید که تابع پایه
Start
Enter training data
Generate initial particles together with their velocities
Update particle velocities and positions
Update the best particles
Evaluate according RMSE of each particle and set the best particle
End
Select the best particle
Termination condition satisfied?
شکل ‑: فلوچارت مدل ترکیبی الگوریتم PSO و LSSVM
YES
NO
Conversion of constrained optimization problem to its Lagragian version
Conversion to LP
Derivative of Lagragian function subject to
Finding the values of and e by above equation in terms of Lagrange multipliers and then substitution in Lagranian function
Using a kernel function such as RBF
شعاعی قابلیت تعمیم بهتری نسبت به سایر توابع کرنل دیگر داشته و از این تابع برای مدلسازی استفاده شد. مقادیر پارامتر تنظیم و پارامتر کرنل RBF با بهره گرفتن از الگوریتم PSO واسنجی شدند که به ترتیب برابر با ۷۱۵۸/۷۱ و ۵۳۸۵/۱۶ هستند. نتایج مربوط به داده های آموزشی و آزمون از قبیل همگرایی پارامترهای تنظیم و کرنل، نمودار پراکندگی و هیستوگرام خطاها را میتوان در شکلهای (۵-۲) تا (۵-۷) مشاهده نمود.
شکل ۵‑۲: همگرایی پارامتر تنظیم ( )
شکل ۵‑۳: همگرایی پارامتر مربوط به تابع کرنل RBF ( )
شکل ۵‑۴: هیستوگرام خطای آزمون مدل نخست LSSVM
شکل ۵‑۵: نمودار پراکندگی داده های آموزشی (مدل نخست LSSVM)