Как стать автором
Обновить
4
0

Пользователь

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

Механизмы образования антициклонов над континентами. А причём тут роса на траве по утрам?

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

В каких случаях мы видим росу на траве по утрам?

Каждый с детства из классической литературы знает про «туман над речкой после заката» и про «росу на траве по утру».

Для примера приведу фотографии реальных пейзажей к этим пасторальным литературным штампам (см.рис.1-3)

Читать далее
Всего голосов 38: ↑36 и ↓2+45
Комментарии50

Изучаем малоизвестный вирус для MS-DOS

Уровень сложностиСредний
Время на прочтение42 мин
Количество просмотров7.9K

В эпоху, когда компьютеры только начинали становиться частью повседневной жизни, операционная система MS‑DOS была необычайно популярна. Однако рост количества компьютеров и программ для них стал причиной появления вредоносного софта. Одним из таких вирусов был Paranoid — маленькая безобидная программа, которую полушутя создали двое школьников из Германии. О своём эксперименте они анонимно рассказали Зигфриду Штайнеру. А он поделился с нами.

Читать далее
Всего голосов 9: ↑9 и ↓0+11
Комментарии12

Система визуализации и мониторинга. Grafana + Prometheus

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров28K

Немного расскажу про установку Grafana на windows и настройку базовых метрик систем.

Пару слов о самой Grafana и для чего она нужна.

Grafana – это платформа для мониторинга, анализа данных и визуализации собранных данных с открытым исходным кодом. По сути она используется для визуального представления собранных метрик для более комфортного слежения за состоянием системы.

В данной статье буду использовать:

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии14

[По полочкам] Алгоритмы сортировок. Часть 1

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров13K

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

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

Читать далее
Всего голосов 18: ↑13 и ↓5+12
Комментарии44

Пишем обобщённую хеш-таблицу с открытой адресацией на чистом C

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

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

К решению этой задачи есть несколько подходов. Мы последовательно рассмотрим несколько существующих подходов и их достоинства и недостатки, а затем реализуем структуру данных на языке C и, наконец, устроим тест производительности написанного решения. А в качестве бонуса идёт небольшая библиотека включающая эту структуру данных и некоторые другие, которых так не хватает в стандартной библиотеке C.

К разработке этой библиотеки и написанию статьи меня натолкнуло отсутствие незаброшенной библиотеки эффективных хеш-таблицы для C.

Читать далее
Всего голосов 24: ↑20 и ↓4+22
Комментарии38

Как найти и сравнить похожие изображения автоэнкодером

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

Привет, Хабр!

Меня зовут Владимир Паймеров, я Data Scientist и являюсь участником профессионального сообщества NTA.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+7
Комментарии10

Разбор задачи «Распознавание дорожных знаков на кадрах с автомобильного видеорегистратора», Цифровой Прорыв

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

Привет, Хабр!

Этой статьей я открываю цикл материалов по разбору задач Всероссийского чемпионата "Цифровой Прорыв", связанных с Computer Vision. Решение, предлагаемое в статье, позволяет получить место в топ-5 лидерборда. Особенность данного подхода в том, что мы не будем использовать данные для обучения, предлагаемые организаторами соревнования. В конце даются советы по улучшения решения, а также идеи, которые могут привести к первому месту.

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

C++ магистрали потоков и древо алгоритма

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

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

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

«Я не ответственный, я — Responsible» — как объяснить бабушке, что такое RACI-матрица

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


Приехала я год назад к друзьям играть в настолки. А они ссорятся. Из-за того, что Маша сказала Саше вынести мусор / убрать носки / погулять с хомяком, а он не сделал, потому что тупо забыл. Рассказала я Саше и Маше про ToDoList и таск-трекеры и нарисовала им на холодильнике импровизированную асану. Маша наклеила стикеры с задачами и сроками, Саша терпеливо кивнул. Настолки состоялись.

Недавно я снова заглянула в гости. Стикеры на холодильнике висят, а Маша и Саша опять ссорятся. Точнее, громко выясняют, кто хотел починить стол / вывести холодильник / искупать кота, кто по-факту должен был это делать, и почему до сих пор ничего не сделано. Я промолчала, т.к. в чужие семейные разборки со своим PMBOK-ом не лезут.

Но потом решила, что всё нормально, лезут, т.к. вспомнила, что видела RACI-матрицу для распределения ответственности с шуточным объяснением через поездку семьи на дачу. Полезла искать эту картинку для Саши с Машей, нашла, а в ней куча ошибок:



Простите. Не могу промолчать. Не надо так.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+74
Комментарии45

Потрясающе красиво: как отобразить десятки признаков в данных

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

Пока эксперты Хабра дегустируют наши курсы, пробуем алгоритм UMAP урожая 2018, раскрывающий тонкие оттенки данных высокой размерности.

Статья напомнит об этой прекрасной альтернативе t-SNE или PCA и поможет с визуализацией на флагманском курсе Data Science.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Рисовалка для атомных орбиталей на Python

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

Начался новый учебный год, и преподавателям, студентам и школьникам, возможно, требуется (или просто хочется) посмотреть на то, как выглядят орбитальки, на которых сидят электроны в атомах: все эти завораживающие буковки s, p, d, f, и т.д. Да, картинок полно как в учебниках, так и в Интернете, но покрутить орбитальки на картинке не получится, а картинку из учебника/с левого сайта в презентацию/реферат без мороки с лицензией пихать (по-хорошему) не стоит. Поэтому в этом посте мы разберём одну из возможных реализаций рисовалки для этих самых орбиталек.

Посмотреть код, без регистрации и СМС.
Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Разработка стековой виртуальной машины и компилятора под неё (итог)

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

Для завершения реализации компилятора потребовалось около месяца времени (вечерами), чтобы на практике познакомиться с такими темами как BNF (Backus Naur Form), Abstract Syntax Tree (AST), Symbol Table, способами генерации кода, разработки самого компилятора (front-end, back-end), а также модификации виртуальной машины CVM. Ранее с этими темами был не знаком, но благодаря комментаторам погрузился. Хоть затрагиваемых тем много, постараюсь рассказать очень лаконично. Но обо всём по порядку.

Читать далее
Всего голосов 19: ↑17 и ↓2+19
Комментарии9

Ансамблевые методы машинного обучения

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

Ансамблевые методы - это мощный инструмент для построения моделей машинного обучения. Команды, которые используют их в соревнованиях на kaggle, занимают победные места. Ансамбли позволяют увеличить точность модели до 90+, при этом они довольно просты в понимании.

Поэтому я решил осветить эту тему в данной статье и показать реализацию ансамблей с помощью scikit-learn.

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

Двойственная задача линейного программирования

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

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

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии0

Cимплексный метод решения ЗЛП. Пример

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

Хорошей иллюстрацией теоретических положений любого метода является числовой пример с подробным изложением каждого шага алгоритма и комментариями к нему.

Читать далее
Рейтинг0
Комментарии1

Симплексный метод решения задач линейного программирования

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

Задача линейного программирования (ЗЛП) состоит в определении значений упорядоченной совокупности переменных xj, j=1(1)n при которых линейная целевая функция достигает экстремального значения и при этом выполняются (удовлетворяются) все ограничения (они также линейные) в форме равенств или неравенств. Требуется найти план  Х <n> = <x1, x2, ..., xn>, который обеспечивает получение целевой функцией с экстремальным значением.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии6

Наглядно о том, как работает свёрточная нейронная сеть

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

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

Читать далее
Всего голосов 18: ↑14 и ↓4+11
Комментарии8

Внутренности Linux: как /proc/self/mem пишет в недоступную для записи память

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

Странная причудливость псевдофайла /proc/*/mem заключается в его «пробивной» семантике. Операции записи через этот файл будут успешными даже если целевая виртуальная память помечена как недоступная для записи. Это сделано намеренно, и такое поведение активно используется проектами вроде компилятора Julia JIT или отладчика rr.

Но возникают вопросы: подчиняется ли привилегированный код разрешениям виртуальной памяти? До какой степени оборудование может влиять на доступ к памяти ядра?

Мы постараемся ответить на эти вопросы и рассмотрим нюансы взаимодействия между операционной системой и оборудованием, на котором она исполняется. Изучим ограничения процессора, которые могут влиять на ядро, и узнаем, как ядро может их обходить.
Всего голосов 20: ↑18 и ↓2+29
Комментарии1

Матрица-Перематрица

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

Работа нейронной сети основана на манипуляциях с матрицами. Для обучения используются разнообразные методы, многие из которых выросли из метода градиентного спуска, где необходимо умение обращаться с матрицами, вычислять градиенты (производные по матрицам). Если заглянуть “под капот” нейронной сети, можно увидеть цепочки из матриц, выглядящие зачастую устрашающе. Проще говоря, “нас всех подстерегает матрица”. Пора познакомиться поближе.

Для этого сделаем следующие шаги:

рассмотрим манипуляции с матрицами : транспонирование, умножение, градиент;

построим игрушечную нейронную сеть;

познакомимся с методом обратного распространения ошибки с использованием метода градиентного спуска.

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

Red pill
Всего голосов 7: ↑6 и ↓1+7
Комментарии0

Отслеживание и визуализация положения МКС с помощью 30 строк JavaScript-кода

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


Предлагаю вашему вниманию перевод этой замечательной статьи.

В этом туториале мы создадим веб-приложение, визуализирующее положение любого спутника, например, Международной Космической Станции (далее — МКС), в режиме реального времени (ну, почти).

Мы создадим приложение с нуля и примерим на себя роль настоящего ученого в области ракетостроения.

  • Мы узнаем, где найти данные для отдельного спутника, известные как двухстрочный набор элементов (two-line element set, TLE) (далее — ДНЭ)
  • Мы используем библиотеку ”satellite-js” для предсказания орбиты спутника по ДНЭ (это часть напрямую связана с ракетостроением)
  • Мы используем библиотеку ”CesiumJS” для визуализации результата, однако, вы можете использовать любую библиотеку/движок, которые умеют работать с долготой, широтой и высотой

Превью конечного результата:


Здесь мы видим движение МКС по орбите со скоростью, увеличенной в 40 раз. Для того, чтобы увидеть текущее положение МКС, нажмите на иконку часов в верхнем левом углу панели управления.
Всего голосов 18: ↑16 и ↓2+24
Комментарии0
1
23 ...

Информация

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