مبنای این پروژه بر اساس مسابقه‌‌ای است که در سایت Kaggle.com قرار داده شده است. برای مشاهده صفحه اصلی این مسابقه اینجا را کلیک کنید. در این مسابقه از ما خواسته شده است که برنامه با یادگیری سابقه ۱۲ ساله جرم و جنایت در شهر سان‌فرانسیسکو، بتواند نوع جرم را برای هر جنایت جدیدی که به وقوع می‌پیوندد پیش‌بینی کند.

۱. مقدمه

امروزه جرم، جنایت و تروریسم خطری است که همواره شهروندان یک شهر را تهدید میکند. اولین شیوه‌های پیش‌گیری از جرم بر پایه افزایش مجازات‌های فرد مجرم بوده است. در این شیوه‌ها پس از کشف جرم و دستگیری مجرم با اعمال مجازات‌های مختلف سعی بر مهار میزان وقوع جرم در جامعه شده است.در این روش‌ها پلیس پس از وقوع جرم،‌ به کشف آن پرداخته و در نهایت برای دستگیری مجرم اقدام می‌کند؛ از این رو پلیس دارای رویکردی انفعالی خواهد بود. یکی از رویکرد‌های جدید مقابله با جرم پیش‌بینی جرم قبل از وقوع آن است که باعث می‌شود نقش پلیس از ماهیت انفعالی به ماهیتی فعال و پویا تبدیل شود.
در اکثر جرم و جنایت‌ها، حضور یک پلیس یا اتومبیل گشت‌زنی ،می‌تواند از فعالیت‌های مجرمانه جلوگیری می‌کند. سیستم پیش‌بینی جرم به پلیس کمک می‌کند تا در زمان‌های مختلف در محل‌هایی که احتمال وقوع جرم بیشتر است به گشت زنی بپردازند که دراین حالت نیروهای پلیس به صورت بهینه تر و هدفمندتر میتوانند به انجام وظیفه خود بپردازند و آمار وقوع جرم نیز کاهش خواهد یافت. در حال حاضر در چند ایالت آمریکا، و در شهرهایی از انگلستان [1] پلیس در حال استفاده از این سیستم‌ها است و کاهش قابل توجهی در آمار وقوع جرم و جنایت ثبت شده است.
سیستم‌های پیش‌بینی جرم به طور کلی با یادگیری از داده‌های جرم‌های رخ داده در یک شهر در یک بازه زمانی به پیش‌بینی مناطقی که احتمال وقوع جرم در آن بیشتر است 1 می پردازد. این سیستم ها قادر به پیش بینی هویت سارق نیستند بلکه نوع جرم و مکان و زمان احتمالی وقوع آن را پیش بینی می کند.
داده‌های مسئله شامل جرم هایی است که از تاریخ 1/1/2003 تا 5/13/2015 توسط سازمان پلیس سانفرانسیکو ثبت شده است.شکل زیر اطلاعات داده شده در این داده‌ها را نشان می‌دهد.

شکل۱-ااطلاعات داده شده برای هر جرم

۲. کارهای مرتبط

در این مقاله بیشتر سعی خواهد شد که خواسته مسابقه که همان تشخیص نوع جرم است بررسی شود اما در بخش کارهای مرتبط برای فهم بهتر مسئله به طور کلی به شناخت سیستم‌های تشخیص جرم که به بررسی مکانی و زمانی جرم هم میپردازند خواهیم پرداخت.

۲.۱. روش ترسیم نقاط حساس

یکی از روش‌های ابتدایی بررسی جرم‌ها روشی به اسم ترسیم نقاط حساس2 است[2]. نکته‌ی کلیدی در این روش دانستن این موضوع است که اغلب جرائم در محیط‌هایی خاص و تکراری رخ می‌دهند و احتمال تکرار جرم در محلی که قبلا قربانی آن جرم بوده بسیار بیشتر است[3]. در روش ترسیم نقاط حساس با بهره گیری از سابقه‌ی جرم های رخ داده در گذشته، مناطقی که در آن‌ها مقدار بیشتری جرم رخ داده است در نقشه مشخص می‌گردد تا پلیس نیروهای خود را به صورت بهینه تری بتواند در شهر تقسیم کند. روش های ترسیم شامل نگاشت نقطه‌‌‌‌‌‌‌‌‌‌‌‌‌‌ای3(شکل۲-a)، بیضی‌های مکانی4(شکل۲-b)، ‌‌نگاشت موضوعی واحد‌های اجرایی 5(شکل۲-c)، نگاشت شبکه‌ای موضوعی6 (شکل۲-d)و پرکاربردترین آنها[4] که روش تخمین چگالی هسته 7(شکل۲-e)است. این روش های ترسیم هریک دارای مزایا و معایبی هستند که در مقاله ذکر شده[2] به آن ها اشاره شده است.

شکل ۲-انواع روش های ترسیم نقاط حساس

۲.۲. روش یادگیری نظارت شده

روش دیگر پیش بینی‌جرم استفاده از الگوریتم‌های یادگیری نظارت شده8 است[5]. در این روش داده‌گانی از جرم‌های رخ داده در شهرهای مختلف در طول یک بازه زمانی برای یادگیری استفاده میشود.این داده‌گان دارای اطلاعاتی هچون نام شهر، تعداد جمعیت، میزان درآمد قشرهای مختلف مردم و میزان جرم به ازای هر ۱۰۰ هزار نفر است.الگوریتم های طبقه‌بندی9 بیزساده10 و درخت تصمیم گیری11 برای این مسئله استفاده شده‌اند.

۲.۲.۱. طبقه بندی بیز ساده

الگوریتم طبقه بندی بیز ساده بدین گونه است که اگر برای هر نمومه X=({ X }_{ 1 },{ X }_{ 2 },...,X_{ n }) و { X }_{ 1 } مقدار ویژگی یکم باشد مقدار P(X|C) به وسیله الگوریتم طبقه بندی بیز ساده برای همه‌ی مقادیر ممکن C محاسبه میشود و مقدار{ C }^{ * }={ argma }_{ xc }P(X|C) برای همه‌ی مقادیر X پیش بینی می‌شود.برای اطلاعات بیشتر به اینجا مراجعه کنید.

۲.۲.۲. طبقه بندی درخت تصمیم

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

۲.۲.۳. نتیجه

نتیجه بدست آمده به صورت زیر است:

شکل ۳-نتیجه بدست آمده از الگوریتم های بیز ساده و درخت تصمیم‌گیری

همانطور که نتایج بدست آمده در شکل ۳ نشان میدهد برای این مسئله خاص الگوریتم درخت تصمیم گیری از دقت بهتری برخوردار بوده است.

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] http://www.theguardian.com/cities/2014/jun/25/predicting-crime-lapd-los-angeles-police-data-analysis-algorithm-minority-report
[2] Chainey, Spencer, Lisa Tompson, and Sebastian Uhlig. "The utility of hotspot mapping for predicting spatial patterns of crime." Security Journal 21.1 (2008): 4-28.
[3] Cohen, Lawrence E., and Marcus Felson. "Social change and crime rate trends: A routine activity approach." American sociological review (1979): 588-608.
[4] Chainey, Spencer, Svein Reid, and Neil Stuart. When is a hotspot a hotspot? A procedure for creating statistically robust hotspot maps of crime. Taylor & Francis, London, England, 2002.
[5] Iqbal, Rizwan, et al. "An experimental study of classification algorithms for crime prediction." Indian Journal of Science and Technology 6.3 (2013): 4219-4225.


  1. Crime hotspot

  2. Hotspot mapping

  3. Point mapping

  4. Spatial ellipses

  5. Thematic mapping of administrative units

  6. Grid thematic mapping

  7. Kernel density estimation

  8. Supervised learning

  9. Classification

  10. Naive Bayes

  11. Decision tree

علیرضا نوریان

نوشتارتون خوب بود و زحمت کشیده بودید.
می‌تونستید مقالات مرتبط بیشتری رو مطالعه و ذکر کنید؛ اگرچه شاید در این مساله مقالات هم خیلی خیلی زیاد نباشن.
لطفا در عنوان از ارجاع و پاورقی استفاده نکنید و اونها رو به درون متن منتقل کنید.