воскресенье, 13 апреля 2014 г.

Очень хорошая утилита

первая понравившаяся мне картинка по запросу "очень хорошая" в гугле

 Так вот. Очень хорошая утилита import.io - автоматически скрапает данные с сайтов.
Можно грабить напрямую, можно грабить в таблички, можно заставлять эту приблуду пользоваться полем поиска по сайту.
Причем процесс настройки напомнил мне настройку нового куба в MS Analysis Services, т.е. с пол-пинка настраивается и поднимается ВСЁ.
Можно делать краулер, который будет собирать информацию с разных страниц по шаблону.
Можно сделать экстрактор, который будет структурировано вынимать неструктурированную информацию.
Можно сделать коннектор - такой экстрактор, который умеет взаимодействовать с полями сайта.
А еще можно смешивать всё это вместе!
В качестве форматов данных - html, json, csv, xls(щоб всем хватило).

Как оно монетизируется:
Скачиваешь апп. Апп представляет собой спец-браузер, который используется для настройки экстракторов и выбора опциональных плюшек.
После настройки экстрактор загружается обратно на сайт import.io, чтобы на серверной стороне сделать свое дело. Там же хранятся все датасеты, которые насобирает утилита.
А монетизация вот в чем - хочешь, чтобы экстракторы делали больше миллиона запросов в сутки - плати 150 баксов в месяц.

ps: вообще-то вы должны были залипнуть на картинке!

вторник, 18 марта 2014 г.

Флойд-Штейнберг



Пришлось немного повозиться с dithering-фильтрами.
Для "быстрой"(хуяк-хуяк-продакшн) выбрали достаточно простой фильтр Флойда-Штайнберга.
Фильтр позволяет обработать изображение в один проход, единственное неудобство - приходится собирать до 2 строчек пикселей для работы.
Кратенько перескажу википедию.
1. Берем grayscale-изображение.
2. Берем пиксель и смотрим, белым он будет, или черным. Всё, что больше 128 - белое, всё что меньше - черное. Дополнительно нужно сохранить ошибку этого пикселя - насколько его значение отличалось от белого или черного, т.е. e = (oldpix - newpix).
3. Теперь распределяем ошибку по соседним пикселям таким образом:







Пиксель справа получает изменение в 7/16 пикселя, пиксели на следующей линии - по 3/16, 5/16, 1/16.

И результат:



ЗЫ: Плохо подходит для документов, т.к. ошибка от серой линии может размазаться по всей странице.

воскресенье, 16 февраля 2014 г.

Себе на память. Ресурсы про обработку данных.

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

Итак, с чего можно начать.

1. Начать можно с теории.

Очень неплохо будет знать статистику:
http://onlinestatbook.com/Online_Statistics_Education.pdf
http://wiki.stat.ucla.edu/socr/index.php/EBook

После этого - машинное обучение.
Для первичного ознакомления неплохо подойдет вот этот китаец https://class.coursera.org/ml
Это чуть хардпорнее: https://class.coursera.org/neuralnets-2012-001

Вообще, вот вам курсера:
Статистика: https://www.coursera.org/course/stats1
Тут всего понемножку: https://class.coursera.org/datasci-001
И тут всего по немножку: https://class.coursera.org/scientificcomp-005
Бодрый курс прям по рекомендательным системам, на который у меня, честно говоря, просто не хватило времени: https://www.coursera.org/course/recsys

Еще есть лекции Яндекса: http://shad.yandex.ru/lectures/machine_learning.xml

У меня лично двойственное отношение к курсере - имхо она слишком поверхностная. Но в рамках ознакомления - очень даже ничего. По мере изучения будут возникать вопросы.
Вопросы!
Ответы можно будет поискать в академических учебниках, а если хочется совсем свежака, то и на arxiv.org.
Еще много всего спонсируется американской военщиной, полный список проектов, связанных с обработкой данных, можно посмотреть тут:http://www.darpa.mil/opencatalog/

2. Инструменты:

  1. Сам себе до сих пор не верю, но Excel.
  2. Gephi - штука, которая умеет делать с графами почти всё. Крутить, вертеть, разглядывать, приближать, отдалять, кластеризовать, считать связность.
  3. RapidMiner - умеет вообще всё, это студия для тех, кому лень программировать. Внезапно открылось, что новая версия стала триальной - теперь за эту кирку хотят денег. Впрочем, из минусов - довольно сильно тупит на больших объемах(нуачовыхотели).
  4. Какая-нибудь СУБД. Довольно долго у меня был Sql Server, впрочем, для небольших операций сгодится даже MySql или вообще sqlite. Дело вкуса и привычки. Очень удобным будет MongoDB - она позволяет отвязаться от реляционной модели данных.
  5. R - язык, заточенный под обработку данных. Сдобрен всевозможными плюшками для кручения-верчения данными - загрузка/сохранение через одну команду, экзерсисы с матрицами и много всякого. Для него даже есть IDE.
  6. Python - что на нем только не сделаешь. Универсальнее, чем R, Octave, Matlab, так что для загрузки csv таки придется написать больше одной строчки.
Никак не затрагиваю OLAP - он всё-таки применяется в Enterprise Business Intelligence(до булшит-бинго еще 2 слова!), что как-то было в стороне от моих изысканий.

3. Куда дальше?

А вот сюда, например. Тут же можно поучиться, помочь человечеству(если не ты, то кот!), а если повезет, то еще и подзаработать.
Тут же моё любимое задание-введение по Титанику, с подробным разбором, к которому на хабре даже сделали перевод.

Если вдруг Kaggle станет не хватать, набрать датасетов можно вот тут: http://www.kdnuggets.com/datasets/index.html
Датасеты самые разнообразные, от биологии до глубокого космоса.

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

среда, 29 января 2014 г.

А тем временем

Виртуально железный болван уже сучит ножками.

Я на IROS 2013

В начале октября появилась возможность посетить одну из крупнейших научных конференций по робототехнике - IROS. IROS - одна из конференций сообщества IEEE c 25-летней историей. Конференция регулярно меняет место проведения - в прошлом году Португалия, в этом - Япония, в следующем - США Ухватившись за возможность, мы(а нас, на секундочку, четверо) довольно быстро расправились с формальностями и первого ноября ожидали посадки в самолет Москва-Токио.

Нашу таможню я прошел примерно так:

Свой рассказ разделю на 2 части - про конференцию и про, собственно, Токио.

IROS 2013

 Сама конференция проходила в здании выставочного комплекса Tokyo Big Sight и собрала примерно 2000 ученых и инженеров со всего мира. По собственным ощущениям было довольно много представителей Германии, Франции, Италии, довольно много народа из университетов США и конечно же, азиатов.
Вон та перевернутая пирамида на дальнем плане, до неё идти еще 5 минут.
Сама конференция включает вообще всё, что есть нового в мире робототехники - от вопросов планирования передвижения до вопросов качества программного обеспечения для роботов.
Помимо умных докладов с удовольствием послушал основателя Boston Dynamics с рассказом о провалах в разработке роботов Big Dog и Petman. Довольно большая часть конференции была посвящена медицинской робототехнике, в которой я совсем ничего не понимаю, очень большое внимание уделялось летающим роботам. Пересказывать содержимое докладов, наверное, не имеет смысла, приведу лишь несколько примеров:
1. описание алгоритма, по которому квадракоптер с лазерным дальномером, раскачиваясь, строит для себя трехмерное описание комнаты, в которой находится.
2. алгоритм разбора контейнера с перевернутыми коробками - перед роботом-разгрузчиком ставится задача разгрузить содержимое грузового контейнера и избежать при этом падений сваленных в кучу коробок.
3. вариант стандартизации описания любых движений для робототехники, причем, похоже, это предложение будет реализовано и станет мировым стандартом.

Удалось пообщаться с коллегами из Германии(казалось бы, где еще можно встретить столько немцев), Италии, Южной Кореи, Японии.
В целом же, присутствует ощущение того, что с роботами в скором времени произойдет то, что произошло в 90-ых с компьютерами и в 2000-ых с мобильными телефонами - технологии, которые появляются сейчас в робототехнике внезапно окажутся повсюду, круто меняя экономику и жизнь вообще.

Параллельно с конференцией в том же комплексе проходила выставка робототехники. Про неё много писать не буду, выложу немножко фоток. Помимо гигантов индустрии вроде Kawasaki, Kuka и ABB, было представлено много компаний вполне себе среднего размера.


Бодро размахивали молотками.


Подводные!


А у нас круче :)

Это тоже роботы. Неизвестно, умеет ли гейша обращаться с яри.

Общие впечатления о Японии

Постараюсь попасть туда еще раз, на подольше.

Очень маленький номер в отеле. Кровать занимает половину номера. Но на кровати я помещаюсь :)


Японцы запивают еду холодной водой(стакан слева сверху). Еще - ОЧЕНЬ вкусное пиво.

Красивые японские люки.

Толпа в метро в утренний час-пик. Это не самая большая толпа, это даже еще не давка.
Автомат, продающий билеты на электричку.

Это не осьминоги дерутся, это схема станций электричек JR. Помимо JR есть еще несколько компаний со своим метро и монорельс.


Девушка приглашает в непростокафе. Ну, оно там совмещено с борделем.

Район, в котором мы жили.
Улица рядом со станцией - сплошные питейные заведения.
Да, все эти велосипеды не пристегнуты.



Тут с собаками строго.

Автомат с мороженым!




А это уже Гинза - район с наимоднейшими магазинами:


Заведение, где мясо надо дожаривать самому
Одайба, искуственно созданный остров.





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

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

Космический пульт управления. 3 способа опрыскивания, регулировки напора и температуры.


Станция Акихабара.


Человек с надписью "Борщ".