Как научить машину предсказывать желания человека

big_1503864Возможности машинного обучения позволяют прогнозировать появление искусственного интеллекта уже через несколько лет.

Машинное обучение – это область математики, которая занимается поиском скрытых закономерностей в тех данных, которыми оперирует компьютер. Под «данными» в традиционной математике понимается некая совокупность объектов. На практике в качестве объектов могут выступать, например, пользователи социальной сети, изображения, клиенты банков, страны, РНК, результаты экспериментов с Большого адронного коллайдера и так далее. Единственное требование, предъявляемое математикой к объекту, заключается в том, что он должен быть описан некоторой совокупностью переменных, которые, собственно, его характеризуют. Все оригинальные тексты песен только для Вас и только сейчас.

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

На поиск этой взаимосвязи и направлены современные алгоритмы машинного обучения.

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

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

Классический пример – это банковский кредитный скоринг.

Предположим, вы – банкир, и у вас есть клиенты, которые очень хотят получить кредит. Кто-то собирается открыть свое дело, а кому-то кредит нужен, чтобы купить ящик водки и выпить ее. Возникает вопрос: кому кредит выдавать можно, а кому лучше не выдавать, потому что он его не вернет. Здесь в качестве наблюдаемых переменных у нас выступают характеристики клиентов. Например, те данные, которые они указывают в анкетах: пол, возраст, образование, уровень доходов, состав семьи и так далее. В качестве скрытой компоненты в простейшем случае выступает бинарная величина – вернет клиент кредит или не вернет. Если он его вернет, то имеет смысл ему этот кредит выдать.

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

Предположим, у нас было 400 клиентов, из которых, 350 вернули кредит. Это пример объектов, у которых скрытая компонента имеет значение +1; а 50 клиентов, которые, как оказалось, кредит не вернули – это примеры объектов со скрытой компонентой, которая приняла значение -1. В принципе, этого достаточно для того, чтобы ставить задачу машинного обучения и пытаться автоматически находить закономерности между наблюдаемыми и скрытыми компонентами в надежде, что они помогут нам определить, каким новым клиентам стоит выдавать кредит, а каким – нет.

В настоящее время дополнительный импульс развитию методов машинного обучения придал интернет и появившиеся новые технологии. Например, поисковые системы, социальные сети, блогосфера, биоинформатика. Задачи, возникающие в этих предметных областях, часто требуют применения современных методов машинного обучения. Именно поэтому в настоящее время в мире наблюдается растущий спрос на специалистов машинного обучения: они нужны в биологических лабораториях, компаниях -ритейлерах, в инвестиционных банках, а также в интернет-компаниях, в том числе таких, как Facebook, Google, Yandex.

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

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