Search
Write a publication
Pull to refresh
-2
0.1
Send message

Улучшаем модель RandomForestClassifier

Level of difficultyEasy
Reading time3 min
Views4.3K

Статья взята из источника Daily Dose of Data Science.

Оговорюсь сразу: Я новичок в Data Scince и в оформлении статей. Пишу лишь сюда для своих заметок ну и может быть будет кому-то полезно. Прошу сильно не судить!)

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

Читать далее

Отправка и обработка HTTP запросов в PostgreSQL

Level of difficultyMedium
Reading time7 min
Views25K

Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД.

Читать далее

Самый быстрый поиск пути на Go без аллокаций и СМС

Reading time10 min
Views11K

Алгоритмы важны. Но реализовать их можно очень по-разному.


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


Любите оптимизации, специализированные структуры данных и трюки с битами? Тогда скорее под кат!


Читать дальше →

Обновление состояния системы через Server-Sent Events (SSE) без затей

Level of difficultyMedium
Reading time11 min
Views14K

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

Допустим, у нас есть список объектов, к примеру – список эпизодов для шоу. Один клиент на него смотрит, а другой в это время добавляет в список еще один эпизод. Хорошо бы факт добавления нового эпизода сразу отобразить у первого клиента. То же самое относится и к просмотру информации об отдельном эпизоде: если один клиент её просматривает, а другой – редактирует, было бы здорово результат редактирования сразу отображать у первого.

Для решения данной задачи очень удобно использовать механизм Server-Sent Events (SSE). О том как это сделать в проектах, у которых на беке Node, а на фронте React, я и хочу поговорить.

Читать далее

Как работает команда роста в Deel, одном из самых успешных SaaS последних лет

Level of difficultyMedium
Reading time3 min
Views1.8K

Если вдруг вы не знакомы с этим кейсом, то вот вам интересная история. В 2019 году Deel получил первые 150 тысяч долларов от Y Combinator. А через три года уже 50 миллионов при оценке в 12 миллиардов. При том, что в сумме они собрали почти 700 миллионов инвестиций.

Читать далее

Трансформером по A*, или как уменьшить число итераций самого известного алгоритма поиска пути

Level of difficultyMedium
Reading time24 min
Views8.4K

Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Часто эта задача сводится к поиску пути на графе, для чего обычно используется алгоритм эвристического поиска A*. Этот алгоритм был предложен в 60-х годах XX века и с тех пор используется повсеместно. Скорее всего, юнит вашей любимой RTS бежит по карте с помощью той или иной вариации A*. Точно так же, под капотом беспилотного авто вы, наверняка, найдёте A*, хотя там, конечно, не только он.

A* — это хороший алгоритм, но его вычислительная эффективность сильно зависит от эвристической функции, которую должен задать разработчик. Основная проблема стандартных эвристик заключается в том, что они не учитывают расположение препятствий на карте и ведут поиск буквально напролом, тратя на это ресурсы (итерации поиска). Почему бы нам не воспользоваться современными нейросетями для решения этой проблемы, а именно попросить нейросеть посмотреть на карту и подсказать поиску как лучше обходить препятствия, чтобы быстрее (за меньшее число итераций) найти нужный путь?

Этот текст посвящен как самому алгоритму A*, так и попыткам повысить его эффективность с помощью методов искусственного интеллекта. Заодно я расскажу о том, какие новшества в этом направлении придумали мы с коллегами: научная статья на эту тему опубликована в сборнике конференции AAAI 2023.

Читать далее

Делаем web сервер из старого Android смартфона, без root

Reading time4 min
Views36K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее

Helena.4.0 – новый алгоритм для подбора гиперпараметров

Level of difficultyMedium
Reading time6 min
Views9.5K

С целью автоматизации процесса подбора гиперпараметров автором данной статьи разработан алгоритм Helena.4.0. Конечной целью является создание автоматической системы построения моделей (auto-ML), которая бы подбирала гиперпараметры за минимальное время.

С помощью алгоритма Helena.4.0 можно подбирать гиперпараметры для моделей градиентного бустинга, нейросетей, и более того – для генетических алгоритмов. Автор считает, что алгоритмы Helena могут заменить в генетических алгоритмах генеративную часть – т.е. уйти от биологических аналогий, заменив псевдобиологическую генерацию признаков путем процедур «скрещивания» и «мутаций» на генерацию с помощью указанных алгоритмов.

Для поиска максимума функции алгоритм Helena.4.0 использует только ее значения, и  не используют первые и последующие производные. Таким образом, этот алгоритм не требуют ни дифференцируемости, ни непрерывности максимизируемой функции.

Сравнение алгоритма Helena.4.0 с наиболее популярными конкурентами (Optuna, HyperOpt, RandomSearch) показывает его высокую конкурентоспособность.

В отличие от других алгоритмов, не использующих градиент для максимизации функции, алгоритмов Helena.4.0 способен успешно противостоять комбинаторному взрыву. Т.е. алгоритм Helena.4.0 достаточно стабильно работает, несмотря на увеличение размерности пространства. Время, необходимое алгоритму Helena.4.0 для поиска максимума функции, оценивается как квадратичная функция от размерности пространства.

Ниже в статье приведено подробное описание алгоритма Helena.4.0 и результаты сравнительных тестов с алгоритмами-конкурентами.

Читать далее

Неочевидные возможности короля картографического ПО на гаджетах

Reading time10 min
Views57K

⋮Дисклеймер:
Все нижеизложенное является лишь наблюдением и субъективной оценкой на основе личного опыта автора, а не утверждением.

🔥 Примечание — эта статья автора расположилась на первом месте по рейтингу/просмотрам в хабе OSM за 2023г.

Читать далее

Аэропоника — это сложно

Level of difficultyEasy
Reading time19 min
Views34K

Аэропоника — перспективный и эффективный способ выращивания растений. Такие выводы я сделал, начитавшись статей. Я только что успешно вырастил на балконе клубнику и полон энтузиазма двигаться дальше. Я берусь за аэропонику. Кажется, что это не сложно, надо, всего лишь, вместо размещения растений в земле, разместить их в каких-нибудь ёмкостях и распылять раствор на корни. Это привело меня к эпопее с клубникой в контейнере (1, 2, 3) и ряду экспериментов с аэропоникой, о которых я ещё не писал. За это время у меня накопился некоторый багаж знаний относительно аэропоники, им я и буду делиться в этом посте.

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

Читать далее

Генерация изображения в Stable Diffusion по простому скетчу

Level of difficultyMedium
Reading time3 min
Views12K

Как известно, генерация в нейросети Stable Diffusion осуществляется по текстовому описанию с использованием различных обученных моделей. Кроме того, в качестве первичного источника можно использовать произвольное изображение (генерация по скетчу). Подробно об установке и подробностях работы можно ознакомиться в многочисленных статьях и видеообзорах в интернете. Отмечу только, что в работе нейросети при генерации используется цветовой шум – это стало отправной точкой моего небольшого исследования, которым я хочу с вами поделиться.

В процессе работы с нейросетью мною были использованы как текстовые описания (промты), так и скетчи – примитивные наброски, описывающей некую общую концепцию будущего изображения. При генерации по скетчу в настройках нейросети можно задавать значение параметра «Denoising strength» (принимает значения от 0 до 1). Параметр указывает силу влияния наброска на первичную генерацию изображения. Чем ближе значение к единице, тем меньше влияние. Как показала практика, при значениях ниже 0.5 практически на всех моделях и при любых прочих параметрах генерации, финальное изображение максимально упрощалось и стремилось к наброску. При значениях в диапазоне от 0.5 до 0.6 чаще получались картинки в мультяшном стиле, при этом негативные промты на результат влияния почти не оказывали. Реалистичные модели, как правило, при низких значениях дают результаты с большим количеством искажений, при больших – сценарий финального изображения очень быстро уходит от того, что изображено на наброске.

Читать далее

Почему мой любимый API — это файл zip на сайте Европейского центрального банка

Level of difficultyEasy
Reading time7 min
Views31K

Когда был максимальный курс доллара к евро?

Вот небольшая программа, вычисляющая это:

curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"

Результат: 2000-10-26. (Можете попробовать запустить её самостоятельно.)

Читать далее

Релиз Bun 1.0 (новый runtime для JavaScript )

Level of difficultyEasy
Reading time12 min
Views38K

Представляем Bun версии 1.0.

Bun — это быстрый и универсальный набор инструментов для запуска, сборки, тестирования и отладки JavaScript и TypeScript кода (от одного файла до fullstack-приложения). Сегодня Bun стабилен и готов к продакшену.

Читать далее

Автоматическая разметка данных

Level of difficultyMedium
Reading time4 min
Views8K

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

09.03.2023 года была представлена модель Grounding DINO. Данная модель позволяет детектировать объекты на изображениях по текстовому описанию. Согласно аннотации к статье Grounding DINO, модель достигает значения 52,5 AP на бенчмарке "Zero-Shot Object Detection on MS-COCO". Далее мы рассмотрим как использовать эту модель для автоматической разметки данных.

Читать далее

Reinforcment Learning: Google Recsim

Level of difficultyEasy
Reading time7 min
Views1.6K

Всем привет. Сегодня поговорим про RL в ML с использованием Google RecSim.

Reinforcement Learning (RL) - это подход в машинном обучении, который для того, чтобы максимизировать некоторую целевую функцию, в обучении агентов (испытуемых систем) принимать решение в окружении, использует методы обучения с подкреплением. Основной идеей RL является то, что агент взаимодействует с окружением, выполняя действия и получает обратную связь в виде награды или штрафа за свои действия. Агент стремится научиться выбирать такие действия, которые максимизируют накопленную награду на протяжении времени. RL может использоваться для решения разнообразных задач, таких как управление роботами, игры, автономная навигация и многое другое.

Читать далее

Строим удобные автомобильные маршруты

Level of difficultyMedium
Reading time8 min
Views13K

Хороший автомобильный маршрут из точки А в точку Б должен, с одной стороны, быть кратчайшим, а с другой — удобным для водителя. Как правильно вычислить время в пути мы уже рассказали, теперь — об удобстве маршрутов: что это такое, как его измерить и как мы его повышали.

Читать далее

Введение в микроразметку в Nuxt.js: как это работает

Level of difficultyMedium
Reading time9 min
Views4.4K

Привет, Хабр! Меня зовут Павел, я JS-разработчик SimbirSoft. За три года работы во фронтенде я убедился, что микроразметка необходима для оптимизации и улучшения UX на сайте, и считаю ее важным инструментом при разработке. В целом микроразметка феномен распространённый. Но что мы знаем об использовании Server-Side Rendering (SSR)? Разберёмся по порядку.

Читать далее

Как мы переучивали алгоритм построения маршрутов 2ГИС ради грузовиков

Level of difficultyMedium
Reading time12 min
Views6.3K

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

Я расскажу, как в 2ГИС устроен алгоритм построения маршрутов в целом и как мы адаптировали его под грузовики — например, учили его строить неоптимальные по времени маршруты.

Читать далее

Создайте свой клон с помощью Fine-tuned LLM

Level of difficultyMedium
Reading time10 min
Views20K

Обретите цифрового двойника

Цель этой статьи - показать, как эффективно и с минимальными затратами настроить LLM на пользовательском датасет. Мы рассмотрим использование модели Falcon-7B с адаптерами LoRa, с использованием библиотеки Lit-GPT.

Читать далее

Perfusion. Это как Midjourney, только лучше

Level of difficultyEasy
Reading time7 min
Views21K

Когда дело доходит до автоматического создания изображений на основе собственных идей, на помощь приходят две самых популярных среди пользователей нейросети — DALL-E 2 и Midjourney. Обе являются инструментами, способными создавать реалистичные изображения с хорошим качеством. Эти ИИ обычно понимают, чего вы хотите, и пытаются генерировать новые изображения, в том числе что-то похожее на конкретный пример, но часто можно увидеть, что результат совершенно не соответствует запросам. Что ж, это изменится с новой моделью от NVIDIA — Perfusion, нейросетью, которая позволяет создавать изображения из описаний на естественном языке.

В отличие от своих тяжеловесных конкурентов, Perfusion выделяется компактным размером моделей всего в 100 КБ и 4-минутным временем обучения. Perfusion предлагает пользователям возможность комбинировать различные настраиваемые элементы с набором изображений, которые функционируют как «концепции». Модель способна изучить «концепцию» объекта (например, вещи, животного или человека), а затем генерировать эти концепции в новых сценариях.
Читать дальше →

Information

Rating
5,585-th
Registered
Activity