今天读到“不同于以往基于微分的优化思路,基于差分的零阶优化算法更加适合于处理非连续的数据类型,像化学分子的SMILES表示或者多肽的序列表示就是这样的类型。”
特此记录下来
一、连续的数据类型
连续数据类型指的是在其值域内可以任意细分,并且每个细分之间都有无数个可取的值的数据。这类数据可以进行常规的数学微分操作,并适合于使用基于梯度的优化技术。连续数据在其范围内没有突然的跳跃或中断,而是平滑变化的。
以下是一些连续数据类型的例子:
-
实数:像温度、身高、体重这样的测量值都是连续的,因为它们可以取到任何实数值。
-
时间:时间可以被认为是连续的,因为它可以被无限地细分,例如小时、分钟、秒、毫秒等。
-
图像像素值:在数字图像中,每个像素的亮度或颜色值通常是一个连续的值,范围在0到255之间(对于8位图像)。
-
声音振幅:在声音波形中,声音的振幅随时间连续变化。
-
金融市场价格:如股票、外汇或商品的价格,这些价格在任意两个时间点之间都可以有连续的变化。
与离散数据或非连续数据(如文本、分类标签、结构化数据)相比,连续数据通常更容易进行数学分析和建模。例如,可以使用回归分析来预测连续的输出值,或使用基于梯度的优化方法来优化连续数据的模型参数。
二、非连续的数据类型
非连续的数据类型指的是那些不具有连续性质、无法进行常规数学微分操作的数据。这类数据在值之间没有清晰的、连续的变化,因此不适合使用传统的基于梯度的优化技术。在实际应用中,非连续数据类型通常是离散的、分类的或结构化的数据。
以下是一些非连续数据类型的例子:
-
SMILES表示:SMILES是化学分子的简化表示,它通过特定的字符序列来描述分子的结构。例如,水的SMILES表示为"H2O",乙醇的表示为"CCO"。这种表示是离散的和非连续的,因为对字符序列的任何小改动都可能导致完全不同的化学结构。
-
多肽序列表示:多肽是由氨基酸组成的链,其序列表示描述了氨基酸的排列顺序。例如,“AGH”可能表示一个包含三个氨基酸的多肽。这种表示同样是离散和非连续的。
-
文字和句子:在自然语言处理中,文本数据(如单词、句子或段落)通常被看作是离散的,因为单词和字符是独立且非连续的实体。
-
分类标签:在机器学习任务中,分类标签是离散的。例如,一个分类任务可能有三个标签:猫、狗和鱼。这些标签是非连续的。
-
图数据:图是由节点和边组成的结构化数据,用于描述实体之间的关系。图的结构是离散的,不能直接微分。
由于非连续数据类型的特性,传统的基于梯度的优化方法(如梯度下降)不适用。因此,研究人员通常需要使用特定的、为这类数据设计的优化技术,如零阶优化算法。零阶优化不依赖于数据的微分信息,因此可以适用于非连续数据类型。