Nickolas's blog

By Nickolas, 12 years ago, In Russian

Codesprint закончился, можно обсудить задачи. Лично я полностью решила четыре штуки:

  • Picking Cards - произведение ((количество карт номиналом < i) - i + 1) по i от 1 до N.
  • Coin Tosses - рекурсия по количеству орлов, которые осталось выбросить с текущего момента; за один шаг рекурсии рассматриваю один бросок монеты, и получаю либо орла (переход к "осталось выбросить на одного орла меньше"), либо решку (переход к известному матожиданию числа бросков, нужных для того, чтобы выбросить N орлов подряд - 2N+1-2). Немного начудила - считала не в целых, а в Decimal (Python), так что преобразование в строку получилось страшноватое, но прошло.
  • Fraud Prevention - много-много парсинга и строковых манипуляций, в итоге я хранила все полученные строки в map тройной вложенности, с ключами deal id, email id, card info и последним значением - множеством order_id, соответствующих данному набору ключей. Обманными считались те пары deal id + email id, у которых было больше одной записи card info. Так получилось удобнее, чем сверять с предыдущими записями на ходу.
  • Quora Classifier - задача, которая меня порадовала больше всего: она оказалась в точности тем, чему учил профессор Ng! Первый шаг - нормализация данных (интервалы значений не заданы, так что просто на максимум). Второй - логистическая регрессия + лекция Large Scale Machine Learning, т.е. параметры подстраиваются под один (случайно выбранный) образец, а не под все сразу. 100 000 итераций для качественного обучения хватило с запасом, прошло с первого сабмита.
Остальные баллы набрались на частичных решениях, но это неинтересно, интересно, как эти задачи сдать полностью. Кто-нибудь поделится?
  • Vote: I like it
  • +28
  • Vote: I do not like it