«نقشه راه یادگیری در ChistIO»

دروسی که تا کنون در ChistIO ارائه شده است:

آشنایی با داده کاوی(Data Mining) و کاربردهای آن
سیستم های توزیع شده(Distributed Systems)
درس همروندی(Concurrency) و مدیریت ترمیم(Recovery Management) در پایگاه داده ها
درس توابع درهم ساز(Hash Functions)
یادگیری عمیق(Deep Learning) در شبکه های عصبی

 

 

کاربرد داده کاوی و یادگیری ماشین در پردازش متن(Text Processing)

با خواندن دروس قبلی متوجه شدید که داده کاوی و یادگیری ماشین بیشتر در دو دسته نظارت شده(مانند طبقه بندها) و غیر نظارت شده(مانند خوشه بندها) قرار دارند. امروز میخواهیم برای هر کدام از این دسته ها، کاربردهایی در دنیای واقعی ارائه دهیم. این کاربردها میتوانند در پروژه های مختلف متن کاوی و پردازش زبان طبیعی(Natural Language Processing) استفاده شوند.

ادامه خواندن “کاربرد داده کاوی و یادگیری ماشین در پردازش متن(Text Processing)”

سیستم توصیه گر(Recommendation System) چیست؟

اگر درس یادگیری ماشین چیست؟ را خوانده باشید، متوجه شده اید که مثال آن درس یک مثال سیستم توصیه گر بود. در آن مثال ما میخواستیم به مشتری جدید که در سبد خرید خود چند محصول داشت، یک محصول جدید را پیشنهاد دهیم. اجازه بدهید یک مثال کاربردی دیگر از سیستم های توصیه گر را برایتان شرح دهیم.

ادامه خواندن “سیستم توصیه گر(Recommendation System) چیست؟”

خوشه بندی(Clustering) چیست؟

فرض کنید، شما یک فروشگاه بزرگ مواد غذایی دارید و مشتریان این فروشگاه که بالغ بر ۱۰۰هزار نفر هستند ویژگی های مختلفی دارند. اجازه دهید، سه ویژگی زیر را برای یک مشتری خاص از مشتریان این فروشگاه بزرگ مواد غذایی در نظر بگیریم:

۱. این مشتری آخرین خرید خود را چند روز پیش انجام داده است(که با R نام گذاری میکنیم)

۲. این مشتری در یک سال گذشته، به طور میانگین چند روز یک بار از فروشگاه ما خرید کرده است(که با F نام گذاری میکنیم)

۳. این مشتری در یکسال گذشته به طور میانگین در هر بار خرید، چه مبلغی از فروشگاه خرید کرده است(که با M نام گذاری میکنیم)

ادامه خواندن “خوشه بندی(Clustering) چیست؟”

طبقه بندی(Classification) چیست؟

مانند مثال قبل در درس داده کاوی چیست؟، فرض کنید مدیریت یک بانک را برعهده دارید که ۱۰۰هزار مشتری دارد و میخواهید به یک سری از مشتریان خود وام دهید. طبیعتا به افرادی وام را خواهید داد که شانس پس دادن بیشتری داشته باشند. هر کدام از این افراد نیز، دارای خصوصیات مختلفی هستند. برای مثال، آیا این شخص خانه دارد یا نه؟ این شخص دارای اتومبیل شخصی هست یا خیر؟ حقوق دریافتی این شخص چقدر است؟ و… .

ادامه خواندن “طبقه بندی(Classification) چیست؟”

جدول درهم ساز توزیع شده(Distributed Hash Table) چیست؟

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

ادامه خواندن “جدول درهم ساز توزیع شده(Distributed Hash Table) چیست؟”

تابع درهم ساز(Hash Function) چیست؟

فرض کنید، شما سرپرست ۲۰۰منشی هستید. هر کدام از این منشی ها یک شماره(از ۱ تا ۲۰۰) دارید. فرض میکنیم، که ۲۰۰اتاق مختلف نیز داریم و میخواهیم این منشی ها را بین ۲۰۰اتاق موجود(که باز هم از ۱ تا ۲۰۰ شماره گذاری شده اند) تقسیم کنیم. بسیار ساده است که به هر فرد بگوییم به سراغ اتاق هم شماره خود برود. مثلا منشی شماره ۳، به اتاق شماره ۳ برود. هنگامی که یک مراجعه کننده، به دنبال منشی شماره ۳ میگردد، به او میگویم به که اتاق شماره ۳ برو و با منشی صحبت کن. حال فرض کنید که تعداد منشی ها از ۲۰۰ به ۵۰۰ افزایش یافت ولی تعداد اتاق ها همان ۲۰۰ عدد باقی ماند. اکنون برای تقسیم این منشی ها به اتاق ها، چه تبدیری می توان اندیشید؟

ادامه خواندن “تابع درهم ساز(Hash Function) چیست؟”

تئوری CAP در سیستم توزیع شده

در یک سیستم توزیع شده، حداکثر دو تا از سه ویژگی Consistency، Availability یا Partition Tolerance می تواند وجود داشته باشد. این تعریف نظری، توسط Brewer ارائه شد و به صورت گسترده مورد قبول متخصصان سیستم های توزیع شده قرار گرفت. در این درس، نگاهی به تعریف و کاربرد این نظریه و هر کدام از سه ویژگی موجود در آن می اندازیم.

ادامه خواندن “تئوری CAP در سیستم توزیع شده”

خاصیت ACID در یک پایگاه داده

همان طور که در درس تراکنش چیست؟ توضیح دادیم، تراکنش یک مجموعه ای از عملیات مانند SELECT، UPDATE و… است که به صورت واحد دیده می شود. تراکنش ها در یک پایگاه داده بایستی از خاصیتی به اسم ACID پشتیبانی کنند. اگر تراکنشی در پایگاه از ACID پشتیبانی کند، منجر به دقت و جامعیت در پایگاه داده می شود. ACID مخفف سه کلمه Atomicity، Consistency، Isolation و Durability می باشد که به شرح تک تک این خاصیت های میپردازیم.

ادامه خواندن “خاصیت ACID در یک پایگاه داده”

تراکنش(Transaction) در پایگاه داده چیست؟

تراکنش ها تعاریف گوناگونی دارند. اما شاید یکی از بهترین و ساده ترین تعریف ها را وب سایت ماکروسافت ارائه داده باشد:

در پایگاه داده ها، تراکنش در واقع یک مجموعه ای از عملیات(مانند SELECT, UPDATE و…) است که مانند یک واحد منطقی عمل میکنند.

برای مثال فرض کنید، شما برای یک مهمانی آماده می شوید. یک برنامه ریزی ۳ ساعته برای مهمانی انجام می دهید که به این صورت است: ۱. به عابر بانک برم و مقداری پول بگیرم ۲. به فروشگاه بروم و مقداری مایحتاج خانه از فروشگاه بخرم ۳. به خانه برگردم و غذا را برای مهمان ها آماده کنم.

ادامه خواندن “تراکنش(Transaction) در پایگاه داده چیست؟”