Репозиторий GitHub:https://github.com/charitarthchugh/PulsarIdentification
Чтобы узнать о пульсарах, посмотрите эти два видео (всего 4 минуты):
https://www.youtube.com/watch?v=gjLk_72V9Bw — Космический центр имени Годдарда НАСА.
https://www.youtube.com/watch?v=bKkh7viXjqs — Астрономейт
Я настоятельно рекомендую вам прочитать этот пост:
https://as595.github.io/classification/
Выполнение
В этом проекте я решил создать очень простую модель логистической регрессии (без ResNet), которая классифицирует пульсары.
Самый простой способ сделать это — добавить этот набор данных на Kaggle в свой блокнот. Посмотрите, как добавить источники данных здесь, на Kaggle.
В противном случае я создал крошечный скрипт, который сделает это за вас, если вы работаете локально или с другими поставщиками ноутбуков Jupyter (например, Google Colab или Binder).
Теперь мы можем разделить набор данных на обучение и проверку (в конце концов, это контролируемая модель).
Я даю вам возможность использовать графический процессор, но я не рекомендую этого делать, так как он вам не нужен.
Здесь я решил использовать простую нейронную сеть с прямой связью, так как при тестировании она смогла достичь действительно хороших потерь при проверке и точности.
- В наборе данных есть 8 входов и один выход.
- Вывод по существу является логическим значением
Выбор:
- Максимум 16 внутренних нейронов в слое — лучше, чем 100 нейронов.
- Два скрытых слоя
- 10 эпох
- Адам Оптимизатор
- Политика одного цикла
- Отсечение градиента (.1)
- Распад веса (1e-4)
- Максимальная скорость обучения 0,1
Я применяю политику одного цикла. Также я добавил небольшой индикатор выполнения с помощью tqdm.
Обучите модель
history = [evaluate(model, val_dl)] print(history)
занимает ~6 секунд
Графики
Кредиты и цитаты
Р. Дж. Лайон, Б. В. Стэпперс, С. Купер, Дж. М. Брук, Дж. Д. Ноулз, Пятьдесят лет отбора кандидатов в пульсары: от простых фильтров к новому принципиальному подходу к классификации в реальном времени, Ежемесячные уведомления Королевского астрономического общества 459 (1), 1104– 1123, DOI: 10.1093/mnras/stw656
Ссылки
- Вы можете использовать набор данных образ под названием HTRU1 для достижения тех же результатов (он также имеет большее количество точек входа — 60 000).
- Более простой способ реализовать это — использовать SKLearn. Это также позволит вам легко использовать KNN и SVN (и другие модели классификаторов). Посмотрите на этот потрясающий набор данных на Kaggle.
Первоначально опубликовано наhttps://charitarthchugh.github.io/PulsarIdentification/