Как стать автором
Обновить
90
0
Сергей Шашков @ShashkovS

Менеджер продукта, методист, разработчик

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

Когда интуиция нас подводит: о том, как одну олимпиадную задачу по физике десятилетиями решали неправильно

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

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

Такую задачу иногда можно встретить на олимпиадах по физике или в соцсетях. Общепринятый ответ интуитивно понятен: из-за затрат энергии на тепловое расширение при наличии силы тяжести шарик, лежащий на горизонтальной поверхности, окажется холоднее висящего на нити. В недавней статье было показано, что этот ответ неправильный. На самом деле, результат будет обратным: лежащий шарик окажется теплее висящего. Разберемся, почему традиционный метод решения этой задачи приводит к неправильному ответу, и почему интуиция в этом случае нас подводит.
Читать дальше →
Всего голосов 110: ↑105 и ↓5+100
Комментарии232

Собираем проект на python3&PyQT5 под Windows, используя PyInstaller

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

Причиной написания статьи, явилось огромное количество постоянно возникающих у новичков вопросов такого содержания: "Как собрать проект c pyqt5", "Почему не работает", "Какой инструмент выбрать" и т.д. Сегодня научимся собирать проекты без мучений и танцев с бубном.


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

Анализ тарифов на виртуальные серверы

Время на прочтение4 мин
Количество просмотров10K
Предлагаю обзор хостеров по версии Поиск VPS. Количество компаний в каталоге на момент написания обзора — 198, количество тарифов на виртуальные серверы — 1798. Практически все хостеры — русскоязычные.


Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии5

Анализ временных рядов с помощью python

Время на прочтение8 мин
Количество просмотров190K
Добрый день, уважаемые читатели.
В сегодняшней статье, я попытаюсь описать процесс анализа временных рядов с помощью python и модуля statsmodels. Данный модуль предоставляет широкий набор средств и методов для проведения статистического анализа и эконометрики. Я попытаюсь показать основные этапы анализа таких рядов, в заключении мы построим модель ARIMA.
Для примера взяты реальные данные по товарообороту одного из складских комплексов Подмосковья.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии15

Построение модели SARIMA с помощью Python+R

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

Введение


Добрый день, уважаемые читатели.
После написания предыдущего поста про анализ временных рядов на Python, я решил исправить замечания, которые были указаны в комментариях, но при их исправлении я столкнулся с рядом проблем, например при построении сезонной модели ARIMA, т.к. подобной функции а пакете statsmodels я не нашел. В итоге я решил использовать для этого функции из R, а поиски привели меня к библиотеке rpy2 которая позволяетиспользовать функции из библиотек упомянутого языка.
У многих может возникнуть вопрос «зачем это нужно?», ведь проще просто взять R и выполнить всю работу в нем. Я полность согласен с этим утверждением, но как мне кажется, если данные требуют предварительной обработки, то ее проще произвести на Python, а возможности R использовать при необходимости именно для анализа.
Кроме этого, будет показано как интегрировать результаты выдачи работы функции R в IPython Notebook.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Открытый курс машинного обучения. Тема 1. Первичный анализ данных с Pandas

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.1M


Открытый курс машинного обучения mlcourse.ai сообщества OpenDataScience – это сбалансированный по теории и практике курс, дающий как знания, так и навыки (необходимые, но не достаточные) машинного обучения уровня Junior Data Scientist. Нечасто встретите и подробное описание математики, стоящей за используемыми алгоритмами, и соревнования Kaggle Inclass, и примеры бизнес-применения машинного обучения в одном курсе. С 2017 по 2019 годы Юрий Кашницкий yorko и большая команда ODS проводили живые запуски курса дважды в год – с домашними заданиями, соревнованиями и общим рейтингом учаcтников (имена героев запечатлены тут). Сейчас курс в режиме самостоятельного прохождения.

Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии61

Нейронные сети для начинающих. Часть 2

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


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии37

Базовые принципы машинного обучения на примере линейной регрессии

Время на прочтение20 мин
Количество просмотров184K
Здравствуйте, коллеги! Это блог открытой русскоговорящей дата саентологической ложи. Нас уже легион, точнее 2500+ человек в слаке. За полтора года мы нагенерили 800к+ сообщений (ради этого слак выделил нам корпоративный аккаунт). Наши люди есть везде и, может, даже в вашей организации. Если вы интересуетесь машинным обучением, но по каким-то причинам не знаете про Open Data Science, то возможно вы в курсе мероприятий, которые организовывает сообщество. Самым масштабным из них является DataFest, который проходил недавно в офисе Mail.Ru Group, за два дня его посетило 1700 человек. Мы растем, наши ложи открываются в городах России, а также в Нью-Йорке, Дубае и даже во Львове, да, мы не воюем, а иногда даже и употребляем горячительные напитки вместе. И да, мы некоммерческая организация, наша цель — просвещение. Мы делаем все ради искусства. (пс: на фотографии вы можете наблюдать заседание ложи в одном из тайных храмов в Москве).

Мне выпала честь сделать первый пост, и я, пожалуй, отклонюсь от своей привычной нейросетевой тематики и сделаю пост о базовых понятиях машинного обучения на примере одной из самых простых и самых полезных моделей — линейной регрессии. Я буду использовать язык питон для демонстрации экспериментов и отрисовки графиков, все это вы с легкостью сможете повторить на своем компьютере. Поехали.
Читать дальше →
Всего голосов 89: ↑82 и ↓7+75
Комментарии22

Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция

Время на прочтение6 мин
Количество просмотров153K
Каким образом повысить количество российских инженеров, которые были бы знакомы и с разработкой хардвера, и с разработкой софтвера, и могли бы строить системы, в которых часть функциональности находится в специализированном железе, а часть — в программном обеспечении, с соблюдением баланса между ними?

Для этого вовсе не обязательно выбрасывать несуразные деньги а-ля сделка Сколкова и MIT.

Есть масса дешевых и эффективных мер по апгрейду российской образовательной системы. Одна из них — широко ввести практические классы ПЛИС / ППВМ / FPGA среди старших школьников и студентов. Это то, на чем учатся и инженеры, которые потом разрабатывают микросхемы внутри Apple iPhone в Купертино, Калифорния.
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Комментарии91

Browser Fingerprint – анонимная идентификация браузеров

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


Валентин Васильев (Machinio.com)


Что же такое Browser Fingerprint? Или идентификация браузеров. Очень простая формулировка — это присвоение идентификатора браузеру. Формулировка простая, но идея очень сложная и интересная. Для чего она используется? Для чего мы хотим присвоить браузеру идентификатор?


  • Мы хотим учитывать наших пользователей. Мы хотим знать, пришел ли пользователь к нам первый раз, пришел он во второй раз или в третий. Если пользователь пришел во второй раз, мы хотим знать, на какие страницы он заходил, что он до этого делал. С анонимными пользователями это невозможно. Если у вас есть система учета записей, пользователь логинится, мы все про него знаем — мы знаем его учетную запись, его персональные данные, мы можем привязать любые действия к этому пользователю. Здесь все просто. В случае с анонимными пользователями все становится гораздо сложнее.
Всего голосов 75: ↑54 и ↓21+33
Комментарии167

Фильтр Калмана

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


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →
Всего голосов 178: ↑173 и ↓5+168
Комментарии84

Поездка в Европу на машине: Что делать со страховкой

Время на прочтение3 мин
Количество просмотров22K
Совсем недавно я попробовал написать на тему общей ситуации с тем, как оценивают ущерб автомобиля после ДТП. Высокая активность в комментариях сподвигла меня к разбору еще одной темы, которая (как мне кажется) может показаться весьма интересной тем, кто любит путешествовать на своем автомобиле. В первую очередь потому что самостоятельный туризм (без помощи турагентств и туроператоров) стал доступнее с развитием интернета, мобильных гаджетов и разнообразия сервисов — от навигаторов до бронирования отелей.

В таком путешествии есть свои очевидные плюсы и минусы, например, поездка на машине в Европу предполагает кропотливое изучение системы правил и штрафов в каждой стране, которую турист собирается посетить. С другой стороны, такой вид туризма даёт полную свободу перемещений, и маршрут можно поменять в любой момент.

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

Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии32

Умный дом: операция микроклимат или путь к комфорту шаг за шагом

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

Первое правило умного дома: он не должен отнимать время.
Второе правило умного дома: все должны знать о твоем умном доме.



Умный дом перестает быть абстрактным, когда заходишь в магазин, излагаешь свои хотелки и тебе дают большой пакет с кучей коробочек. Приходя домой и достав десяток устройств поначалу приходишь в ужас. Но потратив один-два вечера, начинаешь понимать, что умный дом — это не так уж и сложно, а многие задачи легко решаются в несколько кликов мышкой.
Я уже писал, как умный дом не дал коту замерзнуть и как умный дом увеличивает комфорт нахождения в комнате. В этот раз я расскажу, как умный дом позволил мне сэкономить 30% средств на отоплении, наполнил дом свежим воздухом и не дал замерзнуть водопроводу этой зимой. Итак, достаем из пакета коробочки и идем учить дом уму разуму!



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

Нейросеть в 11 строчек на Python

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

О чём статья


Лично я лучше всего обучаюсь при помощи небольшого работающего кода, с которым могу поиграться. В этом пособии мы научимся алгоритму обратного распространения ошибок на примере небольшой нейронной сети, реализованной на Python.

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии17

Энтропия и деревья принятия решений

Время на прочтение8 мин
Количество просмотров120K
Деревья принятия решений являются удобным инструментом в тех случаях, когда требуется не просто классифицировать данные, но ещё и объяснить почему тот или иной объект отнесён к какому-либо классу.

Давайте сначала, для полноты картины, рассмотрим природу энтропии и некоторые её свойства. Затем, на простом примере, увидим каким образом использование энтропии помогает при создании классификаторов. После чего, в общих чертах сформулируем алгоритм построения дерева принятия решений и его особенности.
Читать дальше →
Всего голосов 86: ↑83 и ↓3+80
Комментарии14

Kaggle: Allstate Claims Severity

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

Хотелось бы описать решение к недавнему соревнованию по машинному обучению Allstate Claims Severity. (Мой результат 40 из 3055). Так как это это соревнование типа «ансамблевое рубилово», как правило, обсуждение решений вызывает нездоровые священные войны между теми, кто пробовал участвовать и теми кто нет, так что для начала я сделаю небольшое лирическое отступление.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии18

Поиск линии корешка на фотографиях книжных разворотов

Время на прочтение5 мин
Количество просмотров18K
При съемке книжного разворота с помощью камеры мобильного устройства неизбежно возникают некоторые из нижеперечисленных дефектов (а возможно, что и все сразу):

• цифровой шум,
• тени и блики,
• расфокусировка и смаз,
• перекос,
• перспективные искажения,
• кривые строки,
• лишние объекты в кадре.

Обработка таких фотографий для последующего OCR – довольно трудоемкая задача даже для человека, хорошо владеющего навыками работы в Photoshop. Как быть, если мы хотим это сделать автоматически, с помощью программы? Сразу оговоримся, что подробное описание всех этапов алгоритма сделало бы публикацию чересчур объемной, поэтому мы сейчас расскажем только о том, как решать одну из подзадач – найти линию корешка на таких фотографиях. О том, как устранять тени и блики на фотографиях мы уже рассказывали. Про устранение цифрового шума написано много статей. А про автоматическое исправление перспективы и кривых строк мы расскажем в следующий раз.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии20

Устранение перспективных искажений и разгибание кривых строк на фотографиях книжных разворотов

Время на прочтение6 мин
Количество просмотров19K
В прошлый раз в статье «Поиск линии корешка на фотографиях книжных разворотов» мы обещали рассказать о том, что случается с фотографией книжного разворота после этого, а именно — про устранение перспективных искажений и разгибание кривых строк текста. Без этого получить качественные результаты OCR практически невозможно.

Итак, считаем, что мы уже нашли на фотографии линию корешка, воспользуемся этим знанием, чтобы определить ваниш-точки для страниц разворота (vanishing point). Ваниш-точки – это точки схождения параллельных прямых в перспективной проекции книги на плоскость изображения. Они обе должны располагаться на продолжении этой линии, но для каждой из страниц положение точки может быть свое. Схематически это показано на следующей иллюстрации (на самом деле, это лог для отладки). Линия корешка выделена красным, линии, пересекающиеся в ваниш-точках, – зеленым.


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

Квантовое хеширование. Лекция в Яндексе

Время на прочтение20 мин
Количество просмотров20K
Фарид Мансурович Аблаев — заведующий кафедрой теоретической кибернетики Казанского федерального университета. Приехав в московский офис Яндекса, Фарид Мансурович рассказал об алгоритмах, потенциально пригодных для запуска на квантовых компьютерах. Таких устройств пока очень мало, и они толком не освоены даже самыми передовыми компаниями. Но когда они начнут дешеветь, у специалистов уже будут наработки, позволяющие приступить к их использованию.


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

Всего голосов 59: ↑59 и ↓0+59
Комментарии11

Обзор курсов по Deep Learning

Время на прочтение11 мин
Количество просмотров70K
Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

image
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии29

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Product Manager
Lead
Python
Project management
Algorithms and data structures
asyncio