No description
  • Jupyter Notebook 100%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-07 01:46:47 +03:00
docs Отчёт 2 2026-04-07 01:41:10 +03:00
.gitignore Поменяли датасет, сделали презентацию 2026-03-14 02:33:05 +03:00
lab2_local.ipynb Отчёт 2 2026-04-07 01:41:10 +03:00
lab2_yandex.ipynb Отчёт 2 2026-04-07 01:41:10 +03:00
README.md Обновлён README 2026-04-07 01:44:55 +03:00

BigData: XOR Arbiter PUFs

Репозиторий с лабораторной работой по предмету "Большие данные".
Тема исследования: моделирование XOR Arbiter PUF с помощью логистической регрессии с L1-регуляризацией и анализ интерпретируемости признаков.

Цель работы

Проверить, может ли линейная модель:

  • выявить информативные признаки в данных XOR Arbiter PUF;
  • выделить наиболее важные биты;
  • показать устойчивый отбор признаков при изменении обучающей выборки;
  • дать выигрыш при использовании phi-features по сравнению с raw-признаками.

Дополнительно в работе рассматриваются:

  • зависимость времени обучения от объема данных;
  • зависимость времени обучения от числа вычислителей.

Что находится в репозитории

  • lab2_local.ipynb — основная версия ноутбука для локального запуска.
  • lab2_yandex.ipynb — версия ноутбука для запуска в облачном окружении.
  • final_conclusions.md — итоговые выводы по доработкам и по работе в целом.
  • corrections.md — список замечаний и доработок.
  • dataset/XOR_Arbiter_PUFs — используемый датасет.
  • docs — материалы и вспомогательные документы по теме.

Старые файлы вида lab2_old.ipynb, lab2 copy.ipynb, lab2-Copy1.ipynb являются промежуточными версиями и не считаются основной точкой входа.

Датасет

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

  • 6xor_64bit
  • 5xor_128bit

Каждая строка содержит:

  • входные биты challenge;
  • целевой отклик PUF.

В ноутбуке рассматриваются два представления признаков:

  • raw — исходные биты;
  • phi — преобразованные признаки для проверки линейной моделируемости.

Что делает ноутбук

Основные этапы анализа:

  1. Загрузка и проверка данных.
  2. Подготовка признаков и целевой переменной.
  3. Проверка баланса классов.
  4. Стандартизация данных.
  5. Обучение логистической регрессии с L1-регуляризацией.
  6. Анализ коэффициентов модели и интерпретируемости.
  7. Проверка гипотезы о примерно равномерном влиянии признаков.
  8. Сравнение raw и phi-features.
  9. Анализ стабильности отбора признаков.
  10. Дополнительные эксперименты по времени обучения:
    • от объема данных;
    • от числа вычислителей.

Зависимости

Основные зависимости:

pip install numpy matplotlib scikit-learn threadpoolctl jupyter

Из стандартной библиотеки используются:

  • pathlib
  • collections
  • csv
  • time
  • contextlib

Как запустить

  1. Создать и активировать виртуальное окружение.
  2. Установить зависимости.
  3. Открыть Jupyter:
jupyter notebook
  1. Запустить один из ноутбуков:
  • lab2_local.ipynb — если работа идет локально;
  • lab2_yandex.ipynb — если работа идет в облаке.
  1. Выполнять ячейки сверху вниз.

Структура результатов

Ноутбук оформлен в логике требований преподавателя:

  1. Процесс анализа.
  2. Настройки и преобразования данных.
  3. Настройки функций.
  4. Настройки алгоритма.
  5. Построение моделей: время от объема данных.
  6. Построение моделей: время от числа вычислителей.
  7. Построенные модели и их оценки.
  8. Выводы.

Основные результаты

По итогам текущего анализа:

  • качество модели оказалось близким к случайному:
    • Accuracy ≈ 0.5
    • ROC-AUC ≈ 0.5
    • LogLoss ≈ 0.693
  • L1-регуляризация не выделила небольшой набор доминирующих признаков;
  • коэффициенты модели не показывают выраженно важных битов;
  • различия между raw и phi-features оказались несущественными;
  • устойчивость отбора признаков с ростом выборки повышается, но остается ограниченной;
  • увеличение числа вычислителей не дало заметного выигрыша по времени в выбранной постановке.

Итоговый вывод: выбранная линейная модель не выявила сильной и надежной структуры в данных XOR Arbiter PUF, что согласуется с высокой сложностью моделирования такого типа PUF.

Где смотреть итоговые выводы

Краткий итог по исследованию вынесен в:

Примечание

Основной исследовательский результат в этом проекте — не производительность, а интерпретируемость модели, сравнение представлений признаков и устойчивость отбора признаков.