Pull to refresh
14
0
Send message

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python

Level of difficultyHard
Reading time11 min
Views3K

Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.

В AdaBoost в качестве базовой модели используется пень решений (могут использоваться другие модели) — дерево с небольшой глубиной, которому присваивается вектор весов размера N, каждое значение которого соответствует определённому значению y_train и изначально равно 1 / N, где N — количество образцов в обучающей выборке. Каждый следующий пень обучается с учётом весов, рассчитанных на основе ошибок предыдущего прогноза. Также для каждого обученного пня отдельно рассчитывается вес, используемый для оценки важности итоговых прогнозов.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

Литье пластика в силиконовую форму. Первый опыт

Level of difficultyMedium
Reading time17 min
Views11K

Теперь можно взять весь этот бардак: застывшие остатки пластика, силиконовые формы, трубки и подложки, клей, спрей, старые газеты, наждачную бумагу… и выбросить в мусорку. На все было потрачено несколько выходных и около двух тысяч рублей в пересчете на истраченный объем. Получилась она застывшая воронка, деталь с пузырями, вздутая подложка и пара дефектных силиконовых форм. Из расходников можно вспомнить два кислых чупа-чупса под литники, которые оказались без жвачки. Да, теперь все стало понятно, можно искать исполнителя.

- Сможете изготовить такую деталь?
- Да, но скругления нужно заменить на фаски.

Далее много фотографий
Total votes 48: ↑48 and ↓0+48
Comments52

Julia: функции и структуры-как-функции

Reading time12 min
Views4.3K
Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рассмотрим подробнее второй пункт.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Сборка прошивки из исходников для Orange PI i96(Orange PI 2g-iot)

Level of difficultyEasy
Reading time18 min
Views8.1K

Здраствуйте меня завут Дмитрий. Как-то я купил OpangePI i96, но к сожалению производитель давно забыл об этой плате, прошивки для неё построены на ядре 3.10.62(актуальная версия на момент написаня статьи 6.5.1). Поэтому я решил собрать собственную прошивку на актуальной версии ядра. Сборка будет проходить полностью из исходников.

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments17

Как прогнозировать время выполнения задач

Level of difficultyHard
Reading time20 min
Views31K

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

Если спросить любого начинающего исследователя этой темы «А зачем нам оценка?», он скажет, что постоянно задают вопрос «Когда вы выполните эту задачу?», на который и надо ответить с помощью этой оценки. А что, если сам вопрос задан неверно?

Читать далее
Total votes 70: ↑68 and ↓2+66
Comments57

Настольные игры для юных программистов и электронщиков. Обзор новинок декабря 2023 года

Level of difficultyEasy
Reading time2 min
Views11K

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

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments12

Как создать эффективную посадочную страницу в 2023: всего 3 фактора, от которых зависит конверсионность лендинга

Level of difficultyEasy
Reading time8 min
Views6.7K

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments14

Фазовая автоподстройка частоты

Level of difficultyEasy
Reading time11 min
Views11K


Или по-английски — phase locked loop, PLL. В технической литературе нам часто встречаются эти словосочетания и аббревиатуры. Возможно, это название раньше вводило вас в заблуждение.

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

Сегодня мы соберем и испытаем микромощный ЧМ стерео радиопередатчик (модулятор) с ФАПЧ, а также изучим историю и основные принципы этого замечательного изобретения.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments13

Обучающая основам программирования и робототехники настолка «Битва Големов» — качаем, печатаем и играем

Level of difficultyEasy
Reading time2 min
Views4.6K

Я решил сделать детям, родителям и преподавателям подарок. Встречайте BIG BOX PNP по классической версии моей игры о боевых программируемых роботах "Битва Големов", который можно свободно скачать, распечатать и играть.

Читать далее
Total votes 27: ↑25 and ↓2+23
Comments3

Dolly 2 — открытый аналог ChatGPT со свободной лицензией

Level of difficultyEasy
Reading time9 min
Views20K

В конце марта 2023г., компания Databricks выпустила Dolly, большую языковую модель, подобную ChatGPT, дообученную на платформе Databricks Machine Learning Platform. Результат оценки работы модели Dolly показывает, что модель с открытым исходным кодом двухлетней давности (GPT-J) при дообучении на публичном датасете, собранном в Стэнфорде (Stanford Alpaca), на небольшом наборе данных из 50 000 диалогов (вопросов и ответов), может демонстрировать удивительно высокое качество обучения, не характерное для родительской модели (GPT-J), на которой она основана.

Но с первой версией модели Dolly существует одна проблема - датасет от Stanford Alpaca был собран с помощью автоматизированных скриптов от ChatGPT, что нарушает лицензию и правила использования моделей OpenAI.

Чтобы исправить эту проблему, в апреле 2023г. Databricks выпустила
Dolly 2 - большую языковую модель с открытым исходным кодом и открытой лицензией для научных и коммерческих целей.

Dolly 2 - это языковая модель с 12 млрд. параметров, основанная на семействе моделей EleutherAI pythia и дообученная исключительно на новом датасете высокого качества, созданном сотрудниками Databricks с использованием RL from Human Feedback (RLHF).

Databricks открыли исходный код Dolly 2, включая код обучения, сам датасет и веса модели, подходящие для коммерческого использования. Это означает, что любая организация может создавать, владеть и настраивать комплексные модели, не платя за доступ к API или передавая данные третьим сторонам.

Читать далее
Total votes 34: ↑32 and ↓2+30
Comments9

Ретро-компьютер уровня «Радио-86РК» с RISC-V процессором на плате OMDAZZ

Level of difficultyEasy
Reading time7 min
Views11K

Статья про то, как из недорогой отладочной платы OMDAZZ c ПЛИС  CycloneIV EP4CE6 получить ретро-компьютер с монитором, клавиатурой и тетрисом, но с современным процессором на базе RSIC-V и компилятором GCC.

Как же это сделать
Total votes 60: ↑60 and ↓0+60
Comments14

Баланс в играх или как достичь недостижимой цели?

Reading time20 min
Views16K

Как думаете, что должно быть в каждой игре? На что чаще всего жалуются пользователи? Что может превратить хороший проект в мусор? Что, как говорится, сложно найти, легко поломать и невозможно довести до идеала? И ответ на все это будет игровой БАЛАНС! Да, баланс – самая сложная и самая необычная часть геймдева.

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments7

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Level of difficultyMedium
Reading time11 min
Views73K
image

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

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

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Total votes 110: ↑109 and ↓1+108
Comments77

Элементы языка С, которые являются неподдерживаемыми в языке С++

Reading time7 min
Views32K

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

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

Разумеется, язык С имеет много существенных отличий от языка С++, т.е. не составит никакого труда привести примеры несовместимостей, основанные, скажем, на ключевых словах или других очевидных эксклюзивных свойствах С99. Таких примеров вы не найдете в списке ниже. Мой основной критерий для включения примеров в этот список заключался именно в том, что пример кода должен выглядеть на первый взгляд достаточно "невинно" для С++-наблюдателя, т.е. не содержать бросающихся в глаза С-эксклюзивов, но тем не менее являться специфичным именно для языка С.

Читать далее
Total votes 140: ↑139 and ↓1+138
Comments80

Сразу три причины, из-за которых контроллер GD32F450 теряет UDP пакеты

Reading time13 min
Views16K
Периодически на Хабре проскакивают статьи, где проверяется двоичная совместимость контроллеров GD32 с их аналогом STM32. Так получилось, что нам довелось поймать пусть и не на двоичном уровне, а на уровне исходников, ситуацию, где одно и то же проявление проблемы (теряются сетевые пакеты) было вызвано не одной, не двумя, а сразу тремя причинами, из которых две оказались признаками несовместимости с STM32. Вот о том, как мы эти причины ловили, я и хочу сегодня рассказать. Будет детектив, аналогичный тому, какой я приводил в своей старенькой статье про поддельную «голубую пилюлю». Ну, и выводы, куда же без них. Они тоже будут.


Читать дальше →
Total votes 89: ↑88 and ↓1+87
Comments32

Flutter на Python

Reading time3 min
Views32K


Приветствую вас, дорогие любители и знатоки Python! Знали ли вы, что можно разрабатывать кросплатформенные приложения, используя всю мощь и выразительность своего любимого змеиного языка в связке с ныне популярным фреймворком Flutter? Оказывается, такая возможность есть! Всех заинтересовавшихся прошу под кат за деталями.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments33

Разглядывая JTAG: *.bsdl своими руками

Reading time15 min
Views7.1K

В предыдущей статье мы немного поработали с конечным автоматом модуля JTAG в контексте чтения идентификационного номера. Совершённые нами манипуляции были бы одинаковы практически для любой микросхемы с JTAG-ом. Однако при попытке установить/считать через JTAG уровень напряжения на произвольном выводе микросхемы мы столкнёмся с объективной проблемой: количество выводов, их назначение и расположение у разных микросхем принципиально отличаются. Для того, чтобы у ПО, управляющего JTAG-ом была информация об этих отличиях, ему необходим файл описания модуля JTAG для конкретной микросхемы. Об этих файлах и пойдёт речь в данной статье.

Написать *.bsdl в блокноте
Total votes 36: ↑36 and ↓0+36
Comments5

Атрибуты Xорошей PCB

Level of difficultyEasy
Reading time5 min
Views14K

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

Этот перечень сформировался в результате реальных инцидентов.

Читать далее
Total votes 44: ↑37 and ↓7+30
Comments82

Как использовать CSS ::before и ::after для создания пользовательских анимаций и переходов

Reading time8 min
Views58K

Как сделать плавный анимированный переход на сайте без использования специальных библиотек? Урок использования псевдоэлементов CSS для создания эффектов: от анимированной кнопки до карточки профиля. Подходит новичкам.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments3

Создание собственного React с нуля

Reading time22 min
Views9.9K

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

Хотя многие разработчики успешно применяют такие библиотеки как React или Vue, понимание их точной внутренней работы не слишком широко изучено. В этой статье я расскажу о создании собственной библиотеки реактивного рендеринга, и разъясню, что происходит под капотом.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0
1

Information

Rating
Does not participate
Registered
Activity