Урок 5. Визуализация и границы метода
Урок 5. Как данные становятся картинкой — и что мы не умеем
Паспорт урока
| Параметр | Значение |
|---|---|
| Место в модуле | RFCurtain, урок 5 из 5 — финал модуля |
| Длительность | 45 мин |
| Возраст | 13–16 |
| Оборудование | rf_curtain.py, логи турнира с урока 4 |
| Предварительные знания | Уроки 1–4 |
| Предмет | Информатика (визуализация данных), методология |
Образовательные цели
| № | Цель | Блум | Миллер | Чем доказывается |
|---|---|---|---|---|
| 5.1 | Проходить полную лестницу от задачи до качества | создавать | показывает как | Своя лестница для новой задачи |
| 5.2 | Объяснять принципы честной визуализации | понимать | знает как | Разбор трёх графиков |
| 5.3 | Называть ограничения собственного метода | оценивать | показывает как | Перечень с обоснованием |
| 5.4 | Описывать конвейер обработки данных | понимать | знает как | Разбор пути от UART до пикселя |
Сценарий занятия (45 минут)
| Время | Блок | Что делает педагог | Что делают ученики |
|---|---|---|---|
| 0–5 | Retrieval | Мини-квиз по уроку 4 | Пишут, разбор |
| 5–15 | Конвейер данных | Путь от антенны до пикселя | Разбирают цепочку |
| 15–25 | Принципы визуализации | Почему графики устроены так | Формулируют правила |
| 25–37 | Границы метода | Что занавес не умеет | Составляют честный перечень |
| 37–45 | Итог модуля | Собирают лестницу целиком | Записывают |
Блок 1. Конвейер данных (5–15 мин)
Постановка
«Мы прошли от физики до турнира. Теперь посмотрим на весь путь целиком: что происходит между тем, как волна коснулась антенны, и тем, как вы увидели точку на графике.»
Полная цепочка
антенна ловит микровольты
→ LNA усиливает, демодулятор восстанавливает биты
→ проверка sync word и аппаратного CRC
→ прерывание DIO → флаг в прошивке
→ readData(): проверка magic и своего CRC8, чтение RSSI и SNR
→ строка «DATA,millis,seq,rssi,snr» в UART на 115200
→ pyserial читает строку
→ разбор CSV → буферы deque в оперативной памяти
→ numpy: медиана быстрого окна, σ, EMA базы
→ правило детектора → класс события
→ matplotlib: три связанных графика, 10 кадров в секунду
→ параллельно каждая строка пишется в CSV-логКлючевые точки цепочки
| Этап | Что здесь может пойти не так |
|---|---|
| Радиоприём | не тот sync word, не та частота — пакеты чужие или не слышны |
| CRC | битые пакеты: помеха, слабый линк |
| UART | переполнение буфера при задержках обработки |
| Разбор строки | рассинхронизация формата прошивки и скрипта |
| Вычисление признаков | недостаточно данных для окна в начале работы |
| Отображение | задержка отрисовки маскирует быстрые события |
Лестница диагностики трёх уровней (сквозной метод курса) применяется и здесь:
- Пакеты идут? — строки
DATAсыплются, счётчикseqрастёт; - Пакеты целые? — растёт ли счётчик битых при живом счётчике хороших;
- Пакеты осмысленные? — данные приходят, но детектор чудит — значит дело в порогах и физике, а не в радио.
Первый уровень почти всегда находится без всякой теории: питание, пауза, не та прошивка.
Двойной путь данных
«Обратите внимание: строка одновременно идёт на график и пишется в лог. Зачем дублировать?»
| Живой график | CSV-лог |
|---|---|
| для демонстрации и наблюдения | для анализа и разбора |
| нельзя остановиться и вернуться | можно проигрывать сколько угодно |
| нельзя перенастроить пороги задним числом | можно: --replay с другими порогами |
Правило: пишите сырые данные всегда, даже когда смотрите вживую. Восстановить незаписанное невозможно.
Блок 2. Принципы честной визуализации (15–25 мин)
Разбор устройства графиков
«Три графика выбраны не случайно. Каждое решение отвечает на вопрос “как не обмануть зрителя”.»
Принцип 1. Показывай сырьё и обработку вместе
Как реализовано: серые точки (сырьё), бирюзовая медиана (признак) и жёлтая база на одном графике.
Зачем: зритель видит, из чего сделан вывод. Дашборд, показывающий только слово «ТРЕВОГА», не позволяет проверить обоснованность.
«Доверие к выводу рождается тогда, когда виден путь от данных к решению.»
Принцип 2. Порог рисуй на том же графике, что и признак
Как реализовано: средний график показывает отклонение и красную линию порога; нижний — σ и свой порог.
Зачем: срабатывание становится проверяемым глазом. Пересечение линии графиком — это и есть решение детектора, видимое непосредственно.
Принцип 3. Разные классы — разные цвета
Как реализовано: красная заливка (просадка), оранжевая (кипение), синяя (обрыв).
Зачем: три диагноза с разными реакциями не должны выглядеть одинаково (урок 3).
Принцип 4. Правда — поверх всего
Как реализовано: белый пунктир — отметки судьи (ground truth).
Зачем: позволяет мгновенно сопоставить решение детектора с тем, что было на самом деле.
Принцип 5. Не скрывай неудобное
Как реализовано: обрыв линка рисуется явно, а не «замалчивается» как пропуск данных.
«Соблазн любой визуализации — показать систему в выгодном свете. Инженерная честность требует обратного: неудобные состояния должны быть виднее удобных.»
Переносимость принципов. Эти пять правил применимы к любой визуализации данных — от школьного отчёта до дашборда предприятия. Их нарушение — самый частый способ, которым графики вводят в заблуждение без единой ложной цифры.
Продолжение темы — в модуле WarWalk, где разбирается ловушка тепловых карт.
Блок 3. Границы метода (25–37 мин)
Постановка
«Мы построили работающий детектор. Теперь самое важное для инженера: честно назвать, чего он не умеет.»
Составление перечня с классом
Ученики предлагают, педагог достраивает:
| Ограничение | Почему возникает | Можно ли обойти |
|---|---|---|
| Детектирует пересечение, а не присутствие в комнате | датчиком служит объём между антеннами | несколько лучей, другая технология |
| Крупные животные дают срабатывание | они тоже поглощают радиоволны | лучи на разной высоте (урок 2, ДЗ) |
| Качающиеся ветки дают кипение | движение меняет многолучёвку | выбор места, направленные антенны |
| Машина рядом с линией меняет базу | крупный отражатель | заморозка базы не спасёт, нужна перекалибровка |
| Дождь меняет фон | поглощение в осадках | медленный дрейф база съест, ливень стеной — нет |
| Быстрый пробег может проскочить | окно медианы 0,5 с | увеличить частоту опроса |
| Проход у самой антенны слабее заметен | зона Френеля там узкая (урок 1) | добавить второй луч |
| Не различает человека и предмет | оба поглощают | признак кипения помогает частично (урок 3) |
| Глушение выглядит как обрыв | нет пакетов в обоих случаях | измерение уровня шума |
Формулировка позиции
Честная инженерная позиция проекта: цифры порогов из документации — стартовые, а не истинные. Истинные снимаются на вашем дворе вашими учениками, и они будут другими.
Система является учебным стендом, а не заменой сертифицированной охранной сигнализации. Об этом говорится детям прямо — это часть программы.
Почему это важно для защиты проекта
«На конкурсе первый вопрос жюри: “а что ваша система не умеет?” Команда, отвечающая “всё умеет”, теряет доверие мгновенно. Команда, называющая пять ограничений, которые видны только тому, кто реально работал с системой, — выигрывает.»
Это прямое требование рубрики Б (документ 2 экспертизы), критерий «Границы и ограничения».
Блок 4. Итог модуля: лестница целиком (37–45 мин)
Сборка
Собрать на доске полную лестницу, отмечая, на каком уроке появилось каждое звено:
ХОТИМ: узнавать, что кто-то пересёк периметр [урок 1]
↓
КЛАССЫ: норма / нарушитель / обрыв линка [урок 3]
↓
ЯВЛЕНИЕ: тень в зоне Френеля + многолучёвка [урок 1]
↓
АТОМ: RSSI одного пакета, 15 раз в секунду [урок 1]
↓
ПРИЗНАКИ: медиана 0,5 с; база EMA 60 с; отклонение; σ [уроки 2–3]
↓
ДЕТЕКТОР: отклонение ≤ −3 дБ ИЛИ σ ≥ 2,5 дБ [урок 3]
↓
КАЧЕСТВО: попадания, пропуски, ложные → ROC [урок 4]
↓
ГРАНИЦЫ: что метод не умеет [урок 5]Финальная мысль модуля
«Вы прошли путь от радиоволны до настроенного классификатора, качество которого измерили сами. Это, без громких слов, введение в анализ данных и машинное обучение — сделанное ногами по школьному двору.
И последнее звено — границы — не менее важно, чем все предыдущие. Система, ограничения которой известны, полезна. Система, о которой заявляют, что она умеет всё, опасна.»
Практические задачи
Уровень A (13–14 лет)
A1. Почему на графике показывают и сырые точки, и сглаженную линию?
Ответ
Чтобы было видно, из чего сделан вывод. Если показать только гладкую линию, зритель не узнает, насколько шумными были исходные данные и можно ли доверять результату.
A2. Зачем писать лог, если график виден вживую?
Ответ
Потому что живой график нельзя остановить и пересмотреть. По записи можно проиграть события заново, разобрать конкретные моменты и даже перенастроить пороги задним числом. Незаписанные данные восстановить невозможно.
A3. Назовите три ситуации, в которых наш занавес ошибётся.
Ответ
Например: крупная собака пересечёт луч (сработает, хотя это не нарушитель); качающаяся ветка даст кипение (ложная тревога); очень быстрый пробег может проскочить между замерами (пропуск).
Уровень B (14–15 лет)
B1. Сформулируйте пять принципов честной визуализации из этого урока.
Ответ
- Показывать сырьё и обработку вместе;
- Порог рисовать на том же графике, что и признак;
- Разные классы — разные цвета;
- Ground truth поверх всего;
- Не скрывать неудобные состояния (обрыв рисуется явно).
B2. Проследите путь одного пакета от антенны до точки на графике. Назовите не менее шести этапов.
Ответ
Антенна → демодуляция и восстановление битов → проверка sync и аппаратного CRC → прерывание и чтение данных в прошивке → проверка magic и CRC8, чтение RSSI → строка в UART → чтение скриптом → разбор CSV → буфер → вычисление признаков → правило детектора → отрисовка.
B3. Почему обрыв линка рисуется отдельным цветом, а не просто как отсутствие данных?
Ответ
Потому что отсутствие данных — это информация, а не пустота. Если просто оставить пропуск на графике, оператор может решить, что система работала нормально. Явная синяя заливка сообщает: в этот период система была слепа, и данным о том периоде доверять нельзя.
Уровень C (15–16 лет)
C1. Постройте полную лестницу классификации для новой задачи по выбору. Отметьте, где вам не хватает информации.
Ориентир для педагога
Хорошая работа содержит все восемь звеньев и честно отмечает места неопределённости: например, «не знаю, какие признаки различают классы — нужен предварительный эксперимент».
Именно указание на нехватку информации ценнее, чем выдуманное заполнение всех строк. Это признак понимания метода, а не имитации.
C2. Приведите пример визуализации, которая не содержит ни одной ложной цифры, но вводит в заблуждение.
Разбор
Классические приёмы:
| Приём | Как обманывает |
|---|---|
| Обрезанная ось Y | небольшое различие выглядит драматическим |
| Показ только удачных периодов | скрывает отказы |
| Сглаживание без показа сырья | скрывает шум и ненадёжность |
| Тепловая карта по плотности точек | «горячо» там, где много измерений, а не где сильный сигнал (разбирается в WarWalk) |
| Отсутствие отметки о пропусках данных | пропуск выглядит как непрерывная работа |
Общий вывод: данные могут быть безупречны, а вывод ложным — из-за способа представления. Поэтому принципы честной визуализации не менее важны, чем корректность вычислений.
C3. Составьте раздел «ограничения» для защиты проекта: пять пунктов, которые не видны стороннему наблюдателю.
Ориентир для педагога
Сильные ответы называют ограничения, обнаруживаемые только опытом: проход у самой антенны хуже детектируется; система не различает человека и предмет; после долгого обрыва база может устареть; дождь и снег меняют фон по-разному; поставленный в луч предмет создаёт постоянную тревогу, которую придётся снимать вручную.
Критерий качества: ограничение должно быть неочевидным и основанным на собственных наблюдениях. Пересказ общих слов («система не идеальна») не засчитывается.
Ответы на вопросы, которые прозвучат
| Вопрос ученика | Как отвечать |
|---|---|
| «Зачем перечислять недостатки — это же ослабляет проект?» | Наоборот. Инженер, знающий границы своего решения, вызывает доверие. Тот, кто заявляет «всё работает», — нет: жюри знает, что так не бывает |
| «Можно ли сделать занавес, который не ошибается?» | Нет. Можно сместить ошибки в нужную сторону и знать, где они. Это и есть инженерное решение задачи |
| «Три графика — не многовато?» | Каждый отвечает на свой вопрос: сырьё и его сглаживание, первый признак с порогом, второй признак с порогом. Убрать любой — потерять возможность проверки |
| «А как делают в настоящих охранных системах?» | Так же по структуре, но с большим числом признаков, несколькими датчиками и, часто, с обученными моделями. Принципы визуализации и оценки качества — те же |
| «Наш проект бесполезен, раз столько ограничений?» | Он полезен как учебный стенд и как прототип. Ни одно реальное устройство не свободно от ограничений — вопрос лишь в том, знает ли о них разработчик |
Раздаточный лист (для печати)
Урок 5. Визуализация и границы
Конвейер данных — восстановите порядок:
антенна → ______________ → ______________ → прерывание → проверка magic и CRC8 → строка в ______ → чтение скриптом → ______________ → признаки → ______________ → график ↘ CSV-логПять принципов честной визуализации:
- __________________________________________
- __________________________________________
- __________________________________________
- __________________________________________
- __________________________________________
ГРАНИЦЫ НАШЕГО МЕТОДА (не менее пяти):
Ограничение Почему возникает ПОЛНАЯ ЛЕСТНИЦА МОДУЛЯ — заполните:
ХОТИМ: ______________________________ КЛАССЫ: ______________________________ ЯВЛЕНИЕ: ______________________________ АТОМ: ______________________________ ПРИЗНАКИ: ______________________________ ДЕТЕКТОР: ______________________________ КАЧЕСТВО: ______________________________ ГРАНИЦЫ: ______________________________Что я унёс из модуля «Радиозанавес»:
_______________________________________________
Домашнее задание
Обязательная часть
Врайтап по рубрике А, итоговый за модуль. Обязательный пункт: три ограничения метода, которые вы обнаружили сами во время работы.
Уровень A
Найти в интернете или учебнике график, который вводит в заблуждение способом представления (обрезанная ось, выбранный период). Описать приём.
Уровень B
Взять лог своего турнира и построить по нему собственный график в любом инструменте, соблюдая пять принципов честной визуализации.
Уровень C
Подготовить раздел «границы применимости» для защиты проекта: пять неочевидных ограничений с объяснением, почему каждое возникает и что можно было бы сделать.
Итог урока и модуля
Вывод урока 5
- Путь данных от антенны до пикселя проходит десяток этапов, и на каждом возможен свой отказ — отсюда лестница диагностики трёх уровней.
- Данные пишутся в лог всегда, даже при живом наблюдении: незаписанное не восстановить.
- Пять принципов честной визуализации: сырьё вместе с обработкой · порог рядом с признаком · классы разными цветами · ground truth поверх всего · не скрывать неудобное.
- Визуализация может вводить в заблуждение без единой ложной цифры.
- Границы метода — обязательная часть решения: система с известными ограничениями полезна, система «которая умеет всё» опасна.
- Цифры порогов из документации — стартовые; истинные снимаются на своей площадке.
Итог модуля RFCurtain. Ученик прошёл полную лестницу: физика зоны Френеля → атомарные данные → признаки → классификатор → измеренное качество → границы применимости.
Это введение в анализ данных и машинное обучение, сделанное на школьном дворе: признаки и пороги выбирал человек, но структура задачи — та же, что у любой современной детекторной системы.
Связь с курсом
| Что родилось на этом уроке | Где станет инструментом |
|---|---|
| Принципы честной визуализации | WarWalk (ловушка heatmap), защиты проектов |
| Конвейер данных | PowerSentry (путь до Grafana) |
| «Назвать границы метода» | Рубрика Б, все конкурсные работы |
| Полная лестница классификации | Выпускной проект |
Чек-лист педагога перед уроком
- Логи турнира с урока 4 сохранены и доступны
- На доске место для полной лестницы модуля
- Подготовлен пример вводящего в заблуждение графика для обсуждения
- Раздаточный лист распечатан
- Заложено время на составление перечня ограничений — это ядро урока