Обсуждение статьи "Гауссовcкие процессы в машинном обучении (Часть 1): Модель классификации в MQL5"

 

Опубликована статья Гауссовcкие процессы в машинном обучении (Часть 1): Модель классификации в MQL5:

В данной статье мы рассмотрим модель классификации гауссовских процессов. Мы начнём с изучения её теоретических принципов, а затем перейдём к практической разработке библиотеки ГП на MQL5.

Продолжаем наше знакомство с моделью машинного обучения — гауссовскими процессами (ГП). В предыдущей статье мы детально разобрали задачу регрессии, где основной целью было предсказание непрерывных значений. Сегодня нам предстоит разобраться с гораздо более сложной темой — классификацией. Её основная трудность заключается в том, что процесс вывода (inference) для классификации в гауссовских процессах не имеет аналитического решения, что требует применения приближенных методов, таких как аппроксимация Лапласа.

Для эффективного решения этой сложной задачи мы разработаем модульную библиотеку гауссовских процессов на MQL5. Такой подход позволит нам структурировать код, разделив модель ГП на независимые компоненты, и предоставит прочную основу для дальнейших улучшений и расширений. Эта библиотека станет универсальным инструментом как для задач регрессии, так и классификации.

В этой первой части статьи мы подробно разберём теорию классификации ГП, включая математику, лежащую в основе приближённых методов. Мы также представим главный класс библиотеки — GaussianProcess, который объединит все компоненты модели, и класс GPOptimizationObjective, отвечающий за связь с библиотекой оптимизации Alglib.

Автор: Evgeniy Chernish

 

Подробно еще не вчитывался, но видимо уже что-то пропустил.

В отличие от таких методов, как ... деревья решений, которые выдают только метку класса, ГП позволяют получить вероятностное предсказание.

ИМХО, деревья прекрасно выдают вероятность класса.

Для классификации, где цели — дискретные метки классов, гауссово правдоподобие не подходит.

Вроде как "деревянные" алгоритмы классификации переводят вероятности в непрерывные величины "logodds" и тогда классификация фактически сводится к задаче регрессии по этим непрерывным значениям logodds. Почему нельзя применить сие к гауссовскому правдоподобию, чем бы оно ни было? К сожалению, не нашел такого термина, нигде кроме питонского мануала, но знаю гауссовское распределение, гауссовскую смесь, максимальное правдоподобие, expectation maximization ;-).

 
Stanislav Korotky #:

Подробно еще не вчитывался, но видимо уже что-то пропустил.

ИМХО, деревья прекрасно выдают вероятность класса.

Вроде как "деревянные" алгоритмы классификации переводят вероятности в непрерывные величины "logodds" и тогда классификация фактически сводится к задаче регрессии по этим непрерывным значениям logodds. Почему нельзя применить сие к гауссовскому правдоподобию, чем бы оно ни было? К сожалению, не нашел такого термина, нигде кроме питонского мануала, но знаю гауссовское распределение, гауссовскую смесь, максимальное правдоподобие, expectation maximization ;-).

День добрый! 

Действительно, посмотрел на scikit-learn, деревья выдают вероятность класса. Почему то думал, что вероятность выдают только ансамблевые методы. Что же,  век живи, век учись, дураком помрешь как говорится.

Теперь по гауссовскому правдоподобию и почему оно не подходит к задаче классификации.

Гауссовское правдоподобие - это плотность вероятности нормального распределения при условии математического ожидания и дисперсии. Роль математического ожидания у нас в ГП играет скрытая функция f, а дисперсия - это фактически истинный шум данных. 

В чем отличие правдоподобия от обычной плотности вероятности? В обычной плотности вероятности мы подставляем какие-то значения y при фиксированных значениях параметров и получаем вероятность этого y.

В правдоподобии наоборот. Наше y фиксировано, а меняются параметры распределения. То есть правдоподобие это функция параметров. Например правдоподобие говорит нам,  что при параметрах 0.2 и 1 вероятность нашей наблюдаемой траектории y = 0,06. А при  0.8 и 1.2 вероятность наблюдать y = 0.12 То есть мы видим, что второй набор параметров правдоподобнее описывает те эмпирические данные с которыми мы имеем дело. Отсюда и название "правдоподобие". 

Теперь почему мы не можем взять "logodds" и применить к гауссовскому правдоподобию. Гауссовское правдоподобие предполагает, что наблюдаемые данные y подчиняются нормальному распределению. То есть, что y это непрерывные значения. 

В модели ГП для классификации, скрытую функция f(x) можно интерпретировать как "logodds". Но мы эту функцию предсказываем, а не наблюдаем. Наблюдаем же мы дискретные метки y.  А гауссовское правдоподобие применяется именно к наблюдаемым данным. А наблюдаемые данные у нас  дискретны. И поэтому они распределены в бинарном случае по закону Бернулли. 

Для задачи классификации  правдоподобие должно описывать вероятность дискретных меток, поэтому здесь естественно выбрать как раз логит правдоподобие. 

 
Very good article.I look forward to your future Gaussian Process series.