Search
Write a publication
Pull to refresh
-4
0

Пользователь

Send message

На какие вопросы можно ответить, проанализировав 1 500 000 уникальных историй болезней?

Reading time11 min
Views49K
Существует ли связь между астмой и шизофренией?
Диабет и биполярное расстройство личности — могут ли они иметь что-то общее?
Сможет ли выявить столь нетривиальные связи анализ базы данных по 1500000 пациентов США?

предупреждение: под катом очень много текста
Читать дальше →

Рекомендательные системы: You can (not) advise

Reading time9 min
Views44K

Более полугода назад в поисках что посмотреть, я листал топ произведений. Это занятие повторялось уже много раз и успело надоесть — постоянно приходилось пропускать то, что я смотреть не хочу. Имхонетами раньше не пользовался, да и не доверял им из-за специфики искомых произведений. На сайте, где я производил поиски, была возможность создать свой список просмотренных произведений и выставить оценку, также были доступны оценки других пользователей. Тут мне в голову пришла гениальная идея, как оказалось позднее банальная, — используя оценки других пользователей делать рекомендации. Данная деятельность называется коллаборативной фильтрацией, а программа её реализующая — Рекомендательной системой(РС). Оглядываясь назад я понимаю, что совершил множество ошибок из-за недостатка информации и её труднодоступности в данной тематике, а что самое главное — сильно переоценил РС. В данном посте я сделаю обзор основных типов и алгоритмов РС, а также постараюсь передать часть своих знаний и опыта.
Читать дальше →

Как начать писать тесты за 10 шагов по 10 минут

Reading time7 min
Views79K
Дайте-ка угадаю: вы согласны с тем, что писать тесты — это хорошо. Это повышает надежность системы, ускоряет разработку, проект с хорошим тестовым покрытием поддерживать легко и приятно, а TDD — это вообще почти идеал процесса разработки. Но не у вас в проекте. То есть, оно клёво, но, к сожалению, сейчас столько работы — просто завал. Куча задач, одних только критических багов — два десятка, плюс надо срочно дописать этот модуль и еще написать письмо заказчику… Так что тесты, наверное, будем прикручивать уже в конце, если время останется. Или в следующем проекте. Нет, ну там точно полегче будет. Скорее всего.

Как, узнали ситуацию?

Так вот — чушь всё это. Сфера ИТ — бесконечна, как вселенная, куча работы будет всегда. Можно или начать писать тесты прямо сейчас, или не сделать этого никогда. Я тут набросал короткий план, как начать это делать за 10 шагов, по шагу в день, по 10 минут на шаг. И когда я говорю «10 минут» я имею в виду не «3 с половиной часа» и не «ну сколько-то времени, лучше побольше», а именно 600 секунд. Если у вас нету в день 600 секунд свободного времени — срочно меняйте проект, работу, профессию, страну проживания (нужное подчеркнуть), потому что это не жизнь, а каторга какая-то. Поехали.
Читать дальше →

Mathlingvo — блог о компьютерной лингвистике

Reading time2 min
Views5.4K
Natural Language Processing — область, которая становится все популярнее и популярнее в Росссии. Но отдельных ресурсов, посвященных этой теме, в рунете практически нет. Полгода назад на Хабре представляли NLPub, каталог ресурсов по компьютерной лингвистике. Но что делать, если хочешь читать новости? Можно попробовать начать с блога mathlingvo.ru

image

Читать дальше →

ЦРУ — большие задачи и большие данные. На пути к созданию глобального информационного колпака

Reading time20 min
Views75K

Айра Гас Хант (Ira Gus Hunt), действующий Директор по технологиям ЦРУ, рассказывает о своем видении Big Data на службе ЦРУ, а также возникающие при этом задачи и методы их решения. Выступление состоялось на конференции GigaOM Structure:Data 2013, проходившей 20 марта в Нью-Йорке. Как говорят очевидцы это было одно из самых интересных и запоминающихся выступлений.
Видение глобального информационного пространства глазами ЦРУ

Конкурс Apps4Russia 2013 — открытые данные на которых можно заработать деньги

Reading time3 min
Views5.1K
Друзья, мы наконец-то анонсировали конкурс для разработчиков Apps4Russia который мы проводим вот уже 3-й год и в этом году мы пришли к тому чтобы он был куда больше, лучше ещё полезнее для граждан и для разработчиков и для всех кто интересуется открытыми данными. Поскольку я не хочу говорить языком пресс-релизов — расскажу про конкурс как есть.

Что такое Apps4Russia?


Конкурс пропагандирует стандарты работы с open data, способствует созданию и становлению общественных, управленческих и бизнес проектов. Конкурс Apps4Russia проводится ежегодно с 2011 года и уже стал платформой для обмена ценными идеями и содержательного общения между талантливыми российскими разработчиками, ведущими экспертами в области WEB-разработок и инвесторами.

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

Номинации конкурса:


  • Удобный город — инициативы и проекты, направленные на улучшение условий жизни людей в городе, повышение комфорта и пригодности среды для обитания,
  • Безопасная страна — проекты, направленные на благо общества, и использующие разносторонний подход в решении вопросов обеспечения безопасности граждан и защиты их прав и свобод,
  • Государство в кармане — инициативы и проекты, нацеленные на разработку мобильных приложений, для облегчения доступа граждан к важной и полезной информации о деятельности государства в привычном формате.

Читать дальше →

В чём заключается работа системного аналитика (видео)

Reading time1 min
Views36K
В ноябре 2012 в МГТУ им. Баумана мы, Школа системного анализа,
провели открытое событие «Введение в профессию системного аналитика».

Наконец стала доступна первая часть видео, выступление
Сергея Нужненко на тему «В чём заключается работа системного аналитика»:

1. Мифы о задачах и ответственности. Смежные роли (5 минут): vimeo.com/61652862

2. Риски и неопределённость. Место и задачи в проектном цикле (18 минут): vimeo.com/61968936

3. Окружение, предмет и модель работы. Типовые процессы (10 минут): vimeo.com/62449309

4. Аналитический цикл работы с информацией. Модальная логика (12 минут): vimeo.com/64330992
Читать дальше →

Статистические тесты в R. Часть 3: Тесты количественных данных

Reading time3 min
Views24K
Это третья статья в серии о применении R для статистического анализа данных, в которой будут разбираться представление и тестирование количественных данных. Вы узнаете как быстро и наглядно представить данные, а также как использовать t-тест в R.

Часть 1: Бинарная классифиация
Часть 2: Анализ качественных данных

Поехали!
Читать дальше →

18-ступенчатый гауссган

Reading time2 min
Views370K
В дни моей бурной молодости, когда Fallout еще не был забыт народными массами, а в Сталкера играл каждый второй школьник, среди технически образованной молодежи было модно собирать (или хотя бы пытаться собирать) гауссганы, рейлганы и другие «вундервафли», виденные в компьютерных играх. На некоторых сайтах поддерживались мировые рейтинги любительских конструкций, и конечно же я хотел быть в них первым. С этой целью я замыслил собрать 18-ступенчатый гауссган.


Читать дальше →

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

Reading time8 min
Views88K
В этом блоге мы уже много о чём поговорили: были краткие описания основных рекомендательных алгоритмов (постановка задачи, user-based и item-based, SVD: 1, 2, 3, 4), о нескольких моделях для работы с контентом (наивный Байес, LDA, обзор методов анализа текстов), был цикл статей о холодном старте (постановка задачи, текстмайнинг, теги), была мини-серия о многоруких бандитах (часть 1, часть 2).

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


Читать дальше →

Непредсказуемый, но адекватный бот в играх

Reading time5 min
Views94K
Рассказ пойдет о 2D играх от третьего лица (вид сверху). В основном это шутеры, но и стратегия будет тоже затронута. Для простоты сравнения и понимания мы возьмем наших любимых «котяток». Да, да, именно коты нам хорошо в этом помогут.



Почему коты, узнаешь под катом.

Как быстро найти баги, мешающие релизу

Reading time2 min
Views16K
Достался мне в управление проект, который из-за не выстроенных процессов его контроля и мониторинга, находился в весьма плачевном состоянии. Я не буду перечислять полный список проблем и всех предпринятых для их решения шагов, так как хочу поделиться опытом именно быстрого нахождения багов, исправления которых скорее всего будет достаточно, чтобы зарелизить и сдать продукт клиенту.

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

Решение

Профессиональная видеоаналитика пришла в российский ритейл

Reading time7 min
Views19K

Первое серьезное внедрение


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

FightCode: танковые войны на JavaScript

Reading time5 min
Views68K
FightCode — это онлайн-игра для программистов, построенная по образу и подобию классической Robocode. Для программирования танков используется JavaScript, все сражения происходят прямо в браузере, а редактор кода на сайте имеет встроенную «песочницу», которая позволяет в реальном времени видеть эффект от изменений кода. В отличие от многих других подобных игр, создатели неплохо поработали над дизайном — игровое поле и весь сайт в целом выглядят привлекательно и ярко.



Всё это делает FightCode одним из лучших вариантов для новичков в подобных играх или для обучения программированию. Проект довольно молодой, и несмотря на то, что на сайте зарегистрировано почти 9000 игроков, пробиться в первую сотню рейтинга можно без особых усилий. Очень удобно организована система боёв со случайными соперниками — из всех доступных роботов автоматически выбираются те, чей рейтинг близок к вашему. Очки считаются по системе Эло — победа над более сильным противником даёт гораздо больше очков, чем над слабым.

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

Инструменты мониторинга в социальных сетях

Reading time7 min
Views56K
Сегодня можно без труда на пальцах одной руки насчитать две и даже семь сотен социальных сетей. Я думаю мне не нужно убеждать дорогого читателя в том, что это бездонный кладезь информации. Но вот как можно эту самую информацию заполучить, да ещё и в удобоваримом виде?

Для того, чтобы у нас с вами было не как на картинке, предлагаю вашему вниманию обзор наиболее интересных сервисов для монитроинга и взаимодействия с социальными сетями. Если коротко, то ситуация выглядит следующим образом:
Wildfire HootSuite TweetDeck AppData Klout
С чем интегрируется
Google+, Facebook, Linkedin, Pinterest, Twitter, Youtube
Google+, Facebook, Foursquare, Linkedin, Mixi, Myspace, Twitter, Wordpress, App Directory
Facebook, Twitter
Facebook
Facebook, Twitter
Цена
Pro / Enterprise — договорная
Free, Pro — $10/месяц, Enterprise — договорная
Free
Free, Pro — $595/месяц или $5995/год, Enterprise — договорная
Free
Аналитика
          
          
          
          
          
Сравнение брендов
          
          
          
          
          
Постинг по расписанию
          
          
          
          
          
Стриминг сообщений
          
          
          
          
          
Для любопытного же читателя я подготовил более развёрнутое описание всех этих сервисов под катом. Так же там можно найти идеи для сервиса, который мог бы принести радость всем людям на Земле.
Читать большой субъективный обзор с картинками

Рекомендательная система: достаем теги пользователей из соцсетей

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

Сначала немного статистики для того, чтобы показать важность настоящего исследования. Около 50% пользователей нашей системы регистрируются с привязкой аккаунтов социальных сетей vkontakte (VK) и facebook (FB). Причем из зарегистрированных через социальные сети 71% приходится на VK и 29% на FB.

API FB и API VK позволяют извлекать некоторые данные об интересах и предпочтениях пользователя. Но не все так просто, как может показаться. Для получения данных пользователя нужно получить особые права, согласие на которые дает сам пользователь при регистрации в системе. Здесь возникает тонкий момент. С одной стороны, мы ходим вытянуть как можно больше информации о пользователе. С другой стороны, просить слишком много прав — наглость, которая может отпугнуть пользователя. Нужно найти компромисс — тонкое равновесие между полезностью получаемых данных для улучшения рекомендаций и «суммой» кредита доверия от пользователя, который соглашается, чтобы мы залезли в его персональные данные.
Читать дальше →

Тонкости оператора switch

Reading time6 min
Views89K
Да, это целая статья по самому обычному switch в JDK 7. Бывает так, что накопленный материал кажется интересным и малоизвестным, а потом оказывается, что любая бабка у подъезда уже 50 лет знает об особенностях реализации switch. Но я попробую. Для затравки, предлагаю 3 вопроса:

  1. (Простой) Каков результат работы этого кода?
    switch(5){
    default: System.out.print(0);
    case 1: System.out.print(1); break;
    case 4: System.out.print(4);
    case 2: System.out.print(2);
    }

  2. Следующие 2 варианта практически одинаковы. Немного отличаются литералами.
    //Вариант 1
    switch("BBBBBB"){
    case "AaAaAa": break; 
    case "AaAaBB": break;
    case "AaBBAa": break;
    case "AaBBBB": break;
    case "BBAaAa": break;
    case "BBAaBB": break;
    case "BBBBAa": break;
    case "BBBBBB": break;
    }
    //Вариант 2
    switch("BBBBBB_8"){
    case "AaAaAa_1": break;
    case "AaAaBB_2": break;
    case "AaBBAa_3": break;
    case "AaBBBB_4": break;
    case "BBAaAa_5": break;
    case "BBAaBB_6": break;
    case "BBBBAa_7": break;
    case "BBBBBB_8": break;
    }
    Почему первый switch выполняется в несколько раз медленнее, по крайней мере, с отключенным JIT (-Djava.compiler=NONE)? Сами проверьте в цикле! JIT таким кодом не проведешь, но если немного пошаманить, то небольшая разница будет заметна.
  3. Какова вычислительная сложность алгоритма нахождения совпадающего значения среди n case-ов (по крайней мере, в JDK 7)?
Читать ответы и статью

Ранжирование в Яндексе: как поставить машинное обучение на поток (пост #1)

Reading time6 min
Views51K
Сегодня мы начинаем публиковать серию постов о машинном обучении и его месте в Яндексе, а также инструментах, которые избавили разработчиков поисковой системы от рутинных действий и помогли сфокусироваться на главном — изобретении новых подходов к улучшению поиска. Основное внимание мы уделим применению этих средств для улучшения формулы релевантности, и более широко — для качества ранжирования.

image
Читать дальше →

DARPA намерено совершить революцию в машинном обучении

Reading time2 min
Views36K
Практически каждая новость от DARPA, связанная с роботами и искусственным интеллектом, неизбежно сопровождается набившими оскомину комментариями про Скайнет. Но на этот раз они будут на удивление уместны. Новая исследовательская программа Агентства посвящена вероятностному программированию для решения продвинутых задач машинного обучения (Probabilistic Programming for Advanced Machine Learning или PPAML). По словам руководителя программы Кэтлин Фишер, DARPA намерено ни много ни мало «Сделать для машинного обучения то, что появление языков высокого уровня 50 лет назад сделало для программирования в целом».

Алгоритмы машинного обучения уже широко используются в потребительских технологиях — борьбе со спамом, распознавании речи, автомобилях-роботах и для анализа гигантских объёмов данных в медицине или финансах. Естественно, перспективы машинного обучения интересны и военным. При этом пока не существует общепринятых универсальных инструментов для создания интеллектуальных систем. Из-за этого приходится постоянно изобретать велосипеды, раз за разом реализовывать похожие как две капли воды алгоритмы, строить с нуля архитектуру.
Читать дальше →

Как работают браузеры: принципы работы современных веб-браузеров

Reading time2 min
Views190K
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

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

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity