
Информатика: создаём своего цифрового помощника Урок 64 из 72
Признаки, метки и честный набор данных
Мы хотим научить помощника различать учебные задачи.
Где мы на карте
Урок 64 из 72. Блок «ИИ и выпуск проекта» (63–72). Помощник сохраняет прежние правила напоминания и локальную базу; новая функция только предлагает категорию задачи и допускает отказ.
Ситуация и вопрос
Мы хотим научить помощника различать учебные задачи. Если в примерах все математические записи содержат слово «математика», модель может выучить только это слово и провалиться на «дробях». Поэтому смотрим на происхождение и разнообразие данных.
Новые слова без пропусков
Признак — измеримое свойство входа: слова в заголовке. Метка — правильная категория, указанная человеком для примера. Набор данных — таблица примеров с понятными правилами сбора. Разделение train/test оставляет часть строк для независимой проверки; нельзя обучать на тестовых строках. Утечка данных возникает, когда ответ из проверки заранее попадает в обучение.
Опорный сигнал
Прочитайте три клетки схемы слева направо, затем закройте третью. Назовите вход и действие в каждой клетке; предскажите, чем закончится путь и какой наблюдаемый факт подтвердит ответ. Сравните рисунок с файлом проекта или контрольным примером. Если число на схеме не получается из данных, исправьте схему, а не данные под красивую картинку.
Разбираем шаг за шагом
Откройте labelled_tasks.csv: в нём 16 вымышленных строк, 12 train и 4 test; имён, оценок и чужих сообщений нет. Укажите у строки Кітап оқу,reading,train вход, метку и раздел. Проверьте, что строки Кітап туралы жазу нет среди обучающих. Сравните слова на казахском и английском: модель не переведёт их автоматически; ей нужны примеры каждого языка.
Предскажите и проверьте
Запишите ожидаемый вывод до запуска кода. Выполните его в указанной папке step-06 или step-07, сравните результат символ за символом и объясните каждую строку. Затем измените один безопасный вымышленный вход и повторите цикл «предсказать — запустить — изменить — объяснить — проверить». Наблюдение на маленьком наборе не превращайте в обещание для реальных людей.
from classifier import read_examples
rows = read_examples("labelled_tasks.csv")
print(sum(r["split"] == "train" for r in rows), sum(r["split"] == "test" for r in rows))
Ожидаемый вывод
12 4
Поймайте ошибку
Метка может быть ошибочной или спорной. Повтор одной и той же задачи в train и test создаёт слишком красивую оценку. Четыре контрольные строки не позволяют обещать качество для всех учащихся.
Изменение проекта
В проекте 2.1 сохраняются база, отчёт, напоминания и резервирование. Файл labelled_tasks.csv содержит только вымышленные примеры. classifier.py выдаёт совет math, reading или review, но не записывает решение в базу. Каждый вывод модели сравнивается с отложенными примерами и пересматривается человеком.
Задание и доказательство
Добавьте на бумаге два вымышленных заголовка — один понятный, другой двусмысленный. Поставьте метки, объясните выбор и решите, какие два примера оставить только для проверки.
Перенос в новую ситуацию
Модель сортирует библиотечные книги по названию. Что произойдёт с книгой на языке, которого нет в примерах?
Возврат через 1, 7 и 30 дней
Через 1 день нарисуйте схему по памяти и найдите в ней одну границу применения. Через 7 дней объясните её товарищу, не читая урок, и решите 7 из 10 вопросов блока; ошибочные ответы разберите на конкретных входах. Через 30 дней откройте свежую копию проекта, воспроизведите проверку и перенесите принцип в новый пример. Сохраните свой протокол с входом, ожидаемым и фактическим результатом.
Первоисточник для проверки
Следующий урок
Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом
Комментарии (0)
Войдите, чтобы оставить комментарий →
Пока нет комментариев. Будьте первым.