Я работаю над улучшением существующего контролируемого классификатора, чтобы классифицировать последовательности {белка} как принадлежащие к определенному классу (предшественники нейропептидных гормонов) или нет.
Существует около 1150 известных «позитивов» на фоне около 13 миллионов белковых последовательностей («Неизвестный / плохо аннотированный фон») или около 100 000 проверенных релевантных белков, аннотированных различными свойствами (но очень немногие аннотированы явно «негативный» способ).
Моя предыдущая реализация рассматривала это как проблему бинарной классификации: положительный набор = белки, помеченные как нейропептиды. Отрицательный набор: случайная выборка из 1300 образцов (всего) из оставшихся белков примерно одинакового распределения по длине.
Это сработало, но я хочу значительно улучшить дискриминирующие способности машины (в настоящее время она составляет около 83-86% с точки зрения точности, AUC, F1, измеренная с помощью CV, для множества случайно выбранных отрицательных наборов).
Мои мысли заключались в следующем: 1) Сделать это мультиклассовой проблемой, выбрав 2-3 различных класса белка, которые определенно будут отрицательными по своим свойствам / функциональному классу, наряду с (возможно) другим набором случайных выборок. (Приоритетом здесь будут отрицательные наборы, которые по своим характеристикам / признакам аналогичны положительному набору, но при этом имеют определяющие характеристики) 2) Обучение в одном классе - было бы неплохо, но, насколько я понимаю, оно предназначено только для обнаружения аномалий и имеет более низкую производительность, чем дискриминационные подходы.
*) Я слышал об обучении ПУ, которое звучит здорово, но я программист N00b, и я не знаю ни одной из существующих реализаций для него. (В Python / Sci-Kit учиться).
Итак, имеет ли смысл подход 1 в теоретическом POV? Есть ли лучший способ сделать несколько отрицательных множеств? (Я также мог бы просто использовать массивный [50K] набор «отрицательных» белков, но все они очень сильно отличаются друг от друга, поэтому я не знаю, насколько хорошо классификатор будет обрабатывать их как одну большую несбалансированную смесь ). Благодарность!