Рубрика «машинное обучение» - 255

Меня зовут Юрий Леонычев. Я работаю в службе информационной безопасности Яндекса, где разрабатываю интересные сервисы, комбинирующие методы машинного обучения с анализом BigData. Как вы знаете, у Яндекса большое количество мобильных приложений. И если безопасностью наших веб-приложений мы занимаемся уже давно, то мобильным часто уделялось недостаточно внимания. Частично это было связано с тем, что мобильные приложения считались продолжением своих «больших» братьев, надстройками над WEB API.

Как мы проверяем безопасность мобильных приложений, и почему это непросто. Безопасность в Яндексе

Но с появлением мобильных платформ iOS и Android ситуация кардинально изменилась. Количество разрабатываемых нами приложений росло, сложность их возрастала, а некоторые из приложений стали отдельными крупными самостоятельными проектами. Кроме того, мы звпустили Яндекс.Store, где нам надо было проверять безопасность уже сторонних приложений.

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

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

Эксперимент в Яндексе. Как идентифицировать взломщика с помощью машинного обучения

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

Это перевод моей публикации на английском языке.

Интернет полон статьями, заметками, блогами и успешными историями применения машинного обучения (machine learning, ML) для решения практических задач. Кто-то использует его для пользы и просто поднять настроение, как эта картинка:

image

Правда, человеку, не являющемуся экспертом в этих областях, подчас не так просто подобраться к существующему инструментарию. Есть, безусловно, хорошие и относительно быстрые пути к практическому машинному обучению, например, Python-библиотека scikit. Кстати, этот проект содержит код, написанный в команде SkyNet (автору довелось быть её лидирующим участником) и иллюстрирующий простоту взаимодействия с библиотекой. Если вы Java разработчик, есть пара хороших инструментов: Weka и Apache Mahout. Обе библиотеки универсальны с точки зрения применимости к конкретной задаче: от рекомендательных систем до классификации текстов. Существует инструментарий и более заточенный под текстовое машинное обучение: Mallet и набор библиотек Stanford. Есть и менее известные библиотеки, как Java-ML.

В этом посте мы сфокусируемся на библиотеке Weka и сделаем проект-заготовку или проект-шаблон для текстового машинного обучения на конкретном примере: задача распознавания тональности или сентимента (sentiment analysis, sentiment detection). Несмотря на всё это, проект полностью рабочий и даже под commercial-friendly лицензией, т.е. при большом желании вы можете даже применить код в своих проектах.Читать полностью »

Несмотря на огромную популярность аппарата графических моделей для решения задачи структурной классификации, задача настройки их параметров по обучающей выборке долгое время оставалась открытой. В своем докладе Дмитрий Ветров, рассказал об обобщении метода опорных векторов и некоторых особенностях его применения для настройки параметров графических моделей. Дмитрий – руководитель группы Байесовских методов, доцент ВМК МГУ и преподаватель в ШАДе.

Видеозапись доклада.

План доклада:

  • Байесовские методы в машинном обучении.
  • Задачи с взаимозависимыми скрытыми переменными.
  • Вероятностные графические модели
  • Метод опорных векторов и его обобщение для настройки параметров графических моделей.

Сама концепция машинного обучения довольно несложная – это, если говорить образно, поиск взаимосвязей в данных. Данные представляются в классической постановке набором объектов, взятых из одной и той же генеральной совокупности, у каждого объекта есть наблюдаемые переменные, есть скрытые переменные. Наблюдаемые переменные (дальше будем их обозначать X) часто называются признаками, соответственно, скрытые переменные (T) — это те, которые подлежат определению. Для того, чтобы эту взаимосвязь между наблюдаемыми и скрытыми переменными установить, предполагается, что у нас есть обучающая выборка, т.е. набор объектов, для которых известны и наблюдаемые и скрытые компоненты. Глядя на нее, мы пытаемся настроить некоторые решающие правила, которые нам позволят в дальнейшем, когда мы видим набор признаков, оценить скрытые компоненты. Процедура обучения приблизительно выглядит следующим образом: фиксируется множество допустимых решающих правил, которые как правило задаются с помощью весов (W), а дальше каким-то образом в ходе обучения эти веса настраиваются. Тут же с неизбежностью возникает проблема переобучения, если у нас слишком богатое семейство допустимых решающих правил, то в процессе обучения мы легко можем выйти на случай, когда для обучающей выборки мы прекрасно прогнозируем ее скрытую компоненту, а вот для новых объектов прогноз оказывается плохой. Исследователями в области машинного обучения было потрачено немало лет и усилий для того, чтобы эту проблему снять с повестки дня. В настоящее время, кажется, что худо-бедно это удалось.
Читать полностью »

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

Решение задач с помощью алгоритмов машинного обучения давно и прочно вошло в нашу жизнь. Это произошло по всем понятным и объективным причинам: дешевле, проще, быстрее, чем явно кодить алгоритм решения каждой отдельной задачи. До нас, обычно, доходят «черные ящики» классификаторов (вряд ли тот же ВК предложит вам свой корпус размеченных имен), что не позволяет ими управлять в полной мере.
Здесь я бы хотел рассказать о том, как попробовать добиться «лучших» результатов работы бинарного классификатора, о том какие характеристики бинарный классификатор имеет, как их измерять, и как определить, что результат работы стал «лучше».
Читать полностью »

Отличаем автобус от автомобиля по GPS трекам
Фото Artem Svetlov
Для построения правдоподобной пробочной картины проект Карты Mail.Ru обрабатывает большое количество информации по GPS-трекам участников движения. Часто о самом источнике треков мало что известно, в том числе из соображений безопасности. Но для определения истинной ситуации на дорогах мне всегда хотелось знать больше. Хотя бы для того, чтобы понимать насколько скорость машины источника соответствует скорости остального потока. В данной статье речь пойдёт о методе выделения маршрутных транспортных средств (автобусов, троллейбусов, маршруток и трамваев) из необработанного потока данных GPS.
Читать полностью »

image

«В 1997 году Deep Blue обыграл в шахматы Каспарова.
В 2011 Watson обставил чемпионов Jeopardy.
Сможет ли ваш алгоритм в 2013 году отличить Бобика от Пушистика?»

Эта картинка и предисловие — из челленджа на Kaggle, который проходил осенью прошлого года. Забегая вперед, на последний вопрос вполне можно ответить «да» — десятка лидеров справилась с заданием на 98.8%, что на удивление впечатляет.

И все-таки — откуда вообще берется такая постановка вопроса? Почему задачи на классификацию, которые легко решает четырехлетний ребенок, долгое время были (и до сих пор остаются) не по зубам программам? Почему распознавать предметы окружающего мира сложнее, чем играть в шахматы? Что такое deep learning и почему в публикациях о нем с пугающим постоянством фигурируют котики? Давайте поговорим об этом.

Читать полностью »

Модель BПривет! Спешим рассказать про наш проект CamIRa — это онлайн тепловизор на поворотной платформе. Однажды мы совместители обычную камеру и ИК матрицу для снятия термограмм, так получился наш проект. Такое совмещение дает интересные возможности. Про тепловизоры уже были посты на Хабре, например: про технологию Тыц или тепловизор для смартфона ИТыц или даже как самому собрать тепловизор за $100 ЕщеТыц. Тепловизор из последнего поста вызвал бурную реакцию в интернете, много где публиковался и обсуждался. В основном всех интересовал вопрос увеличения разрешения сенсора. Но обо всём по порядку.

Читать полностью »

Алгоритм Улучшенной Самоорганизующейся Растущей Нейронной Сети (ESOINN)

Введение

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

В этой статье будет рассмотрен алгоритм An Enhanced Self-Organizing Incremental Neural Network, являющийся расширением базовой модели SOINN и частично решающий озвученные проблемы.
Читать полностью »

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js