文章 "机器学习中的高斯过程(第一部分):MQL5 中的分类模型"

 

新文章 机器学习中的高斯过程(第一部分):MQL5 中的分类模型已发布:

本文探讨了高斯过程的分类模型。我们将首先研究其理论原理,然后转向 MQL5 中 GP(高斯过程)库的实际开发。

我们将继续了解机器学习模型 — 高斯过程(GP)。在上一篇文章中,我们详细探讨了回归问题,其主要目标是预测连续值。而今天,我们要面对一个更为复杂的话题 — 分类。其主要难点在于,高斯过程中的分类推理没有解析解,需要使用拉普拉斯近似等近似方法。

为了有效解决这一复杂问题,我们将在 MQL5 中开发一个高斯过程的模块化库。这种方法可以通过将 GP 模型拆分为彼此独立的组件来更好地组织代码,并为进一步的改进和扩展提供坚实的基础。该库将成为回归和分类任务的通用工具。

在本文的第一部分,我们将详细探讨 GP 分类理论,包括近似方法背后的数学原理。我们还将介绍库中的主要类 — GaussianProcess,它将模型的所有组件统一起来,以及负责与 Alglib 优化库通信的 GPOptimizationObjective 类。


作者:Evgeniy Chernish

 

虽然还没仔细读过,但看来已经漏看了些内容。

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

就我个人而言,决策树在预测类别的概率方面表现得非常出色。

对于目标为离散类标签的分类任务,高斯似然并不适用。

似乎“树状”分类算法会将概率转换为连续量“logodds”,此时分类实际上就归结为基于这些连续的logodds值的回归问题。 无论高斯似然究竟是什么,为什么不能将其应用于此呢? 遗憾的是,除了Python手册之外,我没在别处找到这个术语,但我了解高斯分布、高斯混合分布、最大似然法以及期望最大化法 ;-)。

 
Stanislav Korotky #:

虽然还没仔细读过,但看来已经漏掉了某些内容。

就我个人而言,决策树能很好地反映类别的概率。

似乎“树状”分类算法会将概率转换为连续变量“logodds”,此时分类实际上就归结为基于这些连续的logodds值的回归问题。 为什么不能将此方法应用于高斯似然(无论它具体指什么)呢? 遗憾的是,除了Python手册之外,我没在其他地方找到这个术语,但我了解高斯分布、高斯混合分布、最大似然法以及期望最大化法(EM) ;-)。

大家好!

确实,我查了一下 scikit-learn,发现决策树会输出类别的概率。不知为何,我原以为只有集成学习方法才会输出概率。唉,活到老,学到老,正如俗话所说,不学无止境。

现在来谈谈高斯似然及其为何不适用于分类任务。

高斯似然是正态分布在给定期望值和方差条件下的概率密度。在高斯似然中,期望值由隐藏函数 f 体现,而方差实际上就是数据的真实噪声。

似然与普通概率密度有何区别?在普通概率密度中,我们将在参数值固定的情况下代入某个值 y,从而得到该y 的 概率。

而在似然中则恰恰相反。 我们的y 是固定的,而分布参数在变化。也就是说,似然是参数的函数。例如,似然告诉我们,当参数为 0.2 和 1 时,观测轨迹y= 0.06 的概率。 而在参数为0.8和1.2时,观测到y= 0.12的概率为0.12。也就是说,我们可以看到,第二组参数更能合理地描述我们所处理的这些经验数据。由此得名“似然”。

那么,为什么我们不能直接将“logodds”应用于高斯似然呢?高斯似然假设观测数据y 服从正态分布。也就是说,y 是一系列连续值。

在用于分类的GP模型中,隐函数f(x)可以解释为“logodds”。但我们预测的是这个函数,而不是观测它。 而我们观测到的却是离散标签y。高斯似然函数正是应用于观测数据的。而我们的 观测数据 离散的。因此,在二分类情况下,它们服从伯努利分布。

对于分类问题,似然函数应描述离散标签出现的概率,因此在此自然应选择对数似然(log-odds)。

 
这是一篇非常好的文章。我期待您今后关于高斯过程的系列文章。