文章 "神经网络变得轻松(第十七部分):降低维度"

 

新文章 神经网络变得轻松(第十七部分):降低维度已发布:

在本部分中,我们将继续讨论人工智能模型。 即,我们研究无监督学习算法。 我们已经讨论了众多聚类算法之一。 在本文中,我将分享一种解决与降维相关问题的方法。

主成分分析是由英国数学家卡尔·皮尔逊(Karl Pearson)于 1901 年发明的。 自那时起,它已成功地应用于众多科学领域。

为了理解该方法的本质,我建议拿一项简单任务来示范,譬如有关将二维数据数组降维成向量。 从几何意义上来讲,这可以表示为平面上的点在直线上的投影。

在下图中,初始数据用蓝点表示。 有两个投影分别位于橙色和灰色线条上,并带有相应颜色的点。 如您所见,从初始点到其橙色投影的平均距离小于其到灰色投影的距离。 灰色投影存在重叠的点投影。 因此,橙色投影更为可取,因为它把所有单独的点分离,并且在降维(从点到其投影的距离)时丢失的数据更少。

这样一条线称为主成分。 这就是为什么该方法被称为主成分分析法

从数学角度来看,每个主成分都是一个数值向量,其大小等于原始数据的维度。 描述一个系统的原始数据向量,与相应的主成分向量的乘积,在直线上生成所分析状态的投影点。

取决于原始数据的维度和降维需求,可以有若干主成分,但不可超过原始数据维度。 渲染容积投影时,它们将有三个。 压缩数据时,允许的误差通常为至多丧失数据 1%。

主成分方法

直观上看,这类似于线性回归。 但这些是完全不同的方法,它们产生不同的结果。

作者:Dmitriy Gizlyk

 

Ещё одна область использования методов понижения размерности — это визуализация данных. К примеру, у Вас есть данные описания состояний некой системы, представленные 10 параметрами. И Вам необходимо найти способ визуализировать эти данные. Для восприятия человеком наиболее предпочтительными являются 2-х и 3-мерные изображения. Конечно, можно сделать несколько слайдов с различными вариациями 2-3 параметров. Но это не даст полного представления о картине состояний системы. И в большинстве случаев различные состояния в различных слайдах будут сливаться в 1-ну точку. И не всегда это будут одни и те же состояния.

因此,我们希望找到这样一种算法,它能帮助我们将系统的所有状态从 10 个参数转换到 2 维或 3 维空间。与此同时,它还能在尽可能保留系统状态相互位置的前提下,对它们进行分割。当然,还要尽量减少信息损失。

德米特里,谢谢你的文章!

读完这几句话,我立刻想起了分析优化结果的 过程,当时我看着三维图形,依次改变每个轴的参数。毕竟,我不仅想看到某个参数的最佳值,还想看到它对其他参数的影响。

在这种情况下,主成分方法会有帮助吗?降维后的图表会是怎样的?如何从中提取每个点上的这个或那个参数值?

 
Andrey Khatimlianskii 优化结果的 过程,当时我看着三维图,依次改变每个轴的参数。毕竟,你不仅要看到某个参数的最佳值,还要看到它对其他参数的影响。

在这种情况下,主成分方法会有帮助吗?降维后的图形会是怎样的?如何从中提取每个点上的这个或那个参数值?

如果是明确的轴线位置(当轴线位置可以明确确定时),是的,会有帮助;如果有多个位置变体,且数值接近,那么首先计算的结果将是轴线方向,但这并不总是正确的。一般来说,降维对均匀分布不起作用。

ZY,这篇文章值得称赞,作者值得尊敬。
 
Valeriy Yastremskiy #:

如果轴的位置明确(可以明确确定),是的,它会有帮助,但如果位置有几种变体,且数值接近,首先计算的结果将是轴的方向,这并不总是正确的。一般来说,降维对均匀分布不起作用。

显然,你需要深入研究才能理解答案。

策略参数位于坐标轴上,它们可以有非常不同的值,可以相关,也可以独立。我想分析一个图表,同时查看所有关系。

 

如果你没有意识到 "降维 "在大多数情况下只能在 "样本 "中起作用,那么它很快就会把你逼到二维的角落里:)

但这篇文章在将 PCA 移植到 MQL 方面很酷,尽管它是在 alglib 中进行的。
 
Andrey Khatimlianskii #:

显然,你必须切入主题才能理解答案。

策略参数位于坐标轴上,它们可以有非常不同的值,可以相互关联,也可以相互独立。我想分析一张图表,同时查看所有关系。

不,PCA 不会一次性给出所有相关性,只会给出平均值。它会突出最强的相关性。如果长期结果不依赖于参数,即恒定不变,那么 PCA 将无济于事。如果参数对结果的影响是阶梯式或波浪式恒定的,PCA 也不会有帮助,当然,除非分析是在一个波/阶内进行的)。

 
Maxim Dmitrievsky #:

如果你没有意识到 "降维 "在大多数情况下只能在 "样本 "中起作用,那么它很快就会把你逼入二维的死胡同:)

但这篇文章在将 PCA 移植到 MQL 方面很酷,尽管它是在 alglib 中进行的。

您可以查看趋势))))

 
Andrey Khatimlianskii 优化结果的 过程,当时我看着三维图,依次改变每个轴的参数。毕竟,你不仅要看到某个参数的最佳值,还要看到它对其他参数的影响。

在这种情况下,主成分方法会有帮助吗?降维后的图形会是怎样的?如何从中提取每个点上的这个或那个参数值?

安德鲁,第一个帖子中的图表可以解释这种情况。通过 PCA,我们将维度降为单线。也就是说,从 2 个坐标乘以降维向量,我们得到一个值--从 "0 "到橙色直线上的点的距离。将这个距离乘以转置的降维矩阵,我们就得到了这个点在二维空间中的坐标。当然,这样做得到的直线上的点会与真实点有一定偏差。因此,对于还原空间中的每个点,我们都可以得到原始空间中的坐标。但与原始数据存在一定误差。

 
Dmitriy Gizlyk #:

安德鲁,第一个帖子中的图表可以解释这种情况。通过 PCA,我们将维度降低到一条线上。也就是说,从 2 个坐标乘以降维向量,我们得到一个值--从 "0 "到橙色直线上的点的距离。将这个距离乘以转置的降维矩阵,我们就得到了这个点在二维空间中的坐标。当然,这样做得到的直线上的点会与真实点有一定偏差。因此,对于还原空间中的每个点,我们都可以得到原始空间中的坐标。但与原始数据存在一定误差。

感谢您的解答。

如果 X 轴是参数值,Y 轴是资金运行结果,那么变换后会丢失很多信息。

最不清楚的是,这在三维图表上会是什么样子。如何降低维度?

4d 呢?结果会怎样?

可能需要很好的想象力或对所有过程的深刻理解 )

 
Andrey Khatimlianskii #:

谢谢您的答复。

如果 X 轴是参数值,Y 轴是资金运行结果,那么转换后会丢失很多信息。

最不清楚的是,在 3D 图表上看起来会是什么样子。如何降低维度?

4d 呢?结果会怎样?

我想你需要有很好的想象力,或者对所有过程有深刻的理解 )

这只是一个简化的例子,当然,当我们有 2 个参数和一个结果时,就不太需要这种方法了。当参数超过 5 个时,就会出现可视化问题。4 个参数可以用视频来表示(一个参数是时间),3 个参数是体积图像。体积图像中的结果、密度或颜色

来自维基的解释也不错

主成分分析问题的正式表述

主成分分析问题至少有四个基本版本:

  • 维度的线性流形近似 数据
  • 正交投影 中找到维度较低的子空间,在该子空间,数据散度(即平均值标准偏差)达到最大;
  • 在正交投影中找到点间有效值距离最大的低维子空间;
  • 对于给定的多维随机变量,构建这样一种坐标的正交变换,从而使各个坐标 之间的 相关性 变为零。
 
一直听说神经元是人工智能的未来。