Надо отметить, что я не имею никакого опыта в решении такого плана задач. Все представление, которое я имел, строилось из обзорных статей, бегло читаемых по диагонали, и по лабораторной работе в институте. В рамках той лабы на дельфи была запилена и обучена нейронная сеть, для определения букв алфавита из ч/б картинок размера 64х64.
Мне давно нетерпелось погрузиться в бигдату, а тут и случай подвернулся. Начал я искать точку входа в эту технологию. Быстро наглулил статеек, туторов и всяческих примеров, которые пытались разжевать базовые вещи и продемонстрировать, какие-то инструменты для работы со всем этим делом. Пришлось погрузиться в питон.
Не сильно расстроившись, все ж питон не R. И с серьезными намерениями и молодецким задором выкачал триал JetBrains PyCharm. Поковыряв несколько примеров, примерно, понял, что к чему решаюсь, наконец взяться за билайн.
Предвкушая, как буду накладывать свою социальную картину мира на предоставленные данные, пытаясь понять кому и сколько лет начал скачивать задание. Скачав данные, почуствовал себя сильно обманутым. Вместо обещанных тарифов и прочих ништяков я увидел набор безсвязных колонок 1-61 и значений в таблице в виде хешей и каких-то сумасшедших чисел. Привет суровая киберпанкщина.
Разработав решение для такой постановки задачи становится совершенно не ясно, а что же реально оно будет делать? Рекомендовать кружевные трусики японским тян или выносить массово судебные приговоры в Китае. Отбросив рефлексию и остановившись на том, что это безобидный конкурс я начал ковырять данные. Первое, что я сделал рандомно раскидал 3 самые популярные группы и залил результат, который составил 27.03%, ок с этого и начнем.
Быстро оказалось, что задача выходит далеко за рамки любого тутора и решается не так уж просто. При этом pycharm фейлил и не давал обещанных интели автокомплитов из-за этого на каждом шаге приходилось лезть в доки питонвских либ, оформленных в стиле начала 00, что тоже не доставляло радости. Еще паршивее выглядели графики, которые рисовал pylab.
Но последней каплей стало осознание того, сколько я трачу времени на кодинг, какой-то ерунды, хотя мне всего лишь нужен один график! И в этот момент боли и дискомфорта от всех этих инструментов, отказываясь верить, что все так плохо я, почему-то, вспомнил про вкладку machine learning у azure, хотя ни разу ее и не открывал.
Открываю ML и мне сразу тутор предлагают — соглашаюсь. Им оказывается не видос или тултипы с черными масками, а натурально в энвайронменте создают пример, заодно рассказывая и показывая, что зачем и как. Все предельно просто, есть куча модулей разбитых на типы: источники, трансформеры данных, алгоритмы, обучение, оценка и т.д. Пришлось, конечно почитать, что за модули имеются, для чего они и какие параметры за что отвечают, заодно в теории подразобрался. Но, как же тут все по-человечески сделано. После изучения доков потребовалось 5 минут, что б все состряпать и получить первый реальный результат.
Выбрав самый точный алгоритм решил воспользоваться модулем подбора параметров. Капитанский модуль после перебора всех вариантов отрапортовал, что чем больше — тем лучше. Не долго думая увеличил базовые параметры в 100 раз и оставил все это дело обучаться. Самое неудобное в этом процессе это отсутствие какого-либо прогресс бара или хоть каких-то эстимейтов и по факту остается только гадать, когда закончится процесс. Несколько раз были мысли остановить, но я дотерпел до окончания и заняло это 13 часов.
В результате я получил:
Это всего на 0.9% меньше, чем топ25, с учетом того, что в топ25 разброс в 0.6% и к низу он увеличивается, то в топ40, думаю я попал. Считаю это отличным результатом для человека, который еще вчера ничего в этой области не знал.
К слову о материальной стороне обошлось все это баловство в ML студии мне за 24.38 Hours в РУБ1,219.04.
Комментарии (12)
evnuh
19.10.2015 13:59+26«Чёт лень стало кодить, давайте вы за меня там на ферме сами обучитесь по стандартным алгоритмам, сами посчитаете по стандартным алгоритмам и пришлёте мне обычный результат, а я вам за это заплачу РУБ1,219.04, и никому не будет никакого толку.»
BelBES
20.10.2015 12:22+2Почему нет толку? По моему статья наглядно показала, что такой челендж — это профанация. Спрятав реальные данные за безликими параметрами билайновцы сами толкают участников с пути погружения в данные, на путь code monkey и бездумного фитттинга абстрактных моделей) Ну и то, что такой подход дал результаты сравнимые с топ50, очень наглядно это подтверждает)
mephistopheies
20.10.2015 20:49естественно нет, тема авто обуения не новая, вот например свежак arxiv.org/pdf/1507.02188v1.pdf — автор этой статьи ничего не делая в кэгле занимает постоянно топ10, и что? ни разу еще не выиграл
судя по всему азуре мл пока еще даже не умеет подбирать какие модели для каких данных лучше, у Абхишека уже это есть
но без понимания природы моделей выше топ10 не пройти, благо Абхишек не дурак и иногда сам делает решения, и попадает в топ3 например, но ИИ пока не изобрели и Абхишеку придется еще долго самому тюнить свои решения
13alex
19.10.2015 17:32+9Шёл второй год как Билайн пытался получить хоть какие-то вменяемые алгоритмы, теперь уже пытаясь подоить хабрасообщество.
Все эти алгоритмы машинного обучения уже есть, их активно используют (тот же Azure), а эта акция не больше чем пиар и попытка нахаляву найти хоть сколько-нибудь толкового дата-майнера. Денег жалко на решения сторонние, а пилить внутри дирекции намного проще :)
gandjustas
20.10.2015 12:36+6Примерно такой же результат получил в связке SSAS DataMining + Excel Addin, на локальной машине за 20 минут (бесплатно, без СМС). Тоже думал сначала сделать статью, но не попав в 25 решил не позориться.
gaploid
20.10.2015 16:10+1
То же делал на Azure ML. Только я заплатил 0.0 руб. Там же есть бесплатная подписка.
Agb
Тема «кококо» не раскрыта.
nail84
Я так понял, ее аккуратно затрагивает последний тэг.
Imp5
Тему «кококо» раскрывает весь этот пост.