Машинное обучение для астронома: random forest для науки
Здравствуйте, меня зовут Александра и я астрофизик. В прошлом году я закончила курс «Аналитик данных» в Нетологии. На диплом решила не брать никаких бизнесовых кейсов, только наука. Так родилась работа, посвящённая классификации галактик с помощью одного из методов машинного обучения — random forest. О том, как выглядел мой диплом и какие физические принципы заложены в его работу, я расскажу под катом.
Использование машинного обучения в анализе данных актуально не только для индустрии и бизнеса, но и для науки. Ежедневно выходят десятки статей с упоминанием machine learning в абстракте. Количество статей с использованием машинного обучения в астрономии резко выросло за последние 10 лет.
Это статистика количества статей с упоминанием словосочетания machine learning в абстракте на сайте ADS, который является библиотекой для исследователей в области астрономии и астрофизики. В ADS хранятся библиографические коллекции, содержащие более 15 миллионов записей, охватывающих публикации по астрономии и астрофизике, физике и естествознанию, включая все препринты с сайта arXiv, на который астрономы выкладывают практически все свои работы.
Однако с машинным обучением в науке есть множество нюансов, которые нужно учитывать, чтобы данные на выходе были адекватны окружающей нас Вселенной. Поэтому нельзя просто так взять и обучить нейросетку в астрономии, нужно понимать, какая физика за этим будет стоять, иначе наоткрывать можно на целую Нобелевку, правда, коллеги почему-то будут смеяться.
Нельзя
Фотометрия
Фотометрия — это наука об измерении света. Фотометрия в астрономии — об измерении света от небесных объектов — планет, астероидов, звёзд, галактик и так далее.
Когда мы занимаемся фотометрией, мы снимаем прямое изображение объектов, как если бы просто делали это на камеру смартфона. Но обязательно в фильтрах, которые отрежут нам большую часть спектра. И со множеством калибровок, с помощью которых мы сможем превратить фотографию в научные данные. Из калибровок нам нужны байсы, которые учтут нулевой фон считывания камеры, флэты, которые исправлят кривизну поля, и дарки — для учёта горячих пикселей и тепловых шумов камеры.
Фильтры бывают широкополосные, среднеполосные и узкополосные. Делятся они условно. Мы использовали в работе данные среднеполосных фильтров, которые у нас шириной 250 ангстрем, и один широкополосный — 338 ангстрем.
На картинке показан полный набор фильтров на телескопе, на котором были получены данные. Но из широкополосных фильтров — это те, которые подписаны — мы использовали только u SDSS.
Получив на телескопе весь необходимый набор снимков, сначала мы проводим предварительную редукцию, то есть подготовку и вычитание среднего уровня электронного ноля, вычитание среднего уровня темнового тока, коррекцию за плоское поле, учёт вклада фринговой составляющей в красных диапазонах, чистку космических частиц, оценку качества изображений и так далее.
После предварительной редукции данных все снимки для каждого фильтра приводятся к единой системе координат, делаются оценки качества изображений. Снимки с плохим качеством изображений отбрасываются, после чего производится сложение снимков с приведением к экспозиции 1 секунда. Суммарные снимки поля в разных фильтрах приводятся к единой системе координат. Далее следует непосредственная фотометрия. Находим в кадре объекты и считаем пришедшие фотоны. На самом деле на кадре мы, конечно, считаем электроны, но они легко переводятся в фотоны.
Так выглядят выделенные на кадре объекты. Здесь показана фотометрия в так называемых кроновских апертурах, их удобно использовать для протяжённых объектов по типу галактик, чтобы собрать весь свет от объекта. Кроме фотометрии в кроновских апертурах существуют ещё альтернативы в виде фотометрии в фиксированных апертурах и psf-фотометрии (point spred function — функция рассеяния точки).
Почти спектры
После этапа фотометрии у нас есть для каждого объекта в поле набор из значений его излучения в каждом фильтре. Из этих данных мы можем получить для каждого объекта SED — spectral energy distribution, спектральное распределение энергии. Это спектр объектов, но с очень низким разрешением, которое соответствует ширине фильтров — 250 ангстрем в нашем случае.
Удивительно, но даже на SED весьма хорошо видны спектральные особенности объектов, такие как линии излучения и поглощения, а также скачки. Поэтому мы можем классифицировать галактики, оценивать их физические параметры.
Тут приведены несколько спектров и SEDов галактик, которые попали к нам в выборку и для которых есть спектры с хорошим разрешением из обзора SDSS (Sloan Sky Digital Survey). Видно, что в среднеполосных фильтрах, которые обозначены цветными точками, хорошо прописываются яркие особенности спектров.
Красная и синяя таблетка галактика
Уже первые наблюдения галактик позволили Э. Хабблу в 1926 году создать их морфологическую классификацию. Хаббловская классификация носит имя камертона или вилки и включает следующие типы галактик:
эллиптические от Е0 (практически сферические) до Е7 (эллипсоидальные с наибольшей степенью сжатия)
линзовидные галактики S0 (ядра, окружённые дискообразной структурой без рукавов)
спиральные галактики, которые начинаются типом Sa (рукава плотно закручены вокруг ядра) до Sc (рукава широко раскинуты)
для обозначения наличия бара у галактики используется буква B — barred, неправильные (Ir)
Схема классификации галактик по Хабблу 1936 года, так называемая вилка или камертон Хаббла. Иллюстрация взята из учебника О.К. Сильченко «Происхождение и эволюция галактик»
Дальнейшее изучение физических свойств галактик привело к более точной бимодальной классификации. Популяция галактик бимодальна как по цвету, так и по морфологии, и эти два показателя сильно коррелируют: большинство голубых галактик относятся к поздним типам, дисковым галактикам со звездообразованием (спирали), а большинство ранних типов, обычно эллиптических, являются красными.
Фотометрическая классификация галактик
Классифицировать галактики по внешним признакам — это, конечно, хорошо, но больше похоже на зоологию, чем на физику. И не совсем понятно, что же делать с галактиками, расстояние до которых не позволяет увидеть их структуру?
История фотометрической классификации галактик берет начало в 1962 году, когда Баум разработал метод для измерения красных смещений по фотометрическим данным. Он использовал данные в 9 спектральных полосах оптической части спектра, захватывая ИК. Объектами его первых наблюдений стали 6 ярких эллиптических галактик из скопления Девы, для которых он построил SEDы. Затем он изучил ещё 3 эллиптические галактики в скоплении Abell 0801. По полученным данным Бауму удалось измерить красное смещение скопления галактик Abell 0801 z = 0.19. Это значение оказалось очень близко к спектральной оценке z = 0.192. Успех эксперимента позволил расширить метод на более далёкие скопления галактик, наиболее удалённое из которых оказалось на z = 0.46. Однако метод имел существенное ограничение, которое позволяло применять его только к галактикам ранних типов, поскольку при определении красного смещения использовалась только одна спектральная особенность — скачок в спектре галактике на длине волны 4000 ангстрем в системе покоя.
В 1985 году появилась работа, в которой астрономы определяли не только красное смещение, но и тип галактики. Причём в этой работе были использованы фотопластиноки вместо фотометра, который использовал ранее Баум — он мог наблюдать только один объект за один раз. Это позволило измерить красные смещения сразу для всех объектов, попавших в поле зрения.
Так выглядят галактики из работы Ку, в которой впервые была проведена фотометрическая классификация галактик.
В 90-е годы произошёл новый всплеск интереса к фотометрическим методам классификации, в частности методам нахождения кандидатов в далёкие объекты. Стали активно развиваться методы, позволяющие наиболее достоверно проводить классификацию.
В конце 90-х годов стартовал очень крупный обзорный проект Sloan Digital Sky Survey (SDSS), который продолжается до сих пор. В ходе работы проекта было проведено картографирование более 35% небесной сферы с фотометрическими наблюдениями порядка 500 миллионов объектов в 5 фильтрах и получением спектров более чем для 3 миллионов объектов.
Яркая спиральная галактика M51 и её более слабый спутник, снятые в ходе обзора SDSS.
Потом в 90-е было нескольких работ разных учёных (Lanzetta et al., 1996; Connoly et al., 1997; Fernandes-Soto et al,1999), после которых многополосная фотометрия получила всеобщее признание как метод, позволяющий исследовать все объекты, видимые в поле зрения телескопа, и с приемлемой точностью определять их тип, фотометрические красные смещения, делать оценки их физических параметров. Такая методика наблюдений является промежуточной между многоцветной фотометрией и многощелевыми наблюдениями.
Как мы галактики деревьями различали
А теперь перейдём непосредственно к диплому. У нас имелся размеченный набор данных, в который состоял из фотометрических данных для 19,875 галактик и квазаров. Квазары — это самые яркие объекты во Вселенной, по сути, это тоже галактики. Зачем мы их добавили? Затем, что это уникальные объекты, которые интересно находить и изучать. Поэтому целью машинного обучения мы выбрали не только определение типа объектов, но и получение списка уникальных объектов, не поддающихся классификации, которые могли бы быть изучены в дальнейшем более детально.
Таблица с данными включала в себя звёздные величины во всех среднеполосных фильтрах и фильтре u sdss, а также класс «объекты», который был получен с помощью SED-fitting. Этот алгоритм оценивает тип галактик с помощью шаблонов спектров и критерия хи-квадрат, то есть находит самое похожее из имеющегося набора.
Для некоторых объектов не было значений в колонках с фильтрами из-за того, что от объекта может идти слишком слабый поток излучения. Поэтому мы попробовали заполнять отсутствующие значения как среднее значение в фильтре для соответствующего класса объектов, а также сделали вариант работы алгоритма без заполнения отсутствующих значений.
Так выглядят данные фотометрии и классификации галактик
Вряд ли я могу придумать какие-то новые слова, посвящённые Random forest. Поэтому кратко — этот алгоритм удачно подходит к задачам классификации больших объёмов плохо структурированных данных, как у нас, а состоит он из множества решающих деревьев, которые классифицируют путём большинства голосов. Ну и, конечно, ссылка на классическую статью.
В своей работе мы делили галактики на эллиптические, линзовидные, спиральные двух типов, галактики со вспышкой звездообразования трёх видов и квазары. В ходе исследования для простоты представления результатов объединяли на графиках эллиптические и линзовидные, и отдельно все типы галактик со звездообразованием. Естественно, что галактик было неравное количество, и это приходилось учитывать в работе алгоритмов. Красных галактик вообще не то чтобы много — примерно 20% от общего числа.
Распределение галактик по типам, квазаров досыпали в выборку позже, отдельно
Начальная оценка точности определения типа объектов составила около 69%, для первой итерации были использованы только данные без пропущенных значений. Для этого пришлось удалить почти половину объектов 8,000 из 19,000.
После этого мы добавили данные с пропущенными значениями, жить стало веселее, а точность возросла до 74%.
Далее оценили важность вклада каждого из фильтров. Это было интересно ещё и потому, что если вклад фильтра ничтожен, то его можно не снимать и экономить телескопное время.
Получилось, что самые важные фильтры расположены на концах диапазона. В целом это физично — цвет, то есть разница величин, в этих фильтрах помогает понять, какого цвета галактика. Но вот отказаться от наблюдений хотя бы в одном фильтре всё равно не получилось.
Далее стандартно поработали с Random Hyperparameter Grid и Grid Search with Cross Validation. На шаге с Random Hyperparameter Grid на широкой сетке параметров нашли наиболее удачные, а потом конкретизировали их на частой сетке. Варьировали все параметры: число деревьев, число признаков для выбора расщепления; минимальное число объектов, при котором выполняется расщепление; ограничение на число объектов в листьях; максимальная глубина деревьев; критерий расщепления. Ну, а как, если ты учишься, интереснее всего дёргать за ниточки и смотреть, что получается.
В итоге получили точность предсказания типа около 82%, что в целом, учитывая сложность данных, не так уж и плохо. Остались проблемы с определением квазаров. Как видно на рисунке ниже, многие из них скатываются в звёздобразующие галактики. Оно и понятно — и там и там возникают яркие эмиссионные линии, которые сложно различить, если использовать только среднеполосную фотометрию.
На рисунке показана плотность вероятности определения каждого типа объекта. Видно, что квазары любят притворяться звёздообразующими галактикамиА тут показан весь наш путь улучшения работы алгоритмов, функция кумулятивна на каждом шаге, если всё делать правильно, потому что если шаг уменьшает точность предсказания, то зачем он вам?
Вот так выглядел мой дипломный проект к курсу «Аналитик данных». В планах — добрать в данные ещё фотометрии в различных фильтрах и посмотреть, что будет, поскольку есть соображения, что фильтры за пределами оптического диапазона должны давать неплохой вклад в точность. А может, вы крутой специалист в машинном обучении и сможете дать пару советов в комментариях?
Снимок галактики, сделанный на телескопе БТА в 80-е годы
Хочу поблагодарить куратора своего диплома — Олега Булыгина, который не только прекрасно вёл свой курс по Python в анализе данных, но и вникал в астрономические нюансы, чтобы диплом получился максимально жизнеспособным. Я всё ещё надеюсь, что когда-нибудь у меня хватит времени, и я оформлю код диплома в статью.