Как стать автором
Обновить
20
0
Dmitry Kondratiev @dkondratiev

Lead Data Scientist

Отправить сообщение

Как украсть Macbook

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


У меня несколько раз воровали макбуки, и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат моих страданий в безрезультатных попытках вернуть украденные компьютеры.

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

Внимание!
Материалы в статье представлены исключительно в ознакомительных целях. Все описания мошеннических действий инсценированы и выполнены с согласия владельцев ноутбуков. Автор не призывает к мошенническим действиям, и единственная цель статьи — показать, как лучше настраивать систему, чтобы защитить свои данные.
Всего голосов 135: ↑133 и ↓2+184
Комментарии184

Белый шум рисует черный квадрат. Часть 2. Решение

Время на прочтение7 мин
Количество просмотров5.8K
В первой публикации рассказывалось о том, что есть подзабытая теорема Эрдёша-Реньи, из которой следует, что в случайном ряде, длины N, с вероятностью близкой к 1 существует подряд из одинаковых значений длиной $\log_2{N}$. Указанное свойство случайной величины можно использовать для ответа на вопрос: «После обработки больших данных, подчиняется ли остаточный ряд закону случайных чисел или нет?»

Ответ на такой вопрос определялся не на основании тестов соответствия нормальности распределения, а на основании свойств самого остаточного ряда.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии40

Подборка @pythonetc, июль 2019

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

Это двенадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки


Нельзя изменять переменные замыканий с помощью простого присваивания. Python расценивает присваивание как определение внутри тела функции и вообще не делает замыкание. 
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии9

Как мы внедрили ML в приложение с почти 50 миллионами пользователей. Опыт Сбера

Время на прочтение10 мин
Количество просмотров18K
Привет, Хабр! Меня зовут Николай, и я занимаюсь построением и внедрением моделей машинного обучения в Сбербанке. Сегодня расскажу о разработке рекомендательной системы для платежей и переводов в приложении на ваших смартфонах.


Дизайн главного экрана мобильного приложения с рекомендациями

У нас было 2 сотни тысяч возможных вариантов платежей, 55 миллионов клиентов, 5 различных банковских источников, полсолонки разработчиков и гора банковской активности, алгоритмов и всего такого, всех цветов, а ещё литр рандомных сидов, ящик гиперпараметров, пол-литра поправочных коэффициентов и две дюжины библиотек. Не то чтобы это всё было нужно в работе, но раз начал улучшать жизнь клиентов, то иди в своём увлечении до конца. Под катом история о сражении за UX, о правильной постановке задачи, о борьбе с размерностью данных, о вкладе в open-source и наших результатах.

Читать дальше →
Всего голосов 50: ↑38 и ↓12+26
Комментарии57

Введение в оптимизацию. Имитация отжига

Время на прочтение10 мин
Количество просмотров186K
В этой статье я постараюсь максимально доходчиво рассказать о таком простом, но эффективном методе оптимизации, как имитация отжига (simulated annealing). А чтобы не быть причисленным к далёким от практики любителям теоретизировать, я покажу как применить этот метод для решения задачи коммивояжёра.

Для понимания статьи Вам понадобятся минимальные навыки программирования и владение математикой на уровне 9 класса средней школы. Статья рассчитана на людей не знакомых с методами оптимизации или только делающих первые шаги в этом направлении.

image


Читать дальше →
Всего голосов 148: ↑138 и ↓10+128
Комментарии37

C вами Физтех.Science: устраняем когнитивные искажения и постигаем тайны разума

Время на прочтение1 мин
Количество просмотров4.9K
Привет, хабр! С вами Физтех.Science — видеоблог-погружение в этот странный, странный научный мир. И сегодня мы хотим немного покопаться в голове. Естественно, с научной точки зрения.

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

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

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

Приятного просмотра!


Вторая часть и полезные материалы
Всего голосов 19: ↑12 и ↓7+5
Комментарии4

Генерация подземелий и пещер для моей игры

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

На этой неделе я начал работать над новой темой: генерацией подземелий и пещер. Я использовал разбиение пространства для генерации комнат, алгоритмы генерации лабиринтов для генерации коридоров и клеточные автоматы для придания пещерам более естествненного внешнего вида.

Разбиение пространства


Существует множество способов генерации комнат для подземелья (случайное размещение, генерация на основе агентов, с использованием separation steering behavior или физического движка, и т.д.). Но мой любимый метод — это разбиение пространства, потому что оно легко контролируется и расширяется.

Способов разбиения пространства тоже очень много: разделение на сетки, двоичное разбиение пространства, разбиение пространства деревом квадрантов, диаграммы Вороного и т.д. Я решил использовать двоичное разбиение пространства, потому что оно хорошо подходит для генерации прямоугольных комнат. Этот метод получил популярность благодаря статье на RogueBasin.

Единственная сложность этого алгоритма — выбор позиции разделения. Если мы не наложим ограничение на позицию разделения, то будем получать странные разбиения пространства:


Такого поведения можно избежать несколькими способами. Один из них — ограничить позицию разделения двумя соотношениями длин сторон, например, в интервале от 30% до 70% или от 40% до 60%. Другой способ — использовать вместо равномерного распределения нормальное или биномиальное, благодаря этому повысится вероятность разделения по центру стороны, а не по краям. Эти способы устраняют проблему, но сложно понять, как конкретно параметры влияют на окончательный результат.
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии26

Подборка рабочих примеров обработки данных

Время на прочтение4 мин
Количество просмотров13K
Привет, читатель.

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

Схема работы с текущим постом унаследуется от моего поста про лучшие блокноты по ML и DS, а именно — сохранил в закладки → передал коллеге.

+ бонус в конце статьи — крутой курс от ФПМИ МФТИ.

image

Итак, давайте приступим.

Подборка датасетов с рабочими примерами обработки данных:


Suicide Rates Overview 1985 to 2016 — сравнение социально-экономической информации с показателями самоубийств по годам и странам.

Примеры обработки:

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Книга «Машинное обучение для бизнеса и маркетинга»

Время на прочтение9 мин
Количество просмотров6.4K
image Наука о данных становится неотъемлемой частью любой маркетинговой деятельности, и эта книга является живым портретом цифровых преобразований в маркетинге. Анализ данных и интеллектуальные алгоритмы позволяют автоматизировать трудоемкие маркетинговые задачи. Процесс принятия решений становится не только более совершенным, но и более быстрым, что имеет большое значение в постоянно ускоряющейся конкурентной среде.

«Эта книга — живой портрет цифровых преобразований в маркетинге. Она показывает, как наука о данных становится неотъемлемой частью любой маркетинговой деятельности. Подробно описывается, как подходы на основе анализа данных и интеллектуальных алгоритмов способствуют глубокой автоматизации традиционно трудоемких маркетинговых задач. Процесс принятия решений становится не только более совершенным, но и более быстрым, что важно в нашей постоянно ускоряющейся конкурентной среде. Эту книгу обязательно должны прочитать и специалисты по обработке данных, и специалисты по маркетингу, а лучше, если они будут читать ее вместе.» Андрей Себрант, директор по стратегическому маркетингу, Яндекс.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии1

Издевательски точный, быстрый и легковесный поиск баркодов через семантическую сегментацию

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

Поиск объектов на изображениях? Имея обучающую выборку и минимальный набор знаний о нейросетях, любой студент сегодня может получить решение определенной точности. Однако большинство нейросетей, использующихся для решения этой задачи, достаточно глубокие, а соответственно, требуют много данных для обучения, сравнительно медленно работают на этапе inference (особенно если на устройстве отсутствует GPU), много весят и достаточно энергозатратны. Все вышеперечисленное может быть весьма критично в определенных случаях, в первую очередь, для мобильных приложений.


Баркоды — объекты с достаточно простой структурой. В ходе исследований у нас получилось с помощью сравнительно оригинального подхода искать такие простые объекты весьма точно (мы побили state-of-the-art) и достаточно быстро (real-time на среднем CPU). Плюс наш детектор очень легкий, имеющий всего 30к весов. О результатах нашего исследования мы и расскажем в этой статье.

Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Комментарии10

Как балансируются настольные и разные другие игры – краткий обзор способов

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


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

Конечная цель любой балансировки игры – увеличение возврата игроков или времени партии. То есть играбельности механики:
  • Не должно быть однозначной ультимативной стратегии победы, иначе игра потеряет вариативность и интерес.
  • Игрок должен чувствовать, что от его действий и навыков зависит игра. Иначе получится Mass Effect, который, скорее, фильм, нежели RPG.
  • Баланс должен быть «амортизированным», то есть прощать некоторые ошибки – иначе запоздалый на миллисекунду клик в Starcraft по первому рабочему из-за «эффекта бича» вызывал бы проигрыш через 4 часа идеальной партии. Наша настольная формула – 5-7 важных решений за игру, в двух можно ошибиться.
  • У настолок есть ещё социальное условие: игроки не должны выпадать по ходу пьесы – интересно должно быть всем и до конца.

Теперь – методы.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии22

Предложения относительно уязвимостей и защиты моделей машинного обучения

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


В последнее время эксперты все чаще затрагивают вопрос безопасности моделей машинного обучения и предлагают различные способы защиты. Самое время детально изучить потенциальные уязвимости и средства защиты в контексте популярных традиционных систем моделирования, таких как линейные и древовидные модели, обучаемые на статических датасетах. Хотя автор статьи не эксперт по безопасности, он очень внимательно следит за такими темами, как отладка (debugging), объяснение (explanations), объективность (fairness), интерпретируемость (interpretability) и конфиденциальность (privacy) в машинном обучении.

В этой статье приведем несколько вероятных векторов атак на типичную систему машинного обучения в типичной организации, предложим ориентировочные решения для защиты и рассмотрим некоторые общие проблемы и наиболее перспективные практики.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии3

Современный формат презентаций

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

Поздравляю дизайнеров с их профессиональным днем! В честь праздника я решил рассказать о наборе правил (гайдлайнов), которые описывают, какими должны быть современные презентации с точки зрения контента и оформления.


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


Title


С 2015 года я пытаюсь найти для себя оптимальный формат презентаций (не считая дипломных проектов). И сейчас, в 2018-м, думаю, что это почти удалось. Начиналось все с Power Point, а закончилось веб-фреймворками на базе JavaScript.


Существует несколько JavaScript- движков, с помощью которых можно создавать классные презентации — Marp, Reveal, landslide, hacker-slides, slidify и другие. В каких-то можно использовать Markdown, какие-то встраиваются в IDE, а какие-то — можно создавать в собственных редакторах. Мне пока что удалось попробовать первые два.


В качестве демонстрации материала, доступны примеры слайдов и видео.

Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии35

Алан Кей: «Какие книги Вы бы посоветовали прочесть тому, кто учится на Computer Science»

Время на прочтение4 мин
Количество просмотров21K
Если вкратце, то я бы посоветовал читать много книг, не имеющих отношения к информатике.

image

Важно понимать, какое место занимает понятие «science» в «Computer Science», и что означает «engineering» в «Software Engineering».

Современное понятие «науки» можно сформулировать так: это попытка перевести явления в модели, которые можно более-менее легко объяснить и предсказать. На эту тему можно прочесть «Sciences of the Artificial» (одна из важных книг Герберта Саймона). На это можно смотреть с такой точки зрения: если люди (особенно разработчики) строят мосты, то учёные могут объяснять эти явления, создавая модели. Самое интересное в этом то, что наука почти постоянно будет находить новые, лучшие способы наведения мостов, так что дружеские отношения между учеными и разработчиками вполне могут улучшаться с каждым годом.

Примером подобного из сферы Computer Science является Джон Маккарти, размышляющий о компьютерах в конце 50-х годов, то есть о невероятно большом спектре того, что они могут сделать (может быть, ИИ?), и создание модели вычислений, которая является языком, и может служить в качестве собственного метаязыка (Lisp). Моя любимая книга на эту тему — «The Lisp 1.5 Manual» от MIT Press (автор Маккарти с соавторами). Первая часть этой книги по-прежнему остается классикой того, как нужно думать в целом и об информационных технологиях в частности.
Всего голосов 14: ↑14 и ↓0+14
Комментарии5

Как настроить инфраструктуру веб-аналитики за $100 в месяц

Время на прочтение6 мин
Количество просмотров8K
Рано или поздно почти любая компания сталкивается с проблемой развития веб-аналитики. Это не значит, что нужно только поставить код Google Analytics на сайт — нужно найти пользу в полученных данных. В этом посте я расскажу, как это сделать максимально эффективно, затратив незначительные (по меркам профильных сервисов) деньги.

image
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии6

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность