آشنایی با Jupyter پایتون و کاربردهای آن

Jupyter یکی از نرم افزارهای بسیار کاربردی در حوزه برنامه نویسی پایتون در علوم داده و داده کاوی است. توسط این ابزار میتوانید به راحتی عملیات مختلف تست و آزمایش های خود را در یک محیط ساده همراه با خروجی های در لحظه انجام دهید. این نرم افزار جهت انجام کارهای تحقیق و توسعه در شرکت ها یا دانشگاه ها بسیار کاربرد دارد.

ادامه خواندن “آشنایی با Jupyter پایتون و کاربردهای آن”

نصب پایتون و Anaconda همراه با Eclipse در لینوکس

نصب پایتون همراه با Eclipse در لینوکس بسیار مشابه ویندوز است. فقط نحوه نصب پکیج های Ananconda تفاوت جزئی دارد. برای همین در اینجا فقط بحث نصب پایتون Anaconda که شامل پایتون به همراه پکیج های مختلف مخصوص متخصصان علوم داده و یادگیری ماشین را پیگیری میکنیم. نصب Eclipse و Pydev و اتصال Eclipse به پایتون Anaconda همانند نسخه ویندوزی انجام می شود.

ادامه خواندن “نصب پایتون و Anaconda همراه با Eclipse در لینوکس”

آموزش نصب پایتون و Anaconda، همراه با Eclipse در ویندوز

در این آموزش قصد داریم تا به صورت تصویری و قدم به قدم آموزش نصب و راه اندازی زیر ساخت های لازم جهت پروژه های داده کاوی و یادگیری ماشین را با همدیگر فرا بگریم.

دانلود و نصب Anaconda

Anaconda شامل پایتون به همراه چندین کتابخانه دیگر مخصوص کار با داده ها و کارهای تحقیقاتی و علمی است. از آن جایی که نصب پکیج ها و کتابخانه های پایتون به دلیل وابستگی هایشان کار ساده ای نیست، پیشنهاد می شود جهت نصب پکیج هایی مانند Scikit Learn، Numpy، Pandas و… نرم افزار Anaconda را نصب کنید که تمامی این پکیج ها را همراه خود دارد.

ادامه خواندن “آموزش نصب پایتون و Anaconda، همراه با Eclipse در ویندوز”

کاهش گرادیان(Gradient Descent) در شبکه های عصبی

در درس قبلی با بحث پس انتشار خطا آشنا شدیم و متوجه شدیم که شبکه های عصبی برای به هنگام سازی وزن و انحراف های مختلف باید عملیات پس انتشار را در هر بار اجرای الگوریتم انجام دهند. هر تکرار از اجرای الگوریتم که یک Iterate شناخته می شود میتواند وزن و انحرف ها را به گونه ای به هنگام(Update) کند که الگوریتم شبکه عصبی بتواند ویژگی های مختلف و طبقه های مختلف را شناسایی کند. در این درس به بحث کاهش گرادیان(Gradient Descent) در شبکه های عصبی می پردازیم که در واقع پایه عملیات پس انتشار خطا می باشد.

ادامه خواندن “کاهش گرادیان(Gradient Descent) در شبکه های عصبی”

نحوه یادگیری پس انتشار خطا(Back Propagation) در شبکه های عصبی

از دروس قبل به یاد دارید که شبکه عصبی به دنبال یادگیری از طریق تغییرات در وزن ها(W) و انحراف ها(b) است. اصل یادگیری در شبکه های عصبی با تکرار انجام می شود. یعنی چندین مرتبه داده های یک مجموعه داده(Dataset) به الگوریتم داده می شود و این الگوریتم با کم و زیاد کردن وزن ها و انحراف ها، میتواند تفاوت ها را در داده های آموزشی تشخیص دهد. مثال پراید و اتوبوس را همیشه به یاد داشته باشید.

ادامه خواندن “نحوه یادگیری پس انتشار خطا(Back Propagation) در شبکه های عصبی”

تابع ضرر(Loss Function) در شبکه عصبی چیست و چه کاربردی دارد؟

تا اینجا در دوره آشنایی با شبکه های عصبی، به این نتیجه رسیدیم که شبکه عصبی به دنبال یک سری وزن ها(W) و انحراف(b) هست تا بتواند یک سری خط مرزی بین انواع مختلف(مثلا پراید و اتوبوس) رسم کند تا بتواند تفاوت آن ها را درک کند. این کار با استفاده از قانون ضرب و توابع فعال سازی انجام می شد. در این درس آرام آرام به سمت آموزش در شبکه عصبی می رویم. این نکته را بدانیم که.پایه آموزش در شبکه های عصبی تابع ضرر است.

ادامه خواندن “تابع ضرر(Loss Function) در شبکه عصبی چیست و چه کاربردی دارد؟”

درباره توابع فعال سازی پرسپترون و Sigmoid

در این درس از دوره شبکه های عصبی به توابع فعال ساز(Activation Functions) می رسیم. در اینجا قصد نداریم تمامی توابع فعال ساز را با هم به صورت دقیق مرور کنیم. فقط میخواهیم چند نمونه کاربرد این توابع را در شبکه های عصبی بررسی کنیم.

یک تعریف ساده درباره توابع فعال ساز وجود دارد: این توابع در واقع یک قسمت در شبکه های عصبی هستند که ورودی آن ها یک عدد(کوچک یا بزرگ در بازه دلخواه) است و خروجی آن ها معمولا یک عدد بین ۰ و ۱، یا -۱ و +۱ است. در واقع این توابع یک عدد ورودی را به یک بازه مشخص(مثلا ۱- تا ۱+) تبدیل می کنند. به توابع فعال ساز، توابع انتقال(Transfer Function) نیز می گویند.

ادامه خواندن “درباره توابع فعال سازی پرسپترون و Sigmoid”

پرسپترون چند لایه(Multi Layer Perceptron) چیست؟

در درس اول دوره آموزشی داده کاوی دیدیم که با یک پرسپترون میتوان خطی رسم کرد که تفاوت پراید و اتوبوس را تشخیص دهد. در واقع برای تشخیص پراید و اتوبوس به برای یک کامپیوتر، ویژگی های آن ها را به برداردها و ابعاد ریاضی تبدیل کرده و به الگوریتم های داده کاوی و یادگیری ماشین می دهیم. حال فرض کنید که مسئله ما به راحتی تفاوت پراید و اتوبوس نباشد. مسايل پیچیده تر را دیگر نمیتوان با یک پرسپترون ساده حل کرد.

ادامه خواندن “پرسپترون چند لایه(Multi Layer Perceptron) چیست؟”

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

با خواندن درس قبل فهمیدیم که پرسپترون(Perceptron) چیست و یک طبقه بندی ساده بین پراید و اتوبوس با استفاده از ویژگی های ورودی به شبکه را با هم مرور کردیم. در این درس میخواهیم به صورت عمیق تر به بحث پرسپترون و یک مدل یادگیری ساده در شبکه عصبی بپردازیم که پایه بسیاری از شبکه های عصبی دیگر است. این درس را با دقت بیشتری مطالعه کنید زیرا میتواند پایه ای برای بسیاری از مباحث یادگیری ماشین و داده کاوی باشد.

ادامه خواندن “پرسپترون در شبکه عصبی چگونه یاد میگیرد؟”

تعریف پرسپترون(Perceptron) در شبکه های عصبی

در درس قبل یک شمای کلی از شبکه های عصبی و قانون ضرب ورودی در وزن ها را یادگرفتیم. اجازه بدهید در این درس ببنیم کامپیوتر با شبکه های عصبی چگونه یادگیری را انجام میدهد.

فرض کنید به یک بچه کوچک میخواهید آموزش بدهید. مثلا میخواهید به اون بگویید که یک اتوبوس چیست. برای این کار چه کاری میکنید؟ یک راه ساده(که خود ما هم خیلی چیزها را به وسیله آن یادگرفته ایم) این است که به بچه کوچک بگوییم که این اتوبوس است و آن اتوبوس نیست. چندین مورد اتوبوس را به بچه نشان میدهیم و چندین موردی که اتوبوس نیست را هم به اون میگوییم. به راحتی یک بچه با چند بار تمرین میتواند یادبگیرد که اتوبوس چیست! یعنی میتواند تمایز اتوبوس را با بقیه ماشین های دیگر درک کند. این روش پایه روش یادگیری در پرسپترون و بسیاری دیگر از الگوریتم های داده کاوی است.

ادامه خواندن “تعریف پرسپترون(Perceptron) در شبکه های عصبی”