Как стать автором
Поиск
Написать публикацию
Обновить
23.57

Data Mining *

Глубинный анализ данных

Сначала показывать
Порог рейтинга
Уровень сложности

Талмуд по формулам в Google SpreadSheet

Время на прочтение13 мин
Количество просмотров420K
Обычно мы пишем про хостинги, в частности про зарубежный shared хостинг в США. Но чтобы писать, нужно иметь аналитические данные под рукой. Вот как раз тут требуется помощь Google Docs, если файл получится предположительно меньше 400 000 строк.

За несколько месяцев работы с таблицами Google пришлось много раз анализировать посредством формул разного рода данные. Как и ожидалось — то, что можно было решить в MS Excel, можно реализовать и в Google таблицах. Но многочисленные попытки решить проблемы с помощью любимого поисковика приводили только к новым вопросам и почти к нулевым ответам.
Посему, было решено облегчить жизни другим и прославить себя.

Кратко о главном


Для того чтоб Excel, либо spreadsheet (таблица Google) поняли что написанное — это формула, необходимо поставить знак "=" в строку формул (Рисунок 1).

ok
Рисунок 1
Далее, начинаем писать формулу с клавиатуры либо выделяем мышкой те ячейки, с которыми мы собираемся работать.
Читать дальше →

Локальная скорость обучения весов нейронов в алгоритме обратного распространения ошибки

Время на прочтение3 мин
Количество просмотров15K
Привет, в одной из последних лекций по нейронным сетям на курсере речь шла о том, как можно улучшить сходимость алгоритма обратного распространения ошибки в общем, и в частности рассмотрели модель, когда каждый вес нейрона имеет свою собственную скорость обучения (neuron local gain). Я давно хотел реализовать какой нибудь алгоритм, который бы автоматически настраивал бы скорость обучения сети, но все лень руки не доходили, а тут вдруг такой простой и незамысловатый способ. В этой небольшой статье я расскажу про эту модель и приведу несколько примеров того, когда эта модель может быть полезна.

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

Нейронная сеть с SoftMax слоем на c#

Время на прочтение5 мин
Количество просмотров66K
Привет, в прошлой статье я рассказал про алгоритм обратного распространения ошибки и привел реализацию, не зависящую от функции ошибки и от функции активации нейрона. Было показано несколько простых примеров подмены этих самых параметров: минимизация квадрата Евклидова расстояния и логарифмического правдоподобия для сигмоидной функции и гиперболического тангенса. Данный пост будет логическим продолжение прошлого, в котором я рассмотрю немного нестандартный пример, а именно функцию активации Softmax для минимизации перекрестной энтропии. Эта модель актуальна при задаче классификации, когда необходимо получить на выходе нейросети вероятности принадлежности входного образа одному из не пересекающихся классов. Очевидно, что суммарный выход сети по всем нейронам выходного слоя должен равняться единице (так же как и для выходных образов обучающей выборки). Однако не достаточно просто нормализировать выходы, а нужно заставить сеть моделировать вероятностное распределение, и обучать ее именно этому. Кстати, сейчас на coursera.org идёт курс по нейросетям, именно он помог углубиться в понимание софтмакса, иначе я продолжал бы использовать сторонние реализации.

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

Алгоритм обратного распространения ошибки с регуляризацией на c#

Время на прочтение14 мин
Количество просмотров85K
Привет. Я хочу продолжить тему реализации методов машинного обучения на c#, и в этой статье я расскажу про алгоритм обратного распространения ошибки для обучения нейронной сети прямого распространения, а также приведу его реализацию на языке C#. Особенность данной реализации в том, что реализация алгоритма абстрагирована от реализаций целевой функции (той, которую нейросеть пытается минимизировать) и функции активации нейронов. В итоге получится некий конструктор, с помощью которого можно поиграться с различными параметрами сети и алгоритма обучения, посмотреть и сравнить результат. Предполагается, что вы уже знакомы с тем, что такое искусственная нейросеть (если нет, то настоятельно рекомендую для начала изучить википедию или одну из подобных статей). Интересно? Лезем под кат.

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

Разгоняем медиану в OLAP

Время на прочтение3 мин
Количество просмотров8.8K
Этот пост для тех, кто сталкивался с проблемой производительности, при расчете медианы в OLAP кубе.
Одним из главных достоинств OLAP технологии является скорость получения результатов при обращении к базе. Расчеты происходят «на лету». Однако с медианой, не все так просто.
Для справки: медиана — вид средней. Это величина, которая находиться в середине ряда значений отсортированного по возрастанию. Например, для ряда значений {1, 2, 5, 6, 9} медианой является 5.

Рассмотрим ситуацию на примере OLAP сервера от Microsoft — SSAS 2008 (SQL Server Analysis Services).
Читать дальше →

Как устроен краткосрочный прогноз на Яндекс.Пробках

Время на прочтение8 мин
Количество просмотров78K
Информация о пробках появилась на Яндексе в 2006 году. Начинали мы с необходимого — научились строить схему загруженности городских улиц и учитывать текущую ситуацию при прокладывании маршрутов. Автомобилисты, ориентируясь перед выездом на эту информацию, уже могли сэкономить время в пути:
image

Затем, чтобы помогать водителям непосредственно во время движения, мы добавили в мобильные Яндекс.Карты (и, как следствие, в Яндекс.Навигатор) автоматическое перестроение маршрута. Приложения научились адаптировать маршрут при каждом заметном изменении ситуации в городе.

Собрав на десктопе и в мобильном информацию про «сейчас», мы перешли к решению вопроса «а как будет потом?»:
image

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

image

Неделю назад на Яндекс.Картах появилась возможность посмотреть изменения пробок в ближайший час — следующий наш шаг в решении вопроса про будущее. Для тех, кто в этом году не смог приехать на Yet another Conference, мы сегодня расскажем, что у нашего прогноза внутри, и как оно там оказалось.
Переходим к подробностям!

Интерактивная HTML5-визуализация по мотивам «Lost»

Время на прочтение2 мин
Количество просмотров20K


Поклонник одного из лучших телепроектов последних десяти лет "«Остаться в живых» («Затерянные», «Lost») программист Сантьяго Ортиз (Santiago Ortiz) создал прекрасный пример интерактивной визуализации взаимоотношений между главными и второстепенными героями шоу при помощи HTML5.

Сериал создавался силами более 30 сценаристов, которые должны были прорабатывать характеры и взаимоотношения персонажей, создавая при этом реалистичную атмосферу с точки зрения перемещения героев во времени, следить за непротиворечивостью событий, и при этом давать намёки на всевозможные загадки (например, почему Кейт видела в джунглях тёмную лошадь); при этом wiki-проект по мотивам шоу содержит более 7000 статей.
Узнать подробности

Стоит ли платить за Apache Hadoop?

Время на прочтение9 мин
Количество просмотров31K


В 2010 году Apache Hadoop, MapReduce и ассоциированные с ними технологии привели к распространению нового явления в сфере информационных технологий, названного «большими данными» или «Big Data». Понимание того, что из себя представляет платформа Apache Hadoop, зачем она нужна и для чего её можно использовать потихоньку проникает в умы специалистов по всему миру. Зарожденный, как идея одного человека, и быстро выросший до промышленных масштабов, Apache Hadoop стал одной из самых широко обсуждаемых платформ для распределенных вычислений, а также платформой для хранения неструктурированной или слабо структурированной информации. В этой статье я хотел бы подробнее остановиться на самой платформе Apache Hadoop и рассмотреть коммерческие реализации, предоставляемые сторонними компаниями, и их отличия от свободно распространяемой версии Apache Hadoop.
Читать дальше →

Коллаборативная фильтрация

Время на прочтение6 мин
Количество просмотров73K
В современном мире часто приходится сталкиваться с проблемой рекомендации товаров или услуг пользователям какой-либо информационной системы. В старые времена для формирования рекомендаций обходились сводкой наиболее популярных продуктов: это можно наблюдать и сейчас, открыв тот же Google Play. Но со временем такие рекомендации стали вытесняться таргетированными (целевыми) предложениями: пользователям рекомендуются не просто популярные продукты, а те продукты, которые наверняка понравятся именно им. Не так давно компания Netflix проводила конкурс с призовым фондом в 1 миллион долларов, задачей которого стояло улучшение алгоритма рекомендации фильмов (подробнее). Как же работают подобные алгоритмы?

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


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

Обработка естественного языка. Полезные инструменты

Время на прочтение3 мин
Количество просмотров8.7K
Последнее время на Хабре зачастили статьи про обработку естественного языка.
И так уж совпало, что последнее время я работаю в этой области.
Был очень хорошо освещен sentiment analysis, и теггер частей речи pymorphy.
Но мне хотелось бы рассказать, какие средства для NLP использовал я, и что я нашел нового, чего здесь еще не было
Читать дальше →

Классификатор kNN

Время на прочтение6 мин
Количество просмотров150K
kNN расшифровывается как k Nearest Neighbor или k Ближайших Соседей — это один из самых простых алгоритмов классификации, также иногда используемый в задачах регрессии. Благодаря своей простоте, он является хорошим примером, с которого можно начать знакомство с областью Machine Learning. В данной статье рассмотрен пример написания кода такого классификатора на python, а также визуализация полученных результатов.
Читать дальше →

Предсказание ухода лояльных игроков в ММО

Время на прочтение6 мин
Количество просмотров17K
В прошлой статье я описал, как мы в Иннове используем data mining для предсказания ухода новичков, только начинающих свой путь в ММОРПГ Aion, на основе логов их действий за пару часов или дней, проведенных в игре. Но у нас также есть и ветераны, посвятившие игре месяцы и годы, и они тоже иногда уходят. Мы уже научились с высокой точностью предсказывать угасание их интереса теми же методами data mining.
Заглянуть в будущее

Yet another classifier

Время на прочтение8 мин
Количество просмотров12K

Вместо вступления


Лень — двигатель прогресса. Не хочешь сам молоть зерно — сделай мельницу, не хочешь сам кидать во врагов камни — сооруди катапульту, надоело гореть на кострах инквизиции и гнуть спину под феодалом — замути с ребятами ренессанс… впрочем, о чем это я.
Автоматизация, господа. Берешь какой-нибудь полезный процесс, в котором участвует человек, заменяешь человека на сложный механизм, получаешь профит. Относительно недавно также стало модно заменять человека куском кода. О, сколько благородных профессий может пасть под натиском информатизации. Особенно если учесть, что кусок кода в наше время способен не только на заранее определенное поведение, но и на «обучение» какому-то поведению.
Читать дальше →

Ближайшие события

Алгоритм предсказывает преступления, отслеживая мобильные телефоны

Время на прочтение2 мин
Количество просмотров5.6K
Уже много лет учёные экспериментируют с алгоритмами, способными предсказывать преступность. Предполагается, что преступники склонны повторять успешные действия — по крайней мере, они не используют ГСЧ для выбора места и времени преступлений, так что их действия предсказуемы по определению.

Например, год назад калифорнийский город Санта-Крус первым в мире внедрил математическую модель расчёта вероятности преступлений, которая каждый день составляет новый маршрут для патрульных машин, основываясь на статистике преступлений по улицам. Учитываются день недели, время суток, наличие/отсутствие футбольных матчей по ТВ и другие факторы.

Исследователь из Бирмингемского университета Мирко Мусолези (Mirco Musolesi) применил совершенно другой подход. Его метод основан не на статистике, а на оперативных данных из сетей сотовой связи. Мусолези начал с того, что научил алгоритм с высокой степенью вероятности прогнозировать перемещения каждого абонента: он даже выиграл конкурс Nokia Mobile Data, наиболее точно предсказав перемещения 25-ти добровольцев по сигналам их телефонов, истории звонков и текстовым сообщениям. Иногда алгоритм прогнозирует координаты пользователя с точностью до 20 м2.
Читать дальше →

Как я покупал квартиру

Время на прочтение11 мин
Количество просмотров62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →

Маленькие секреты больших графов

Время на прочтение2 мин
Количество просмотров9.2K

Если вам интересно, какие знания можно извлечь из большого массива данных, насколько большими бывают графы и какие задачи по анализу социальных графов предлагают Facebook, Twitter и др., то эта статья именно для вас.
Читать дальше →

Кластеризация k-means с расстоянием Евклида и Махаланобиса

Время на прочтение3 мин
Количество просмотров15K
В предыдущей статье я рассказывал, как можно реализовать алгоритм k-means на c# с обобщенной метрикой. В комментах можно почитать обсуждение того, насколько целесообразно использовать разные метрики, о математической природе использования разных метрик и тому прочее. Мне тогда хотелось привести красивый пример, но не было под рукой подходящих данных. И вот сегодня я столкнулся с задачей, которая хорошо иллюстрирует преимущества использования расстояния Махаланобиса в k-means кластеризации. Подробности под катом.

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

Прогнозирование событий и Data Mining — вперед в будущее

Время на прочтение3 мин
Количество просмотров24K


В Сети появился интересный сервис мониторинга информации по открытым источникам — Recorded Future.

Он позволяет аккумулировать информацию из более чем 150 000 различных СМИ с возможностью хранения архива до 5 лет с возможностью последующего анализа и извлечения знаний о возможных последствиях произошедшего и будущих событиях.

Автором сервиса является Chris Holden, любезно предложивший нам воспользоваться Recorded Future без внесения оплаты, хотя полный функционал доступен только на коммерческой основе.

Например, сейчас сервис осуществляет непрерывный мониторинг более 8 000 политических лидеров различных государств мира, позволяя отслеживать куда и зачем поедет какой-либо известный деятель. Порой, хорошая аналитика этих событий позволяет установить взаимосвязи в международных отношениях и спрогнозировать наиболее вероятные модели их развития путем анализа истории путешествий выбранного деятеля.

Наиболее интересные кейсы, демонстрирующие возможности системы, отражены на следующих прикладных примерах:

отслеживание возникающих киберугроз и действий хакеров в мире
анализ содержимого писем из круга приближенных Усамы Бин-Ладена
анализ протестной активности
анализ выборов в Греции и Египте
Читать дальше →

Торговля знает, когда вы ждете ребенка

Время на прочтение5 мин
Количество просмотров73K
Однажды в магазин Target зашел мужчина и потребовал вызвать менеджера. В своих руках он сжимал огромную кипу купонов магазина, полученных его дочерью.

«Моя дочь получила это по почте! – прокричал он. – Она еще в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы? Да как вы смеете! Вы хотите таким способом побудить школьниц рожать?»

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

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

Как Target узнал, что дочь беременна до того, как об этом стало известно ее отцу? Ответ прост – благодаря системе прогнозирования беременности (pregnancy prediction system), разработанной аналитиком компании Эндрю Полом. Под катом – обо всем по порядку.
Читать дальше →