Перед лицом глобальной экономической неопределенности во время Великой рецессии 2008–2009 годов мир технологий продолжал развиваться с поразительной скоростью. Apple представила iPhone 3G, свое второе предложение для iPhone и первое, включающее любимый теперь App Store, доход которого в 2020 году превысит 1 млрд долларов в неделю и в одиночку затмит национальный ВВП большинства стран мира. страны одни. После приобретения Android несколькими годами ранее компания Google представила операционную систему Android, которая впоследствии заняла почти 75% рынка мобильных телефонов. Эти монументальные технологии сопровождались формированием «Интернета вещей», объединяющего миллиарды устройств по всему миру, которые теперь подключены к Интернету и постоянно собирают данные и обмениваются ими. Интернет вещей родился в 2008 или 2009 году, когда количество подключенных к Интернету устройств превысило количество подключенных людей.

Присутствие Интернета вещей (IoT) стало еще более ощутимым во всех аспектах современного мира за годы, прошедшие с 2008 года. Обилие данных, создаваемых этими устройствами IoT, огромно — по оценкам IBM в 2017 году, 90% данных, которые когда-либо существовал только за два года до 2017 года! Мы ежедневно создаем 2,5 квинтиллиона байтов данных, и это число только растет по мере развития технологий и сокращения цифрового разрыва. Многие организации научились использовать свои данные для быстрой разработки своих стратегий для удовлетворения часто невысказанных потребностей своих клиентов. Это обеспечило огромный уровень роста и прибыльности для этих компаний на этом пути — Facebook, Alphabet, Amazon, Netflix и Walmart, например, увеличили свою рыночную стоимость на миллиарды долларов и зарекомендовали себя как одни из крупнейших в мире. самые дорогие компании.

Интернет вещей подчеркнул важность данных в современном цифровом обществе. Организации, которые не используют датчики IoT, по крайней мере изменяют свои стандартные операционные процедуры для сбора данных из обычных бизнес-процессов. Из-за растущей сложности крупномасштабного управления данными и их хранения, а также из-за отсутствия краткосрочных стимулов для этого многие правительственные организации не спешили внедрять и вносить свой вклад в эту новую цифровую эру. Округ Кинг, где расположены Amazon в Сиэтле и Microsoft в Редмонде, является местным правительством, которое опровергает это мнение. Округ Кинг придерживается политики открытых данных и регулярно публикует актуальные данные на своем портале для граждан по адресу https://data.kingcounty.gov/. Темы данных включают правоохранительные органы, качество окружающей среды, транспорт и многое другое.

Я использовал искусственный интеллект (ИИ), чтобы предсказать вероятность ареста или обыска во время остановок Терри (временное задержание или подозреваемый в преступной деятельности) со стороны Департамент полиции Сиэтла. Город Сиэтл предоставляет потрясающий набор данных, который мы будем использовать для обучения модели машинного обучения: https://data.seattle.gov/Public-Safety/Terry-Stops/28ny-9ts8/data.

Преобразование данных

Судя по набору данных, не все атрибуты, представленные в этом атрибуте, будут полезны для этих прогнозов. Например, мы можем с уверенностью предположить, что идентификатор субъекта и идентификационный номер Терри Стоп являются произвольными значениями, которые не имеют никакого отношения к решению об аресте или обыске субъекта. При этом ниже приведены атрибуты набора данных, которые мы будем использовать для выполнения этой задачи.

Концепция искусственного интеллекта, которую мы будем использовать для решения этой задачи, — это нейронная сеть. Нейронные сети — это вычислительные системы, вдохновленные и смоделированные по образцу биологических нейронов, составляющих мозг животного. Нейронные сети принимают массивы чисел в качестве входных данных, а затем применяют взвешивание к каждому из этих входных данных для вычисления выходных данных. Благодаря использованию «обратного распространения» нейронная сеть будет «учиться» во время обучения и корректировать свои внутренние веса, чтобы приближать их к желаемому результату. В частности, я буду использовать систему нейронной сети, которую я создал сам с нуля, используя язык программирования C# Microsoft .NET Framework. Моя нейронная сеть использует функцию активации гиперболического тангенса (TANH), у меня есть один скрытый слой с 50 скрытыми нейронами, каждый слой имеет один нейрон смещения, и я использую обратное распространение, используя скорость обучения 0,018.

Нейронные сети — это, по сути, сложные матричные калькуляторы. Калькуляторы принимают только числовые значения, а не строковые (текстовые) значения, существующие в наборе данных. Это означает, что нам нужно выполнить некоторый перевод данных, чтобы компьютер мог понять входные данные. Все атрибуты, представленные в этом наборе данных, за исключением года рождения офицера, необходимо преобразовать из строкового значения в числовое значение.

Итак, как нам преобразовать эти строковые значения в числа? Для каждого уникального значения в каждом атрибуте мы создадим другой атрибут, который будет содержать значение 1, если исходный атрибут соответствует этому уникальному значению, и 0, если нет. Например, если бы мы хотели сделать это преобразование для атрибута Предполагаемая раса субъекта, а уникальными значениями этого атрибута были только «Белый», «Черный» и «Латиноамериканец», мы бы создали новый атрибут атрибуты «Subject_Is_White», «Subject_Is_Black» и «Subject_Is_Hispanic». Затем для каждой записи мы заполнили бы 1 для каждого из этих новых атрибутов, если Воспринимаемая субъектом раса соответствует атрибуту, и 0, если нет.

Я применил это преобразование ко многим атрибутам в наборе данных, чтобы создать новый список входных данных, которые мы будем передавать в нашу нейронную сеть:

Нам не нужно было применять это преобразование для атрибутов, которые содержат только два уникальных значения (например, пол). Для этих атрибутов я просто заменил одно из значений на 0 и одно на 1. Для пола я заменил все значения «мужской» на 0 и все значения «женский» на 1.

Есть еще одно преобразование, которое мы должны применить, прежде чем мы будем готовы обучить нашу нейронную сеть. Поле Возраст офицера содержит значения от 22 до 69. Нейронные сети применяют функции активации к каждому из своих внутренних вычислений, чтобы имитировать пороговое «срабатывание» биологических нейронов. Прелесть TANH (и многих других широко используемых функций активации) заключается в том, что выходные данные всегда будут находиться в диапазоне от –1 до 1, что предотвращает увеличение внутренних весов до бесконечности во время обучения.

Функция TANH является нелинейной, что означает, что градиент (производная) выходных данных неоднороден. Эта нелинейность придает каждому нейрону свойство "активировать или не активировать", которое можно найти в биологических нейронах животных. Кроме того, нелинейность функции активации дает нашей нейронной сети возможность обнаруживать нелинейные тенденции в данных. Каждый нейрон стимулируется потенциалом действия (входным значением), который затем передается через функцию TANH. Если потенциал действия достаточно высок, нейрон «запустится» и передаст положительное число каждому из нейронов следующего слоя. Этот выходной сигнал затем усиливается или подавляется аксоном, соединяющим нейрон с нейроном следующего слоя.

Поскольку градиент функции TANH наиболее заметен между входными значениями –1 и 1 (как показано в фиолетовой рамке на графике выше), мы будем применять минимальную и максимальную нормализацию к непрерывным атрибутам набора данных, чтобы «нормализовать» (растянуть) их до значений от –1 до 1. Единственный атрибут, к которому нам нужно применить это, – это атрибут «Возраст офицера».

После преобразований наших данных, которые были подробно описаны выше, мы теперь готовы к обучению нашей нейронной сети. Наш набор данных содержит 13 573 полных и пригодных для использования записей. Я решил использовать 75% данных для обучения нашей модели, а оставшиеся 25% — для проверки точности прогнозов нашей нейронной сети. После инициализации новой нейронной сети с 38 входными узлами, 50 скрытыми узлами и 2 выходными узлами мы готовы обучить нашу модель. Обучение нейронной сети в таком масштабе может потребовать больших вычислительных ресурсов и занять некоторое время, поэтому я передал рабочую нагрузку экземпляру оптимизированных для вычислений виртуальных машин FSV2 Microsoft Azure на базе процессора Intel Xeon Platinum.

Ниже приведена схема нейронной сети, которую мы используем. Простите меня за мелкий текст, но он должен быть маленьким, чтобы поместиться.

10 180 итераций обучения и 38 часов спустя у нас есть полностью обученная нейронная сеть, готовая делать прогнозы. Было сделано около 3393 прогнозов, поэтому я не смогу показать их все здесь. Тем не менее, ниже приводится высокоуровневый анализ результатов.

Точность прогноза

Правильно ли нейронная сеть предсказала аресты?

Нейросеть рассчитывала вероятность ареста для каждой записи об инциденте. Для 100 записей, которые, как предсказывала сеть, скорее всего, были бы арестом, арест действительно произошел в 47 из этих 100 инцидентов. И наоборот, из 100 записей, которые, по прогнозам сети, были наименее вероятными арестами, 73 инцидента на самом деле не привели к аресту. Объединение этих двух показателей означает, что в 200 наиболее противоречивых случаях предсказания были верны 120 раз, или вероятность успеха составила 60%. Лучше, чем подбрасывание монеты, но недостаточно, чтобы быть очень уверенным! Означает ли это, что наша нейронная сеть вышла из строя? Не обязательно. Если мы сделаем шаг назад, мы можем признать, что входные данные могут не иметь сильной корреляции с вероятностью ареста. Я уверен, что есть еще много детерминант ареста, которые не учитываются в этом наборе данных — поведение субъекта, влияние наркотиков и алкоголя, уважение во время разговора и предыдущая криминальная история — все это вероятные факторы для принятия решения офицерами во время задержания. не включены в качестве входных данных в нашу модель. Следовательно, возможно, мы просим нашу нейронную сеть выполнить задачу, которая невозможна из-за характера данных.

Правильно ли нейронная сеть предсказала обыски?

Подобно арестам, наша нейросеть также рассчитывала вероятность обыска для каждого инцидента. Для 100 записей, предсказанных сетью, наиболее вероятно, что это будет обыск, фактически обыск произошел в 82 случаях. Из 100 записей, которые, по прогнозам сети, были наименее вероятными для ареста, 87 инцидентов на самом деле неприводили к обыску. В совокупности это означает, что наша модель верна в 169 случаях из 200, или вероятность успеха составляет примерно 85%. Это большое улучшение по сравнению с точностью прогнозирования ареста, и оно достаточно высокое, чтобы вселить в меня уверенность в том, что наша модель обнаружила сильную корреляцию данных. Почему это не 100%? Опять же, имейте в виду, что это несовершенная и неполная информация. Это не захватывает (и, вероятно, никогда не зафиксирует) абсолютно всего, что происходило во время каждой остановки полиции. Поэтому нерационально ожидать почти идеальной точности прогноза от предоставленных нами ограниченных данных. Теоретически эта точность должна увеличиваться по мере того, как мы предоставляем более коррелированные данные.

Теперь, изменив нашу сферу охвата на весь набор тестовых данных, нейронная сеть правильно предсказала арест в 66% случаев и правильно предсказала обыск в 75% случаев. Хотя эти результаты не идеальны, они указывают на то, что наша нейронная сеть смогла уловить и извлечь уроки из корреляций в данных. Так как же нейронная сеть сделала это? Давайте проанализируем результаты немного дальше, чтобы попытаться сформулировать корреляции.

Связь атрибутов

Подарочное оружие

Как наличие оружия повлияло на предсказание ареста или обыска? В 100 основных сценариях, в которых наша сеть была наиболее уверена в том, что арест произойдет, в 70 из этих случаев действительно присутствовало оружие. В 100 основных сценариях, в которых наша сеть была наиболее уверена в возможности обыска, оружие присутствовало 94 раза. С другой стороны, в топ-100 наименее вероятных дел для ареста или обыска не попало ни одного дела с оружием. Это чрезвычайно наводит на мысль, что этот ввод был сильным индикатором для нейронной сети при прогнозировании результатов.

Тот факт, что имеется 94 случая с оружием для наиболее вероятных обысков и 70 случаев с оружием для наиболее вероятных арестов, говорит о том, что наличие оружия больше ассоциируется с обыском, а не с арестом. Это может противоречить здравому смыслу, но на самом деле может иметь смысл — возможно, обыск почти всегда происходит при наличии оружия, но не всегда приводит к аресту, учитывая, что оружие может находиться на законных основаниях.

Возраст офицера

Как возраст офицера повлиял на наши прогнозы? Ниже приведены результаты:

Средний возраст для наиболее вероятного возраста ареста составил 29,3 года, а средний возраст для наименее вероятного ареста - 38,8 года. Это большая разница! Это означает, что наша нейронная сеть уловила корреляцию между возрастом офицера и вероятностью ареста и предполагает, что более молодые офицеры совершают арест с большей вероятностью, чем старшие. Возможно, старшие офицеры обладают достаточной зрелостью, чтобы избежать необходимости производить арест или вообще активно пытаться избежать ситуации. Возможно, старшие офицеры обычно выполняют больше управленческую роль и, следовательно, с меньшей вероятностью произведут арест.

Средний возраст как для наиболее вероятной, так и для наименее вероятной попытки обыска был очень похож — 29,9 и 28,2 года, поэтому этого недостаточно, чтобы копаться и делать выводы.

Пол офицера

Как пол офицера повлиял на наши прогнозы?

Здесь нет существенных различий, но кое-что стоит отметить. Вероятность как ареста, так и обыска выше, если полицейский имеет мужской, а не женский пол. Особенно для вероятности ареста.

Пол субъекта

Как пол испытуемого повлиял на наши прогнозы?

Здесь определенно есть сильная корреляция, которую уловила наша нейронная сеть. Как для наиболее вероятных случаев ареста, так и для наиболее вероятных случаев обыска группа испытуемых на 100% состояла из мужчин. Это соотношение значительно меняется, если рассматривать случаи наименее вероятного ареста и наименее вероятного обыска. Наименее вероятные случаи ареста составляют только 77% мужчин (и 23% женщин), в то время как наименее вероятные случаи обыска резко падают до 28% мужчин (и 72% женщин).

Произошло резкое изменение в соотношении мужчин и женщин между наиболее вероятными и наименее вероятными случаями обыска. 100% мужчин в наиболее вероятных случаях и 72% женщин в наименее вероятных случаях! С чего бы это? Мы можем выдвинуть много гипотез и проверить каждую из них с помощью данных, но я думаю, что это происходит потому, что офицеры с меньшей вероятностью будут обыскивать женщину из-за потенциальной негативной реакции на сексуальные домогательства или судебного разбирательства.

Означает ли это, что офицеры привносят в свою работу сознательную или бессознательную предвзятость? Возможно! Но делать поспешные выводы опасно… это может быть результатом многих вещей. Теоретически это также может быть результатом участия мужчин в деятельности, которая является более серьезной по уровню незаконности, чем в среднем женщины.

Возраст субъекта

Как возраст испытуемого повлиял на наши прогнозы? Давайте посмотрим на результаты:

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Обратите внимание, что 66 из 100 наиболее вероятных случаев ареста попадают в возрастной диапазон от 26 до 35 лет. Это означает, что наша нейронная сеть предполагает, что этот возрастной диапазон особенно подвержен арестам. Опять же, означает ли это, что полицейские Сиэтла имеют что-то против этого возрастного диапазона? Возможно, но не обязательно. Это может быть результатом того, что люди в этом возрастном диапазоне занимаются гораздо большей незаконной деятельностью по сравнению с другими возрастными диапазонами.

С другой стороны, наименее вероятные аресты имеют больше лиц младшего и старшего возраста, что указывает на то, что в этом возрасте вероятность ареста действительно меньше. Аналогичные тенденции применимы и к предсказаниям обыска.

Офицерская гонка

Как расовая принадлежность офицера как атрибут влияет на прогнозы нашей модели?

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Соотношения здесь не сильно различаются и не дают полезной информации для вывода закономерностей или выводов.

Раса субъекта

Как раса субъекта влияет на наши прогнозы?

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Подобно расе офицера, раса субъекта, по-видимому, не является влиятельным фактором, определяющим исход ареста или обыска, но, возможно, существует некоторая незначительная корреляция в областях. Однако обратите внимание на изменение соотношения между наиболее вероятными случаями обыска и наименее вероятными случаями обыска. Наименее вероятные случаи обыска очень сильно смещены в сторону черных. Почему полицейские реже обыскивают чернокожих, чем представители любой другой расы? Невозможно сказать об этом с помощью имеющихся у нас данных, но нейронная сеть уже предупредила нас об этой тенденции — мы могли бы копать дальше с помощью других средств и данных, если бы у нас были эти ресурсы в нашем распоряжении.

Смеси наиболее вероятной и наименее вероятной арестов очень похожи. Означает ли это, что наша нейронная сеть сломана? Нет, это указывает на отсутствие сильной корреляции между этим показателем и возможным арестом или обыском.

День недели

Как день недели влияет на предсказания?

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Помимо того, что вторник наименее вероятен для ареста, здесь, похоже, нет никаких заметных тенденций.

Время суток

Мы разделили время суток на четыре отдельные группы: с полуночи до 6 утра, с 6 утра до полудня, с полудня до 6 вечера и с 6 вечера до полуночи. Мы абсолютно могли бы разделить его на 24 часа или даже на минуты, но это было бы неэффективно и, скорее всего, не привело бы к каким-либо проницательным выводам. Нашей нейронной сети потребовалось бы гораздо больше времени для обучения, поэтому я пошел на компромисс, разделив время суток на четыре группы. Ниже приведены результаты:

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Результаты указывают на то, чего вы можете ожидать: как аресты, так и обыски чаще происходят в поздние часы ночи или рано утром.

Участок

Наконец, как участок повлиял на прогнозы нашей нейронной сети? Есть пять уникальных участков, в которых произошли остановки Терри из набора данных: Север, Восток, Юг, Запад и Юго-Запад.

Скорее всего, для ареста:

Скорее всего, для обыска:

Наименьшая вероятность ареста:

Наименее вероятно для обыска:

Наиболее четким показателем здесь являются данные об арестах: обратите внимание, что 64 % записей в 100 наиболее частых случаях, которые, по прогнозам нашей сети, наиболее вероятны ареста происходят в Западном округе. Еще раз подчеркнем это: в 100 лучших записях, в которых наша нейронная сеть была уверена, что арест не произойдет, Север оказался относительно безопасным районом: 84% записей были на Севере, в то время как там 0 записей, которые произошли на Западе!

Это дает нам превосходное представление о том, какие участки в Сиэтле могут быть безопасными, а какие — более опасными. Из прогнозов, сделанных нейронной сетью, мы можем сделать вывод, что север и юго-запад являются относительно безопасными частями города по сравнению с западом и, возможно, югом.

Но гарантируется ли это предположение? Точно нет! Возможно, данные искажены — возможно, в полицейском управлении Сиэтла больше офицеров, патрулирующих определенные районы, такие как Запад, и поэтому там больше арестов. Однако этот контраргумент может оказаться ложным, поскольку север является одним из районов, где могут происходить обыски, что указывает на то, что там действительно есть присутствие полиции.

Сводка

Как упоминалось ранее, наша нейронная сеть правильно предсказала арест с точностью 66% и правильно предсказала обыск с точностью 75%. Хотя эти цифры не близки к идеальным, они лучше, чем подбрасывание монеты, и указывают на то, что наша модель смогла обнаружить и извлечь уроки из корреляций между входными данными и вероятностью ареста или обыска.

Чем это полезно для нас? Оглядываясь назад, можно сказать, что эта модель обучения может помочь полиции или государственным чиновникам выявлять аномалии и тенденции в данных. Затем эти идеи можно использовать для помощи в планировании распределения ресурсов. Например, если модель нейронной сети обнаружила тенденцию к тому, что аресты с большой вероятностью будут происходить в определенной части города, в определенный день недели и в определенное время суток, чиновники могли бы выделить больше полицейских ресурсов для этого района. для упреждающего предотвращения преступной деятельности до ее совершения. Подобные многоуровневые тенденции часто чрезвычайно трудно обнаружить при тщательном анализе человека; благодаря нейронным сетям мы теперь можем раскрыть эти тенденции.

Нейронной сети, которую я создал для работы с этим набором данных, потребовалось примерно 38 часов для обучения на 10 180 примерах, или ~13,5 секунд на итерацию. Причиной такого длительного времени обучения является алгоритм последовательного обратного распространения с интенсивными вычислениями, который корректирует внутренние веса модели для лучшей аппроксимации каждого вывода. К счастью, прямое распространение (запрос модели сделать прогноз) значительно быстрее. Даже более глубокие модели, чем та, которую мы использовали здесь, могут делать прогнозы менее чем за десятую долю секунды, даже на маломощном недорогом оборудовании, таком как Raspberry Pi Zero за 5 долларов.

После того, как нейронная сеть создана и обучена, по крайней мере, на умеренно мощном оборудовании, модель может быть развернута на маломощном оборудовании, чтобы ее мощность прогнозирования можно было использовать «на периферии» (на передовой) — в руках сотрудников полиции через устройства IoT. Возможно, в будущем полицейские будут носить множество небольших IoT-сенсоров, которые в режиме реального времени собирают гораздо больше данных, чем было указано в этом наборе данных: диалоги разговоров, изображения выражений лица, близость к объектам и многое другое. Эти датчики могут оценивать настроение разговора, применяя анализ настроений (который, вероятно, также поддерживается другой нейронной сетью) и передавая свою оценку уровней напряжения в разговоре в качестве входных данных для нашей модели. Технологии компьютерного зрения, такие как Azure Face Cognitive Service от Microsoft, могут анализировать живые изображения и делать прогнозы уровней стресса как у офицеров, так и у испытуемых и передавать их в качестве входных данных для нашей модели. Вы даже можете оборудовать офицеров мониторами сердечного ритма или устройствами для контроля кортизола, чтобы обнаруживать стресс или дискомфорт и использовать их в качестве входных данных.

Все эти входные данные могут быть переданы в небольшое дискретное устройство IoT, которое носит каждый офицер. Это устройство будет использовать последнюю версию обученной нейронной сети, чтобы постоянно прогнозировать вероятность ареста или обыска по мере развития ситуации. Подключенное IoT-устройство может автоматически подать сигнал о поддержке другого офицера в этом районе, если вероятность ареста превысит заданный порог. Офицерам больше не нужно будет самим обращаться за помощью по радио, что потенциально может еще больше обострить ситуацию, вызывая реакцию «бей или беги» у субъекта, а также подвергая себя опасности потенциальной негативной реакции за это.

Доступность высококачественных данных будет расти по мере того, как датчики Интернета вещей будут становиться все более распространенными в каждом направлении бизнеса во всех секторах экономики. К счастью, организации, желающие участвовать в этой революции искусственного интеллекта, основанной на данных, могут сделать это с помощью технологии, которая доступна по доступной цене. Это приведет к огромным улучшениям моделей обучения за счет введения высококоррелированных данных, которые повышают точность прогнозирования модели. Я призываю любого руководителя организации, заинтересованного в цифровой трансформации своего бизнеса, сделать инвестиции — сегодняшние затраты могут оказаться незначительными по сравнению с прибылью или экономией в будущем.